File deepin-system-monitor.spec of Package deepin-system-monitor
#
# spec file for package deepin-system-monitor
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%if 0%{?is_opensuse}
%define distribution openSUSE-Edition
%else
%define distribution SUSE-Edition
%endif
%define procps_version %(rpm -q --queryformat '%%{VERSION}' procps-devel)
# %define commit 78d9ea12147f0017679a90f3beae799d211f45d2
# %define shortcommit 78d9ea1
Name: deepin-system-monitor
Version: 6.5.14
Release: 0
Summary: A user-friendly system monitor
License: GPL-3.0-or-later
Group: System/GUI/Other
URL: https://github.com/linuxdeepin/deepin-system-monitor
Source0: https://github.com/linuxdeepin/deepin-system-monitor/archive/%{version}/%{name}-%{version}.tar.gz
# Source0: https://github.com/linuxdeepin/deepin-system-monitor/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
Source1: %{name}.appdata.xml
Source2: %{name}.svg
# PATCH-FIX-UPSTREAN fix-return-type-errors.patch hillwood@opensuse.org
Patch0: fix-return-type-errors.patch
# PATCH-FIX-UPSTREAN fix-libdir.patch hillwood@opensuse.org - Do not hardcode libdir
Patch1: fix-libdir.patch
Patch2: 002-support-gcc-14.patch
%ifarch ppc ppc64 ppc64le s390 s390x
BuildRequires: deepin-desktop-base
%else
BuildRequires: deepin-manual
%endif
BuildRequires: deepin-dock-devel > 6.0.37
BuildRequires: appstream-glib
BuildRequires: deepin-daemon
BuildRequires: deepin-gettext-tools
BuildRequires: desktop-file-utils
BuildRequires: dtkcore
BuildRequires: fdupes
BuildRequires: gmock
BuildRequires: gtest
BuildRequires: hicolor-icon-theme
BuildRequires: libcap-devel
BuildRequires: libpcap-devel
BuildRequires: qt6-tools-linguist
BuildRequires: ncurses-devel
BuildRequires: procps-devel
BuildRequires: update-desktop-files
BuildRequires: cmake(KWayland)
BuildRequires: cmake(Qt6LinguistTools)
BuildRequires: pkgconfig(Qt6Concurrent)
BuildRequires: pkgconfig(Qt6DBus)
BuildRequires: pkgconfig(Qt6Gui)
BuildRequires: pkgconfig(Qt6Multimedia)
BuildRequires: pkgconfig(Qt6Network)
BuildRequires: pkgconfig(Qt6Svg)
BuildRequires: pkgconfig(Qt6Widgets)
BuildRequires: pkgconfig(Qt6Xml)
BuildRequires: pkgconfig(dde-dock)
BuildRequires: pkgconfig(dtk6core)
BuildRequires: pkgconfig(dtk6gui)
BuildRequires: pkgconfig(dtk6widget) >= 5.0.0
BuildRequires: pkgconfig(gsettings-qt)
BuildRequires: pkgconfig(icu-i18n)
BuildRequires: pkgconfig(libnl-3.0)
BuildRequires: pkgconfig(libnl-route-3.0)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(polkit-qt6-1)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xcb-icccm)
BuildRequires: pkgconfig(xcb-util)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xtst)
%if 0%{?suse_version} < 1600
BuildRequires: -rpmlint-mini
BuildRequires: -rpmlint-Factory
%endif
Requires: /usr/bin/pkexec
Requires: hicolor-icon-theme
Requires: deepin-integration-qt6
Recommends: %{name}-lang
%description
deepin-system-monitor is a simple process and system monitor for the Deepin
Desktop.
%lang_package
%prep
%autosetup -p1 -n %{name}-%{version}
sed -i "s|share/dde-dock|/dde-dock|" deepin-system-monitor-plugin/CMakeLists.txt
%if 0%{?suse_version} > 1500
sed -i "s|KF5/KWayland|KF5/KWayland/KWayland|" deepin-system-monitor-main/gui/xwin_kill_preview_widget.h
%endif
%build
%cmake -DVERSION=%{version}-%{distribution} \
-DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir}
%cmake_build
%install
%cmake_install
install -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml
install -Dm644 %{SOURCE2} %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%find_lang %{name} --with-qt
# %find_lang %{name}-daemon --with-qt
%find_lang %{name}-plugin --with-qt
%find_lang %{name}-plugin-popup --with-qt
%suse_update_desktop_file -r %{name} QT System Monitor
%fdupes %{buildroot}%{_datadir}
%pre
%service_add_pre %{name}-system-server.service
%post
%service_add_post %{name}-system-server.service
%preun
%service_del_preun %{name}-system-server.service
%postun
%service_del_postun %{name}-system-server.service
%files
%license LICENSE
%doc README.md README.zh_CN.md CHANGELOG.md
%{_bindir}/%{name}
%{_bindir}/%{name}-*
%{_prefix}/lib/deepin-daemon/deepin-system-monitor-system-server
%dir %{_libdir}/dde-dock
%dir %{_libdir}/dde-dock/plugins
%{_libdir}/deepin-service-manager
%{_libdir}/dde-dock/plugins/lib%{name}-plugin.so
# %config %{_sysconfdir}/xdg/autostart/%{name}-daemon.desktop
%{_datadir}/deepin-service-manager
%{_datadir}/appdata/%{name}.appdata.xml
%{_datadir}/applications/%{name}.desktop
%dir %{_datadir}/polkit-1
%dir %{_datadir}/polkit-1/actions
%{_datadir}/polkit-1/actions/com.deepin.pkexec.%{name}.policy
%{_datadir}/deepin-manual/manual-assets/application/%{name}
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_datadir}/glib-2.0/schemas/com.deepin.*.xml
%{_datadir}/dbus-1/services/com.deepin.*.service
%dir %{_datadir}/dsg
%dir %{_datadir}/dsg/configs
%{_datadir}/dsg/configs/org.deepin.system-monitor
%{_unitdir}/%{name}-system-server.service
%{_datadir}/dbus-1/system-services/org.deepin.SystemMonitorSystemServer.service
%{_datadir}/dbus-1/system.d/org.deepin.SystemMonitorSystemServer.conf
%dir %{_datadir}/deepin-log-viewer
%dir %{_datadir}/deepin-log-viewer/deepin-log.conf.d
%{_datadir}/deepin-log-viewer/deepin-log.conf.d/org.deepin.system-monitor.json
%{_datadir}/polkit-1/actions/org.deepin.deepin-system-monitor-system-server.policy
%dir %{_datadir}/dde-dock
%dir %{_datadir}/dde-dock/icons
%dir %{_datadir}/dde-dock/icons/dcc-setting
%{_datadir}/dde-dock/icons/dcc-setting/dcc-system-monitor.dci
%files lang -f %{name}.lang -f %{name}-plugin.lang -f %{name}-plugin-popup.lang
# RPM currently can not handle Asturian
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}-*
%dir %{_datadir}/%{name}/translations
%dir %{_datadir}/%{name}-*/translations
%{_datadir}/%{name}/translations/%{name}.qm
%lang(ast) %{_datadir}/%{name}/translations/%{name}_ast.qm
%changelog