nextcloud-desktop/nextcloud-desktop.spec
Eric Schirra 02cff7e979 Accepting request 855770 from home:ecsos
- Update to 3.1.0
  - desktop#2221 Make QML code more declarative by using properties
  - desktop#2497 MacOS: Fix memory leak in FolderWatcherPrivate::startWatching
  - desktop#2500 Windows MSI: Update Docs & add SKIPAUTOUPDATE property
  - desktop#2512 Handle redirects when downloading updates
  - desktop#2514 Make it easier for user to provide debug information
  - desktop#2520 Handle ask for optional password capability
  - desktop#2521 Use friendly user agent during authentication
  - desktop#2527 Improve conflict handling gui
  - desktop#2530 Repair the Windows build
  - desktop#2531 Bring back the "Pause sync" action in the systray context menu
  - desktop#2534 Connection wizard improvements
  - desktop#2540 Add last / to exclude list file path.
  - desktop#2541 Don't use nullptr for QFlags
  - desktop#2542 Avoid string translation puzzle
  - desktop#2543 Update bookmarks location
  - desktop#2551 Fix share dialog animation for enforced password policy
  - desktop#2568 Fix crash when clicking on folder with status 403 in the main dialog.
  - desktop#2572 Avoid depth infinity propfind for e2ee
  - desktop#2575 Expose branding values to qtquick
  - desktop#2580 Delay initialization of SettingsDialog
  - desktop#2581 Ensure we quickly show/hide the systray window on startup
  - desktop#2582 Also output the event flags in the debug logs
  - desktop#2586 L10n: Add a space in generalsettings.ui
  - desktop#2587 Triple dot to ellipsis
  - desktop#2589 Misc fixes for Windows 7
  - desktop#2591 Remove last left over of the "remote" wording
  - desktop#2603 Get rid of FindQt5Keychain.cmake
  - desktop#2615 Fetch apps when we get connected only
  - desktop#2616 Move journaldb files back to sync folders
  - desktop#2620 Make sure the settings dialog exist before hiding it
  - desktop#2621 [documentation] upload chunks config
  - desktop#2630 Master is now 3.0.81
  - desktop#2647 Cherry pick updater fixes and improvements
  - desktop#2648 Issue a warning for Debian pipeline failures but don't fail the CI
  - desktop#2652 Handle the case when the release version differs from that in VERSION.cmake
  - desktop#2655 Use dynamic path for account online/offline state icon.
    Refresh GUI on connection state change.
  - desktop#2658 Enable the QML debugger on debug builds
  - desktop#2660 FolderWatcher: fixes and improvements
  - desktop#2662 Fix QML debugging by removing incorrect dependency
  - desktop#2663 Fix Windows compilation broken after QML debugging fix.
  - desktop#2665 Sparkle build fixes
  - desktop#2666 Notification action buttons and context menu
  - desktop#2667 Master is now 3.0.82.
  - desktop#2675 Fix AppImage build
  - desktop#2677 Fix macOS bug where tray window causes spaces to switch
  - desktop#2682 Add debug log to check which folders are being skipped during syncing.
  - desktop#2685 Fixed slow sharee search in the share dialog
  - desktop#2686 Added sharing via email.
  - desktop#2690 Update documentation on how to generate debug logs.
  - desktop#2696 Bump master version to 3.1.0
- Rebase nextcloud-desktop-fix-rpath.patch.

OBS-URL: https://build.opensuse.org/request/show/855770
OBS-URL: https://build.opensuse.org/package/show/network/nextcloud-desktop?expand=0&rev=28
2020-12-14 14:44:42 +00:00

284 lines
9.2 KiB
RPMSpec

