nextcloud-desktop/nextcloud-desktop.spec

252 lines
8.0 KiB
RPMSpec

#
# spec file for package nextcloud-desktop
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
%define soname libnextcloudsync
%define sover 0
Name: nextcloud-desktop
Version: 2.6.1
Release: 0
Summary: Desktop Syncing Client for Nextcloud
License: GPL-2.0
Group: Productivity/Networking/File-Sharing
Url: https://nextcloud.com/
Source0: https://github.com/nextcloud/desktop/archive/v%{version}/%{name}-%{version}.tar.gz
##Source1: sysctl-sync-inotify.conf
BuildRequires: cmake >= 2.8.0
BuildRequires: extra-cmake-modules
BuildRequires: gcc-c++
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: update-desktop-files
BuildRequires: pkgconfig
BuildRequires: python3-Sphinx
BuildRequires: python3-attrs
BuildRequires: python3-idna >= 2.5
#BuildRequires: python3-Sphinx-latex
BuildRequires: cmake(KF5Config)
BuildRequires: cmake(KF5CoreAddons)
BuildRequires: cmake(KF5KIO)
BuildRequires: cmake(Qt5Keychain) >= 0.9.1
BuildRequires: cmake(Qt5LinguistTools)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(cloudproviders)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(libxdot)
BuildRequires: pkgconfig(libzip)
BuildRequires: pkgconfig(openssl) >= 1.1.0
BuildRequires: pkgconfig(sqlite3)
# Upstream use Qt 5.12
BuildRequires: pkgconfig(Qt5Concurrent)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5WebEngineWidgets)
BuildRequires: pkgconfig(Qt5WebKitWidgets)
BuildRequires: pkgconfig(Qt5Xml)
BuildRequires: pkgconfig(zlib)
BuildConflicts: libressl-devel
Requires: %{soname}%{sover} = %{version}
Recommends: %{name}-lang
Provides: nextcloud-client = %{version}
Obsoletes: nextcloud-client < %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
The computer Nextcloud Desktop Client is a tool to synchronize files
from Nextcloud Server with your computer.
%lang_package
%package doc
Summary: Dcumentation for nextcloud-client
Group: Documentation/HTML
BuildArch: noarch
%description doc
The Nextcloud Desktop Client is a tool to synchronise files from
the Nextcloud Server with your computer.
This package contains the documentation.
%package extension-caja
Summary: Caja overlay icons
Group: Productivity/File utilities
Requires: %{name} = %{version}
Requires: caja
Requires: python-caja
Provides: caja-extension-nextcloud = %{version}
Obsoletes: caja-extension-nextcloud < %{version}
Supplements: packageand(%{name}:caja)
BuildArch: noarch
%description extension-caja
This package provides overlay icons to visualise the
synchronisation state in the Caja file manager.
%package extension-nautilus
Summary: Nautilus overlay icons
Group: Productivity/File utilities
Requires: %{name} = %{version}
Requires: nautilus
Requires: python3-nautilus
Provides: nautilus-extension-nextcloud = %{version}
Obsoletes: nautilus-extension-nextcloud < %{version}
Supplements: packageand(%{name}:nautilus)
BuildArch: noarch
%description extension-nautilus
This package provides overlay icons to visualise the
synchronisation state in the Nautilus file manager.
%package extension-nemo
Summary: Nemo overlay icons
Group: Productivity/File utilities
Requires: %{name} = %{version}
Requires: nemo
Requires: python-nemo
Provides: nemo-extension-nextcloud = %{version}
Obsoletes: nemo-extension-nextcloud < %{version}
Supplements: packageand(%{name}:nemo)
BuildArch: noarch
%description extension-nemo
This package provides overlay icons to visualise the
synchronisation state in the Nemo file manager.
%package extension-dolphin
Summary: Dolphin overlay icons
Group: Productivity/File utilities
Requires: %{name} = %{version}
Requires: dolphin
Provides: nextcloud-client-dolphin = %{version}
Obsoletes: nextcloud-client-dolphin < %{version}
Supplements: packageand(%{name}:dolphin)
%description extension-dolphin
This package provides the necessary plugin libraries for the
Dolphin filemanager to display overlay icons.
%package -n %{soname}%{sover}
Summary: The Nextcloud synchronisation library
Group: System/Libraries
Conflicts: %{soname}%{sover} < %{version}
%description -n %{soname}%{sover}
The Nextcloud Desktop Client synchronisation library.
%package -n %{soname}-devel
Summary: Development files for the Nextcloud synchronisation library
Group: Development/Libraries/C and C++
Requires: %{soname}%{sover} = %{version}
%description -n %{soname}-devel
Development files for the Nextcloud Desktop Client synchronisation
library.
%prep
%setup -q -n desktop-%{version}
##cp -a %%{SOURCE1} sysctl-sync-inotify.conf
%build
%cmake_kf5 -d build -- -DWITH_DOC=ON
%make_jobs
%install
%kf5_makeinstall -C build
# move documentation
mkdir -p %{buildroot}/%{_docdir}/%{name}/
mv -f %{buildroot}/%{_datadir}/doc/client/nextcloud-client/html/ \
%{buildroot}/%{_docdir}/%{name}/html/
rm -f %{buildroot}/%{_docdir}/%{name}/html/unthemed/.buildinfo
# A workaround for gh#owncloud/client#4107
# ecsos:
# Comment this out, because it seems to be a security risc.
# see: https://github.com/owncloud/client/issues/4107#issuecomment-240627858
# Is this relevant for nextcloud? Issue is from owncloud?
##install -Dpm 0644 sysctl-sync-inotify.conf \
## %%{buildroot}%%{_sysconfdir}/sysctl.d/100-%%{name}-sync-inotify.conf
%suse_update_desktop_file nextcloud
%fdupes %{buildroot}%{_datadir}/
%post -n %{soname}%{sover} -p /sbin/ldconfig
%postun -n %{soname}%{sover} -p /sbin/ldconfig
%files
%license COPYING COPYING.documentation
%doc README.md
%dir %{_sysconfdir}/Nextcloud/
%dir %{_libdir}/nextcloud/
%dir %{_datadir}/nextcloud/
%dir %{_datadir}/icons/hicolor/*/
%dir %{_datadir}/icons/hicolor/*/apps
%config(noreplace) %{_sysconfdir}/Nextcloud/*
%{_bindir}/nextcloud*
%{_datadir}/icons/hicolor/*/apps/*
%{_datadir}/applications/nextcloud.desktop
%dir %{_datadir}/cloud-providers/
%{_datadir}/cloud-providers/com.nextcloudgmbh.Nextcloud.ini
%{_datadir}/dbus-1/services/com.nextcloudgmbh.Nextcloud.service
%files lang
%{_datadir}/nextcloud/i18n/
%files doc
%doc %{_docdir}/%{name}/html/
%files extension-caja
%dir %{_datadir}/caja-python/
%dir %{_datadir}/caja-python/extensions/
%{_datadir}/caja-python/extensions/syncstate-Nextcloud.py*
%files extension-nautilus
%dir %{_datadir}/nautilus-python/
%dir %{_datadir}/nautilus-python/extensions/
%{_datadir}/nautilus-python/extensions/syncstate-Nextcloud.py*
%files extension-nemo
%dir %{_datadir}/nemo-python/
%dir %{_datadir}/nemo-python/extensions/
%{_datadir}/nemo-python/extensions/syncstate-Nextcloud.py*
%files extension-dolphin
%dir %{_libdir}/qt5/plugins/kf5/overlayicon/
%{_libdir}/libnextclouddolphinpluginhelper.so
%{_libdir}/qt5/plugins/nextclouddolphinactionplugin.so
%{_libdir}/qt5/plugins/kf5/overlayicon/nextclouddolphinoverlayplugin.so
%{_datadir}/kservices5/nextclouddolphinactionplugin.desktop
%files -n %{soname}%{sover}
%doc COPYING
%dir %{_libdir}/nextcloud/
%{_libdir}/%{soname}.so.*
%{_libdir}/nextcloud/libocsync.so.*
%files -n %{soname}-devel
%{_includedir}/nextcloudsync/
%{_libdir}/%{soname}.so
%{_libdir}/nextcloud/libocsync.so
%changelog