You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nextcloud-client/nextcloud-client.spec

247 lines
7.5 KiB

%undefine __cmake_in_source_build
%undefine _cmake_skip_rpath
8 years ago
Name: nextcloud-client
3 years ago
Version: 3.3.6
Release: %autorelease
8 years ago
Summary: The Nextcloud Client
# -libs are LGPLv2+, rest GPLv2
License: LGPLv2+ and GPLv2
Url: https://nextcloud.com/install/#install-clients
5 years ago
Source0: https://github.com/nextcloud/desktop/archive/v%{version}/desktop-%{version}.tar.gz
6 years ago
Source1: nextcloud.appdata.xml
# The patch does 3 things:
# - Depends on system lib for QtSingleApplication and QtLockedFile
# - Remove the extraneous namespace when calling QtSingleApplication
# - Fix a mismatch in the QtSingleApplication::messageReceived signal and the
# Application::slotParseMessage slot
# These fix are needed because the system wide QtSingleApplication is slightly
# different from the bundled one.
6 years ago
#Patch0: %%{name}-%%{version}-syslibs.patch
3 years ago
# Patch0: fixes GNOME quirks on Wayland sessions. Read
# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/3BVLBS4B3XHJEXFVGD7RK2ZMXZG6JQZT/
3 years ago
Patch2: xcb_%{version}.patch
5 years ago
8 years ago
BuildRequires: check
BuildRequires: chrpath
8 years ago
BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: doxygen
6 years ago
BuildRequires: pkgconfig(gio-2.0)
4 years ago
BuildRequires: inotify-tools-devel
BuildRequires: libcloudproviders-devel
8 years ago
BuildRequires: libappstream-glib
BuildRequires: neon-devel
BuildRequires: openssl-devel
BuildRequires: pkgconfig(dbus-1)
BuildRequires: python3-sphinx
8 years ago
BuildRequires: qtlockedfile-qt5-devel
4 years ago
BuildRequires: qtkeychain-qt5-devel
8 years ago
BuildRequires: qtsingleapplication-qt5-devel
BuildRequires: qt5-qtbase
BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtbase-private-devel
8 years ago
BuildRequires: qt5-qtbase-gui
BuildRequires: qt5-qtwebkit-devel
BuildRequires: qt5-qtxmlpatterns-devel
BuildRequires: qt5-qttools
BuildRequires: qt5-qttools-devel
BuildRequires: qt5-qtquickcontrols2-devel
6 years ago
BuildRequires: qt5-qtwebengine-devel
4 years ago
BuildRequires: qt5-qtwebsockets-devel
6 years ago
BuildRequires: qt5-qtsvg-devel
8 years ago
BuildRequires: extra-cmake-modules
3 years ago
BuildRequires: inkscape
# Plasma 5 Dolphin integration
%if 0%{?fedora} >= 24 || 0%{?rhel} > 7
8 years ago
BuildRequires: kf5-kio-devel
BuildRequires: kf5-kcoreaddons-devel
BuildRequires: kf5-rpm-macros
%endif
8 years ago
BuildRequires: sqlite-devel
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%if 0%{?fedora} && 0%{?fedora} < 33
# concerning libgnome-keyring read https://bugzilla.redhat.com/show_bug.cgi?id=1652973
Requires: libgnome-keyring
4 years ago
%endif
8 years ago
Provides: mirall = %{version}-%{release}
Obsoletes: mirall < 1.8.0
# Read https://bugzilla.redhat.com/show_bug.cgi?id=1651261
ExcludeArch: ppc64 ppc64le s390x
8 years ago
%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.
%package libs
Summary: Common files for nextcloud-client
License: LGPLv2+
Provides: mirall-common = %{version}-%{release}
Obsoletes: mirall-common < 1.8.0
Requires: %{name}%{?_isa} = %{version}-%{release}
%description libs
Provides common files for nextcloud-client such as the
configuration file that determines the excluded files in a sync.
%package devel
Summary: Development files for nextcloud-client
License: LGPLv2+
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: %{name}-static = %{version}-%{release}
Provides: mirall-devel = %{version}-%{release}
Obsoletes: mirall-devel < 1.8.0
%description devel
Development headers for use of the nextcloud-client library
%package nautilus
Summary: nextcloud client nautilus extension
Requires: nautilus
Requires: nautilus-python
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: mirall-nautilus = %{version}-%{release}
Obsoletes: mirall-nautilus < 1.8.0
%description nautilus
The nextcloud desktop client nautilus extension.
%if 0%{?fedora}
# Only Fedora has Cinnamon, so there is no need for Nemo extension on EPEL
8 years ago
%package nemo
Summary: Nemo overlay icons
Requires: nemo
Requires: nemo-python
Requires: %{name}%{?_isa} = %{version}-%{release}
%description nemo
This package provides overlay icons to visualize the sync state
in the nemo file manager.
# Only Fedora has Mate, so there is no need for Caja extension on EPEL
%package caja
Summary: Caja overlay icons
Requires: caja
5 years ago
Requires: python3-caja
Requires: %{name}%{?_isa} = %{version}-%{release}
%description caja
This package provides overlay icons to visualize the sync state
in the caja file manager.
%endif
%if 0%{?fedora} || 0%{?rhel} > 7
8 years ago
%package dolphin
Summary: Dolphin overlay icons
Requires: dolphin
Requires: %{name}%{?_isa} = %{version}-%{release}
%description dolphin
The nextcloud desktop client dolphin extension.
%endif
%prep
%setup -q -n desktop-%{version}
3 years ago
%patch2 -p1
# change compiler flag
sed -i 's/-fPIE/-fPIC/g' src/gui/CMakeLists.txt
sed -i 's/-fPIE/-fPIC/g' src/cmd/CMakeLists.txt
8 years ago
%build
%cmake_kf5 \
4 years ago
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed" \
-DNO_SHIBBOLETH=1
%cmake_build
8 years ago
%install
%cmake_install
8 years ago
%find_lang client --with-qt
mkdir -p %{buildroot}%{_datadir}/appdata/
6 years ago
install -m 644 %{SOURCE1} %{buildroot}%{_datadir}/appdata/nextcloud.appdata.xml
8 years ago
7 years ago
# for distros that do not have KDE Plasma 5
%if 0%{?fedora} < 24 && 0%{?rhel} <= 7
rm -f %{buildroot}%{_libdir}/libnextclouddolphinpluginhelper.so
rm -f %{buildroot}%{_kf5_plugindir}/overlayicon/nextclouddolphinoverlayplugin.so
rm -f %{buildroot}%{_qt5_plugindir}/nextclouddolphinactionplugin.so
rm -f %{buildroot}%{_kf5_datadir}/kservices5/nextclouddolphinactionplugin.desktop
%endif
8 years ago
6 years ago
%if 0%{?rhel}
# Only Fedora has Cinnamon, so there is no need for Nemo extension on EPEL
rm -rf %{buildroot}%{_datadir}/nemo-python/
# Only Fedora has Mate, so there is no need for Caja extension on EPEL
7 years ago
rm -rf %{buildroot}%{_datadir}/caja-python/
%endif
6 years ago
8 years ago
%check
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/appdata/nextcloud.appdata.xml
8 years ago
%ldconfig_scriptlets libs
8 years ago
%if 0%{?fedora} >= 24 || 0%{?rhel} > 7
%ldconfig_scriptlets dolphin
8 years ago
%endif
%files -f client.lang
%{_bindir}/nextcloud
%{_bindir}/nextcloudcmd
3 years ago
%{_datadir}/mime/packages/nextcloud.xml
4 years ago
%{_datadir}/applications/com.nextcloud.desktopclient.nextcloud.desktop
8 years ago
%{_datadir}/icons/hicolor/*/apps/*
%{_datadir}/appdata/nextcloud.appdata.xml
%{_datadir}/cloud-providers/com.nextcloudgmbh.Nextcloud.ini
%{_datadir}/dbus-1/services/com.nextcloudgmbh.Nextcloud.service
8 years ago
%files libs
%{_libdir}/libnextcloudsync.so.0
%{_libdir}/libnextcloudsync.so.%%{version}
3 years ago
%{_libdir}/libnextcloud_csync.so*
8 years ago
%doc README.md
%config %{_sysconfdir}/Nextcloud/sync-exclude.lst
%dir %{_sysconfdir}/Nextcloud
%files devel
%{_includedir}/nextcloudsync/
%{_libdir}/libnextcloudsync.so
3 years ago
%{_libdir}/nextcloudsync_vfs_suffix.so
%{_libdir}/nextcloudsync_vfs_xattr.so
8 years ago
%files nautilus
%{_datadir}/nautilus-python/extensions/*
%if 0%{?fedora}
# Only Fedora has Cinnamon, so there is no need for Nemo extension on EPEL
8 years ago
%files nemo
%{_datadir}/nemo-python/extensions/*
# Only Fedora has Mate, so there is no need for Caja extension on EPEL
%files caja
%{_datadir}/caja-python/extensions/*
%endif
%if 0%{?fedora} || 0%{?rhel} > 7
8 years ago
%files dolphin
%{_libdir}/libnextclouddolphinpluginhelper.so
%{_kf5_plugindir}/overlayicon/nextclouddolphinoverlayplugin.so
%{_qt5_plugindir}/nextclouddolphinactionplugin.so
%{_kf5_datadir}/kservices5/nextclouddolphinactionplugin.desktop
%endif
%changelog
%autochangelog