#
# spec file for package nextcloud-desktop
#
# Copyright (c) 2020 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/
#
%define soname libnextcloudsync
%define sover 0
Name: nextcloud-desktop
Version: 3.1.0
Release: 0
Summary: Nextcloud desktop synchronisation client
License: GPL-2.0-or-later AND LGPL-3.0-or-later
Group: Productivity/Networking/File-Sharing
URL: https://nextcloud.com/
Source: https://github.com/nextcloud/desktop/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: sysctl-sync-inotify.conf
# PATCH-FIX-OPENSUSE nextcloud-desktop-fix-rpath.patch sor.alexei@meowr.ru -- Fix RPATH.
Patch0: nextcloud-desktop-fix-rpath.patch
# PATCH-FIX-OPENSUSE nextcloud-desktop-remove-datetime.patch sor.alexei@meowr.ru -- Remove __TIME__ and __DATE__.
Patch1: nextcloud-desktop-remove-datetime.patch
BuildRequires: AppStream
BuildRequires: cmake >= 3.2
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: glibc-devel
BuildRequires: gobject-introspection-devel
BuildRequires: hicolor-icon-theme
BuildRequires: libQt5Gui-private-headers-devel
BuildRequires: libqt5-linguist-devel
BuildRequires: pkgconfig
BuildRequires: qtkeychain-qt5-devel
BuildRequires: update-desktop-files
BuildRequires: cmake(Qt5Keychain)
BuildRequires: pkgconfig(Qt5Concurrent)
BuildRequires: pkgconfig(Qt5Core) >= 5.12
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5PrintSupport)
BuildRequires: pkgconfig(Qt5QuickControls2)
BuildRequires: pkgconfig(Qt5Sql)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5WebEngineWidgets)
BuildRequires: pkgconfig(Qt5WebKitWidgets)
BuildRequires: pkgconfig(Qt5Xml)
BuildRequires: pkgconfig(cloudproviders)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(openssl) >= 1.1
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(zlib)
Requires: %{soname}%{sover} = %{version}
Requires: libqt5-qtgraphicaleffects
Requires: libqt5-qtquickcontrols2
Provides: nextcloud-client = %{version}
Obsoletes: nextcloud-client < %{version}
Provides: nextcloud-client-lang = %{version}
Obsoletes: nextcloud-client-lang < %{version}
%if 0%{?is_opensuse}
BuildRequires: doxygen
BuildRequires: kio-devel
BuildRequires: python3-Sphinx
Suggests: %{name}-doc = %{version}
%endif
%description
The Nextcloud Desktop Client is a tool to synchronise files from
the Nextcloud Server with your computer.
Nextcloud Desktop enables you to connect to your private
Nextcloud Server. With it you can create directories in your home
directory, and keep the contents of those directories synced with
the server. Simply copy a file into the directory and the desktop
synchronisation client does the rest.
%lang_package
%if 0%{?is_opensuse}
%package doc
Summary: Documentation for nextcloud-desktop
Group: Productivity/Networking/File-Sharing
Provides: nextcloud-client-doc = %{version}
Obsoletes: nextcloud-client-doc < %{version}
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.
%endif
%package -n %{soname}%{sover}
Summary: The Nextcloud synchronisation library
Group: Productivity/Networking/File-Sharing
%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.
%package -n nautilus-extension-nextcloud
Summary: Nautilus overlay icons
Group: Productivity/Networking/File-Sharing
Requires: %{name} = %{version}
Requires: nautilus
Requires: python3-nautilus
Supplements: (%{name} and nautilus)
BuildArch: noarch
%description -n nautilus-extension-nextcloud
This package provides overlay icons to visualise the
synchronisation state in the Nautilus file manager.
%if 0%{?is_opensuse}
%package -n caja-extension-nextcloud
Summary: Caja overlay icons
Group: Productivity/Networking/File-Sharing
Requires: %{name} = %{version}
Requires: caja
Requires: python-caja
Supplements: (%{name} and caja)
BuildArch: noarch
%description -n caja-extension-nextcloud
This package provides overlay icons to visualise the
synchronisation state in the Caja file manager.
%package -n nemo-extension-nextcloud
Summary: Nemo overlay icons
Group: Productivity/Networking/File-Sharing
Requires: %{name} = %{version}
Requires: nemo
Requires: python-nemo
Supplements: (%{name} and nemo)
BuildArch: noarch
%description -n nemo-extension-nextcloud
This package provides overlay icons to visualise the
synchronisation state in the Nemo file manager.
%package -n %{name}-dolphin
Summary: Dolphin overlay icons
Group: Productivity/Networking/File-Sharing
Requires: %{name} = %{version}
Requires: dolphin
Supplements: (%{name} and dolphin)
%description -n %{name}-dolphin
This package provides the necessary plugin libraries for the
Dolphin filemanager to display overlay icons.
%endif
%prep
%setup -q -n desktop-%{version}
%patch0 -p1
%patch1 -p1
cp -a %{SOURCE1} sysctl-sync-inotify.conf
%build
%cmake \
%if 0%{?is_opensuse}
-DWITH_DOC=ON \
%endif
-DCMAKE_SKIP_RPATH=OFF
%cmake_build
%install
%cmake_install
%if 0%{?is_opensuse}
mkdir -p %{buildroot}%{_docdir}/%{name}-doc/
mv -f %{buildroot}%{_datadir}/doc/client/nextcloud-client/html/ \
%{buildroot}%{_docdir}/%{name}-doc/html/
%else
# There's no Caja and Nemo in SLE.
rm -r %{buildroot}%{_datadir}/caja-python/
rm -r %{buildroot}%{_datadir}/nemo-python/
%endif
# Generate bytecode for extensions.
for fm in caja nautilus nemo; do
if [ -d %{buildroot}%{_datadir}/$fm-python/ ]; then
%py3_compile %{buildroot}%{_datadir}/$fm-python/extensions/
fi
done
# ecsos: Comment this out, because it seems to be a security risk.
# See: https://github.com/owncloud/client/issues/4107#issuecomment-240627858
# A workaround for gh#owncloud/client#4107
#install -Dpm 0644 sysctl-sync-inotify.conf \
# %%{buildroot}%%{_sysconfdir}/sysctl.d/99-%%{name}-sync-inotify.conf
%suse_update_desktop_file com.nextcloud.desktopclient.nextcloud
%fdupes %{buildroot}%{_datadir}/
%post -n %{soname}%{sover} -p /sbin/ldconfig
%postun -n %{soname}%{sover} -p /sbin/ldconfig
%files
%license COPYING*
%config %{_sysconfdir}/Nextcloud/
#%%config %%{_sysconfdir}/sysctl.d/99-%%{name}-sync-inotify.conf
%{_bindir}/nextcloud*
%dir %{_datadir}/nextcloud/
%{_datadir}/applications/com.nextcloud.desktopclient.nextcloud.desktop
%dir %{_datadir}/icons/hicolor/1024x1024/
%dir %{_datadir}/icons/hicolor/1024x1024/apps/
%{_datadir}/icons/hicolor/*/apps/Nextcloud*.*
%dir %{_datadir}/cloud-providers/
%{_datadir}/cloud-providers/com.nextcloudgmbh.Nextcloud.ini
%{_datadir}/dbus-1/services/com.nextcloudgmbh.Nextcloud.service
%files lang
%{_datadir}/nextcloud/i18n/
%if 0%{?is_opensuse}
%files doc
%doc %{_docdir}/%{name}-doc/
%endif
%files -n %{soname}%{sover}
%license COPYING*
%{_libdir}/%{soname}.so.*
%dir %{_libdir}/nextcloud/
%{_libdir}/nextcloud/libocsync.so.*
%files -n %{soname}-devel
%{_includedir}/nextcloudsync/
%{_libdir}/%{soname}.so
%{_libdir}/nextcloud/libocsync.so
%files -n nautilus-extension-nextcloud
%dir %{_datadir}/nautilus-python/
%dir %{_datadir}/nautilus-python/extensions/
%dir %{_datadir}/nautilus-python/extensions/__pycache__
%{_datadir}/nautilus-python/extensions/syncstate-Nextcloud.py*
%{_datadir}/nautilus-python/extensions/__pycache__/syncstate-Nextcloud*
%if 0%{?is_opensuse}
%files -n caja-extension-nextcloud
%dir %{_datadir}/caja-python/
%dir %{_datadir}/caja-python/extensions/
%dir %{_datadir}/caja-python/extensions/__pycache__
%{_datadir}/caja-python/extensions/syncstate-Nextcloud.py*
%{_datadir}/caja-python/extensions/__pycache__/*
%files -n nemo-extension-nextcloud
%dir %{_datadir}/nemo-python/
%dir %{_datadir}/nemo-python/extensions/
%dir %{_datadir}/nemo-python/extensions/__pycache__
%{_datadir}/nemo-python/extensions/syncstate-Nextcloud.py*
%{_datadir}/nemo-python/extensions/__pycache__/*
%files dolphin
%{_libdir}/libnextclouddolphinpluginhelper.so
%{_libdir}/qt5/plugins/nextclouddolphinactionplugin.so
%dir %{_libdir}/qt5/plugins/kf5/overlayicon/
%{_libdir}/qt5/plugins/kf5/overlayicon/nextclouddolphinoverlayplugin.so
%{_datadir}/kservices5/nextclouddolphinactionplugin.desktop
%endif
%changelog