gnu: nextcloud-client: Update to 3.8.2.

* gnu/packages/sync.scm (nextcloud-client): Update to 3.8.2.
[snippets]: Keep 3rd-party files from kirigami. Remove more references of
deleted 3rd parties.  Adjust substitute for new code.
[configure-flags]: Disable building the updater.
[phases]<patch-cmake>: Adjust substitute for new code.
<check>: Use custom phase to disable a failing test.
[inputs]: Add dbus and karchive.
[native-inputs]: Add librsvg-for-system.
This commit is contained in:
Hartmut Goebel 2023-06-06 16:25:41 +02:00
parent 1d471bbe44
commit 246445b20d
No known key found for this signature in database
GPG key ID: 634A8DFFD3F631DF

View file

@ -76,7 +76,7 @@ (define-module (gnu packages sync)
(define-public nextcloud-client
(package
(name "nextcloud-client")
(version "3.2.0")
(version "3.8.2")
(source
(origin
(method git-fetch)
@ -87,14 +87,14 @@ (define-public nextcloud-client
(file-name
(git-file-name name version))
(sha256
(base32 "137h65sn4ixspbblvn0r2ngg8234yk582bppkkr87c3krfp21gx4"))
(base32 "0gmj217jmmx13wwb096prwzn3njv616njk1id97g6lrbn969fcnn"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-1)))
(snippet
'(begin
;; Not available in Guix.
(let* ((keep '("QProgressIndicator" "qtokenizer")))
(let* ((keep '("QProgressIndicator" "qtokenizer" "kirigami")))
(with-directory-excursion "src/3rdparty"
(for-each delete-file-recursively
(lset-difference string=?
@ -103,11 +103,11 @@ (define-public nextcloud-client
(with-directory-excursion "src/gui"
(substitute* "CMakeLists.txt"
;; Remove references of deleted 3rdparties.
(("[ \t]*\\.\\./3rdparty/qtlockedfile/?.*\\.cpp")
(("[ \t]*\\.\\./3rdparty/qtlockedfile/?.*\\.(cpp|h)")
"")
(("[ \t]*\\.\\./3rdparty/qtsingleapplication/?.*\\.cpp")
(("[ \t]*\\.\\./3rdparty/qtsingleapplication/?.*\\.(cpp|h)")
"")
(("[ \t]*\\.\\./3rdparty/kmessagewidget/?.*\\.cpp")
(("[ \t]*\\.\\./3rdparty/kmessagewidget/?.*\\.(cpp|h)")
"")
(("[ \t]*list\\(APPEND 3rdparty_SRC \\.\\./3rdparty/?.*\\)")
"")
@ -121,8 +121,8 @@ (define-public nextcloud-client
"@kwidgetsaddons@")
;; Expand libraries, that used to be statically linked, but
;; no longer are post-vendoring.
(("\\$\\{synclib_NAME\\}")
(string-append "${synclib_NAME} "
(("KF5::Archive")
(string-append "KF5::Archive "
"QtSolutions_LockedFile "
"QtSolutions_SingleApplication "
"KF5WidgetsAddons")))
@ -137,7 +137,7 @@ (define-public nextcloud-client
(arguments
`(#:configure-flags
(list
"-DUNIT_TESTING=ON")
"-DUNIT_TESTING=ON" "-DBUILD_UPDATER=OFF")
#:imported-modules
((guix build glib-or-gtk-build-system)
,@%qt-build-system-modules)
@ -151,7 +151,7 @@ (define-public nextcloud-client
(lambda* (#:key inputs #:allow-other-keys)
;; Patch install directory for dbus service files.
(substitute* "shell_integration/libcloudproviders/CMakeLists.txt"
(("PKGCONFIG_GETVAR\\(.+ _install_dir\\)")
(("pkg_get_variable\\(_install_dir dbus-1 .*\\)")
(string-append "set(_install_dir \"${CMAKE_INSTALL_PREFIX}"
"/share/dbus-1/services\")")))
(substitute* "shell_integration/dolphin/CMakeLists.txt"
@ -161,6 +161,11 @@ (define-public nextcloud-client
(("@kwidgetsaddons@")
(search-input-directory inputs
"/include/KF5/KWidgetsAddons/")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "QT_QPA_PLATFORM" "offscreen")
(invoke "ctest" "-E" "SyncXAttrTest"))))
(add-before 'check 'pre-check
(lambda _
;; Tests write to $HOME.
@ -176,6 +181,7 @@ (define-public nextcloud-client
("doxygen" ,doxygen)
("extra-cmake-modules" ,extra-cmake-modules)
("glib:bin" ,glib "bin")
("librsvg" ,(librsvg-for-system))
("perl" ,perl)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
@ -183,8 +189,10 @@ (define-public nextcloud-client
("ruby" ,ruby)))
(inputs
(list appstream
dbus
desktop-file-utils
glib
karchive
kconfig
kcoreaddons
kio