Blob Blame History Raw
%global repo dde-control-center

%if 0%{?fedora}
%global dde_prefix deepin
Name:           deepin-control-center
%else
%global dde_prefix dde
Name:           %{repo}
%endif
Version:        5.4.70
Release:        %autorelease
Summary:        New control center for Linux Deepin
License:        GPLv3
URL:            https://github.com/linuxdeepin/%{repo}
Source0:        %{url}/archive/%{version}/%{repo}-%{version}.tar.gz

Patch0:      https://raw.githubusercontent.com/archlinux/svntogit-community/packages/deepin-control-center/trunk/deepin-control-center-systeminfo-deepin-icon.patch

Patch1:      https://raw.githubusercontent.com/archlinux/svntogit-community/packages/deepin-control-center/trunk/deepin-control-center-no-user-experience.patch

Patch2:      https://github.com/linuxdeepin/dde-control-center/pull/387.patch

BuildRequires:  gcc-c++
BuildRequires:  desktop-file-utils
BuildRequires:  %{dde_prefix}-dock-devel
BuildRequires:  pkgconfig(dde-network-utils)
BuildRequires:  dtkwidget-devel
BuildRequires:  dtkgui-devel
BuildRequires:  dtkcore-devel
BuildRequires:  %{dde_prefix}-qt-dbus-factory-devel
BuildRequires:  deepin-pw-check-devel
BuildRequires:  pkgconfig(gsettings-qt)
BuildRequires:  pkgconfig(geoip)
BuildRequires:  pkgconfig(libnm)
BuildRequires:  libpwquality-devel
BuildRequires:  pkgconfig(Qt5Core)
BuildRequires:  pkgconfig(Qt5Concurrent)
BuildRequires:  pkgconfig(Qt5DBus)
BuildRequires:  pkgconfig(Qt5Multimedia)
BuildRequires:  pkgconfig(Qt5Svg)
BuildRequires:  pkgconfig(Qt5Sql)
BuildRequires:  pkgconfig(Qt5Xml)
BuildRequires:  pkgconfig(Qt5X11Extras)
BuildRequires:  cmake(PolkitQt5-1)
BuildRequires:  qt5-qtbase-private-devel
BuildRequires:  pkgconfig(xcb-ewmh)
BuildRequires:  pkgconfig(xext)
BuildRequires:  kf5-networkmanager-qt-devel
BuildRequires:  udisks2-qt5-devel
BuildRequires:  gtest-devel
BuildRequires:  qt5-linguist
BuildRequires:  cmake
BuildRequires:  make
Requires:       %{dde_prefix}-account-faces
Requires:       %{dde_prefix}-api
Requires:       %{dde_prefix}-daemon
Requires:       %{dde_prefix}-qt5integration
Requires:       %{dde_prefix}-network-utils
Requires:       startdde

%description
New control center for Linux Deepin.

%package devel
Summary:        Development package for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description devel
Header files and libraries for %{name}.

%prep
%setup -q -n %{repo}-%{version}
# sync with Arch
rm src/frame/window/icons/icons/dcc_nav_systeminfo_{42,84}px.svg

%patch0 -p1
%patch1 -p1
%patch2 -p1

sed -i -E '/add_compile_definitions/d' CMakeLists.txt

sed -i '/%{repo}/ s|/usr/lib|%{_libdir}|' src/frame/modules/update/updatework.cpp \
                                          src/frame/window/mainwindow.cpp \
                                          com.deepin.controlcenter.develop.policy \
                                          README.md

sed -i '/TARGETS/s|lib|%{_lib}|' src/frame/CMakeLists.txt

# remove after -DDISABLE_SYS_UPDATE=YES working properly
sed -i '/new UpdateModule/d' src/frame/window/mainwindow.cpp

# SystemInfo frame segfaults on Fedora
sed -i '/new SystemInfoModule/d' src/frame/window/mainwindow.cpp

sed -i '/#include <QPointer>/i #include <QDBusMetaType>' src/frame/window/modules/network/connectioneditpage.h

%build
export PATH=%{_qt5_bindir}:$PATH
%cmake -DDCC_DISABLE_GRUB=YES \
       -DDISABLE_SYS_UPDATE=YES -DDISABLE_RECOVERY=YES \
       -DCMAKE_INSTALL_LIBDIR=%{_libdir}
%cmake_build

%install
%cmake_install
# place holder plugins dir
mkdir -p %{buildroot}%{_libdir}/%{repo}/plugins

%check
desktop-file-validate %{buildroot}%{_datadir}/applications/%{repo}.desktop

%files
%doc README.md
%license LICENSE
%{_bindir}/%{repo}-wapper
%{_bindir}/%{repo}
%{_libdir}/%{repo}
%{_libdir}/libdccwidgets.so
%{_datadir}/applications/%{repo}.desktop
%{_datadir}/dbus-1/services/*.service
%{_datadir}/polkit-1/actions/com.deepin.*.policy
%{_datadir}/%{repo}/
%{_datadir}/dict/MainEnglishDictionary_ProbWL.txt
%{_datadir}/glib-2.0/schemas/*

%files devel
%{_includedir}/%{repo}
%{_libdir}/cmake/DdeControlCenter/

%changelog
%autochangelog