nextcloud-desktop/nextcloud-desktop.spec
Eric Schirra 8c9b5d15e4 Accepting request 974640 from home:ecsos
- Update to 3.5.0
  - desktop#3714 Require cmake 3.16
  - desktop#4135 Add testing for ActivityListModel
  - desktop#4154 Check for dbus-1 when building with cloudproviders
  - desktop#4162 Add ability to copy internal link from share dialog
  - desktop#4186 Feature/improve activity buttons
  - desktop#4189 Add thumbnails for files in the activity view
  - desktop#4191 Use proper API to dehydrate a placeholder file
  - desktop#4200 Feature/Talk Reply v1
  - desktop#4205 Ensure we emit a rename command for renamed files
  - desktop#4212 Remove Hirsute, add Jammy
  - desktop#4216 Allow account menu to scroll when content height is larger than menu height
  - desktop#4217 Always build with updater. Use 'beta/stable' channel selector in 'General Settins' dialog with default 'stable'.
  - desktop#4218 Cmake option to disable proxy
  - desktop#4237 Add support for server color theming
  - desktop#4247 No longer assume status bar height, calculate, fixing notch borking on new MacBook Pro
  - desktop#4251 Add a dark mode
  - desktop#4252 Generates pot files automatically.
  - desktop#4257 Add headers in cmake files to get them properly detected
  - desktop#4263 Ensure that bulk upload network job errors are handled
  - desktop#4268 Do not remove a folder that has files that were not uploaded yet during propagation
  - desktop#4272 L10n: Change to lowercase
  - desktop#4279 Simplify currentScreen in systray.cpp
  - desktop#4283 Fix warn colour in dark mode
  - desktop#4292 Do not remove files from a Group folder and its nested folders when it is renamed or removed while not allowed.
  - desktop#4303 Rollback local move on server move failure
  - desktop#4316 Implement local socket to communicate with finder extension
  - desktop#4319 Bugfix/prevent overflow with mtime
  - desktop#4320 L10n: Changed spelling
  - desktop#4322 Add 'Help' action back.
  - desktop#4326 Ensure file activity dialog appears in centre of screen
  - desktop#4329 Increase maximum text line count in tray activity items to two lines
  - desktop#4334 Fix file activity dialog
  - desktop#4340 Properly ask Qt to create qml opengl surface with proper options
  - desktop#4351 Old submodule url does not work anylonger
  - desktop#4359 Old submodule url does not work anylonger
  - desktop#4360 Prepare for 3.5.0-rc1
  - desktop#4363 Fix icon color and highlight color issues
  - desktop#4364 Fix for VFS crashes due to mimetype checking for thumbnails
  - desktop#4371 Fix various dark mode bugs
  - desktop#4372 Add a new yml github issue template for bug reports.
  - desktop#4379 Ensure we only store update channel not localized in settings
  - desktop#4385 Improve talk reply
  - desktop#4392 Prepare for 3.5.0-rc2
  - desktop#4393 Bugfix/talk reply part 2
  - desktop#4398 Darkmode. Fix crash on exit.
  - desktop#4399 Avoid deleting renamed file with spaces in name
  - desktop#4403 More dark mode fixes
  - desktop#4408 Ensure we do properly failed hydration jobs
  - desktop#4414 Fix build of appimage for branded clients
  - desktop#4418 Prepare for 3.5.0-rc3
  - desktop#4420 Feature/files lock
  - desktop#4426 Add call notification dialog.
  - desktop#4428 Fix thumbnails for new files made while client open
  - desktop#4430 Increase time between connection tries
  - desktop#4437 Improve contrast on server color themed elements
  - desktop#4438 Fix positioning of activities in the activities list
  - desktop#4441 Bugfix/activities fetch server overload
  - desktop#4447 Realigned and resized thumbnails
  - desktop#4465 Add user avatars in talk notifications in activity list
  - desktop#4466 Fix sparkle implementation in the desktop client
  - desktop#4470 Prepare 3.5.0-rc4
  - desktop#4471 Prepare final 3.5.0 release

OBS-URL: https://build.opensuse.org/request/show/974640
OBS-URL: https://build.opensuse.org/package/show/network/nextcloud-desktop?expand=0&rev=59
2022-05-03 12:18:41 +00:00

288 lines
9.3 KiB
RPMSpec

#
# spec file for package nextcloud-desktop
#
# Copyright (c) 2022 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.5.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}/%{name}-%{version}.tar.gz
Source1: sysctl-sync-inotify.conf
# 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: extra-cmake-modules
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: glibc-devel
BuildRequires: gobject-introspection-devel
BuildRequires: hicolor-icon-theme
BuildRequires: inkscape >= 1.0
BuildRequires: libQt5Gui-private-headers-devel
BuildRequires: libqt5-linguist-devel
BuildRequires: pkgconfig
BuildRequires: qtkeychain-qt5-devel
BuildRequires: update-desktop-files
BuildRequires: cmake(KF5Config)
BuildRequires: cmake(KF5KIO) >= 5.16
###BuildRequires: cmake(Qt5Keychain)
BuildRequires: pkgconfig(Qt5Concurrent)
BuildRequires: pkgconfig(Qt5Core) >= 5.15
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(Qt5WebSockets)
BuildRequires: pkgconfig(Qt5Xml)
BuildRequires: pkgconfig(cloudproviders)
BuildRequires: pkgconfig(cmocka)
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: python3-MarkupSafe
BuildRequires: python3-Sphinx
#BuildRequires: python3-importlib-metadata
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}
%patch1 -p1
cp -a %{SOURCE1} sysctl-sync-inotify.conf
%build
%cmake \
%if 0%{?is_opensuse}
-DWITH_DOC=ON \
-DNO_SHIBBOLETH=1
%endif
%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
%{_datadir}/mime/packages/nextcloud.xml
%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.*
%{_libdir}/libnextcloud_csync.so.*
%files -n %{soname}-devel
%{_includedir}/nextcloudsync/
%{_libdir}/%{soname}.so
%{_libdir}/libnextcloud_csync.so
%{_libdir}/nextcloudsync_vfs_*.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