%global _hardened_build 1 %define _cmake_skip_rpath %nil # exclude devel(libocsync) %global __requires_exclude ^(devel\\(libocsync.*)$ Name: nextcloud-client Version: 2.4.1 Release: %mkrel 1 Summary: The Nextcloud Client Group: Archiving/Backup # -libs are LGPLv2+, rest GPLv2 License: LGPLv2+ and GPLv2 Url: https://nextcloud.com/install/#install-clients Source0: https://github.com/nextcloud/client_theming/archive/client_theming-2.3.3.tar.gz Source1: https://download.owncloud.com/desktop/stable/owncloudclient-%{version}.tar.xz Source2: %{name}.appdata.xml Patch0: %{name}-2.4.0-syslibs.patch Patch1: %{name}-icon.patch BuildRequires: desktop-file-utils BuildRequires: doxygen BuildRequires: pkgconfig(neon) BuildRequires: pkgconfig(openssl) BuildRequires: python2dist(sphinx) BuildRequires: qtsingleapplication-qt5-devel BuildRequires: appstream-util BuildRequires: kf5-macros BuildRequires: cmake(KF5KIO) BuildRequires: cmake(Qt5Keychain) BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Gui) BuildRequires: pkgconfig(Qt5Network) BuildRequires: pkgconfig(Qt5Concurrent) BuildRequires: pkgconfig(Qt5WebKitWidgets) BuildRequires: pkgconfig(Qt5DBus) BuildRequires: pkgconfig(Qt5Help) BuildRequires: pkgconfig(Qt5Xml) Provides: owncloud-client = %version-%release Obsoletes: owncloud-client < 2.2.4-2 %description Nextcloud-client enables you to connect to your private Nextcloud Server. With it you can create folders in your home directory, and keep the contents of those folders synced with your Nextcloud server. Simply copy a file into the directory and the Nextcloud Client does the rest. %files %{_bindir}/nextcloud %{_bindir}/nextcloudcmd %{_datadir}/applications/nextcloud.desktop %dir %{_datadir}/nextcloud %{_datadir}/nextcloud/i18n/ %{_datadir}/icons/hicolor/*/apps/* %{_datadir}/appdata/%{name}.appdata.xml %dir %{_sysconfdir}/Nextcloud %{_sysconfdir}/Nextcloud/sync-exclude.lst #------------------------------------------------------------------------------ %package nautilus Summary: nextcloud client nautilus extension Requires: nautilus Requires: nautilus-python Requires: %{name} = %{version}-%{release} %description nautilus The nextcloud desktop client nautilus extension. %files nautilus %{_datadir}/nautilus-python/extensions/* #------------------------------------------------------------------------------ %package nemo Summary: Nemo overlay icons Requires: nemo Requires: nemo-python Requires: %{name} = %{version}-%{release} %description nemo This package provides overlay icons to visualize the sync state in the nemo file manager. %files nemo %{_datadir}/nemo-python/extensions/* %package caja Summary: Caja overlay icons Requires: caja Requires: python-caja Requires: %{name}%{?_isa} = %{version}-%{release} %description caja This package provides overlay icons to visualize the sync state in the caja file manager. %files caja %{_datadir}/caja-python/extensions/* #------------------------------------------------------------------------------ %package dolphin Summary: Dolphin overlay icons Requires: dolphin Requires: %{name} = %{version}-%{release} %description dolphin The nextcloud desktop client dolphin extension. %files dolphin %{_kf5_libdir}/libnextclouddolphinpluginhelper.so %{_kf5_plugindir}/overlayicon/nextclouddolphinoverlayplugin.so %{_qt5_plugindir}/nextclouddolphinactionplugin.so %{_kf5_services}/nextclouddolphinactionplugin.desktop #------------------------------------------------------------------------------ %define nextcloudsync_major 0 %define libnextcloudsync %mklibname nextcloudsync %nextcloudsync_major %package -n %libnextcloudsync Summary: The Nextcloud Client Libraries Group: System/Libraries # From owncloud-client Obsoletes: %{_lib}owncloudsync2 < 2.2.4-2 %description -n %libnextcloudsync The Nextcloud Client Libraries. %files -n %libnextcloudsync %{_libdir}/libnextcloudsync.so.%nextcloudsync_major %{_libdir}/libnextcloudsync.so.%version #------------------------------------------------------------------------------ %define libocsync_major 0 %define liblibocsync %mklibname ocsync %libocsync_major %package -n %liblibocsync Summary: The Nextcloud Client Libraries Group: System/Libraries Obsoletes: %{_lib}libocsync0 < 2.2.4-4 # From owncloud-client Obsoletes: %{_lib}ocsync2 < 2.2.4-2 %description -n %liblibocsync The Nextcloud Client Libraries. %files -n %liblibocsync %dir %_libdir/nextcloud %_libdir/nextcloud/libocsync.so.%{libocsync_major} %_libdir/nextcloud/libocsync.so.%{version} #------------------------------------------------------------------------------ %define develname %mklibname %{name} -d %package -n %{develname} Summary: Development files for nextcloud-client License: LGPLv2+ Requires: %libnextcloudsync = %{version}-%{release} Requires: %liblibocsync = %{version}-%{release} Provides: %{name}-static = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} Obsoletes: %{name}-devel < 2.2.4-4 # From owncloud-client Obsoletes: %{_lib}owncloud-client-devel < 2.2.4-2 %description -n %{develname} Development headers for use of the nextcloud-client library. %files -n %{develname} %{_libdir}/libnextcloudsync.so %{_includedir}/nextcloudsync/ %{_libdir}/libnextcloudsync.so %{_libdir}/nextcloud/libocsync.so #------------------------------------------------------------------------------ %prep %setup -q -n client_theming-2.3.3 %setup -q -T -D -a 1 -n client_theming-2.3.3 rm -Rf client mv owncloudclient-%{version} client pushd client %patch0 -p1 popd %patch1 -p1 rm -rf src/3rdparty/qtlockedfile src/3rdparty/qtsingleapplication %build %cmake_kf5 \ -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed" \ -DOEM_THEME_DIR=`pwd`/../nextcloudtheme ../client %make_build %install %make_install -C build %find_lang client --with-qt mkdir -p %{buildroot}%{_datadir}/appdata/ install -m 644 %{SOURCE2} %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml %check appstream-util validate-relax --nonet %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml