diff options
Diffstat (limited to 'libre/nextcloud-client/PKGBUILD')
-rw-r--r-- | libre/nextcloud-client/PKGBUILD | 173 |
1 files changed, 112 insertions, 61 deletions
diff --git a/libre/nextcloud-client/PKGBUILD b/libre/nextcloud-client/PKGBUILD index 9afa9b0fb..5d57543e3 100644 --- a/libre/nextcloud-client/PKGBUILD +++ b/libre/nextcloud-client/PKGBUILD @@ -1,101 +1,152 @@ +# Maintainer (Arch): Caleb Maclennan <caleb@alerque.com> # Maintainer (Arch): Chih-Hsuan Yen <yan12125@archlinux.org> # Contributor (Arch): Tyler Dence <tyzoid@archlinux32.org> # Contributor (Arch): Konstantin Shalygin <k0ste@k0ste.ru> -# Contributor: Theo von Arx <theova@member.fsf.org> +# Maintainer: David P. <megver83@parabola.nu> +# Contributor: bill-auger <bill-auger@programmer.net> # parabola changes and rationale: -# - removed qt5-webengine dependency - - -pkgname=nextcloud-client -pkgver=2.6.4 -_commit=b45f5fd1a947dc21eb11c69049a99616a2ec950e -pkgrel=1 +# - build without qt5-webengine +# - disable tests which require networking + +pkgbase=nextcloud-client +# Put config files for libcloudproviders integration in a separate package as +# there is no simple way yet to disable it. +# See: https://gitlab.gnome.org/World/libcloudproviders/-/issues/17 +pkgname=(nextcloud-client nextcloud-client-cloudproviders) +epoch=2 +# Upstream does not provide signed tarballs (yet) +# https://github.com/nextcloud/desktop/issues/1510 +pkgver=3.10.0 +_tag=19a02ad0b0146167949a9a06d4cb4a1137df8153 +pkgrel=2 pkgrel+=.parabola1 -pkgdesc='Nextcloud desktop client' -pkgdesc+=', without nonfree qt5-webengine dependency' arch=(x86_64) arch+=(i686 armv7h) url='https://nextcloud.com/' +_url=https://github.com/nextcloud/desktop license=(GPL) -depends=(openssl sqlite qtkeychain qt5-svg xdg-utils libcloudproviders) -makedepends=(doxygen extra-cmake-modules kio python-sphinx qt5-tools git cmocka) -optdepends=( - 'kio: integration with Dolphin' - 'nemo-python: integration with Nemo' - 'python-nautilus: integration with Nautilus' - 'python2-caja: integration with Caja' -) -source=("$pkgname::git+https://github.com/nextcloud/desktop.git?signed#commit=$_commit" - issue1458-workaround.patch::https://github.com/yan12125/desktop/commit/7da680ef7843a52c3136916744f50d4a003bb8b5.patch - issue1458-2.patch::https://github.com/yan12125/desktop/commit/2b313368325dac5b8d0e69394cfcc4faaa745f75.patch - $pkgname-fix-build.diff - Nextcloud.conf) -source+=(remove-qtwebengine.patch) +makedepends=(cmocka + doxygen + extra-cmake-modules + git + inkscape + kio5 + libcloudproviders + openssl + python-sphinx + qt5-quickcontrols2 + qt5-svg + qt5-tools + qt5-websockets + qtkeychain-qt5 + sqlite) +source=("$pkgbase::git+$_url.git?signed#tag=$_tag") +source+=(no-webengine.patch) validpgpkeys=( - A26B951528EA1BA1678C7AE5D406C75CEE1A36D6 # one of keys controlled by github.com/camilasan - 42E775EAA3E47F9E0D5CDB0E00819E3BF4177B28 # controlled by github.com/misch7 + A26B951528EA1BA1678C7AE5D406C75CEE1A36D6 # https://github.com/camilasan + 42E775EAA3E47F9E0D5CDB0E00819E3BF4177B28 # https://github.com/misch7 + 17166A5275C5FA6F1A48FD78074BBBCB8DECC9E2 # https://github.com/er-vin.gpg + 0739B11EDA696A3616666F6AE04221E85C5BB816 # https://github.com/allexzander + 267BF70F7905C2723B0243267D0F74F05C22F553 # https://github.com/mgallien + 3A877D9A896A057948059DEDAD2C27357B2CB11D # https://github.com/FlexW ) sha256sums=('SKIP' - '07cd68f54c004175b4a09cce25830a357d0ebaafaf4e4cabfb8b0d4deeded2f3' - '157c87a789219a3442ca5947c48dcd1ef3898612ff32070bf8842a42bfbe857a' - '8b257a0554ceb54a7ed320dbfa3becb97d6845338e28a8aa0a4f6239f3141645' - '5f51e41ef01d4e5b88a4735531105b84b4fb5317adc2a2996117c03fe5a44fc7') -sha256sums+=('77d7afd2dc65a7625e1617dd2c287c1be004deca2f64ecc18a96bb6c3cd733cf') -backup=('etc/Nextcloud/sync-exclude.lst' - 'etc/Nextcloud/Nextcloud.conf') - -prepare() { - # tmpdir for check() - mkdir tmpdir $pkgname/build - - # Use system GNUInstallDirs.cmake so that we can benefit from - # https://gitlab.kitware.com/cmake/cmake/merge_requests/3735 - rm -v $pkgname/cmake/modules/GNUInstallDirs.cmake + '1e6d35210a15b8dfa94582d7db875e6ede2cd6b4e70f12cda02ff0be5a6badfb') - cd $pkgname - patch -Np1 -i ../issue1458-workaround.patch - patch -Np1 -i ../issue1458-2.patch +pkgver() { + cd $pkgbase + git describe --tags | sed 's/^v//;s/-/+/g' +} - # https://github.com/nextcloud/desktop/pull/719 - # "Rename owncloud tests to nextcloud" - actually breaks building of tests - patch -Np1 -i ../$pkgname-fix-build.diff +_pkgver() { + curl -fs https://api.github.com/repos/nextcloud/desktop/git/ref/tags/v$pkgver | + jq -r .object.sha +} - # Remove qt5-webengine dependency - patch -Np1 -i ../remove-qtwebengine.patch +prepare() { + # tmpdir for check() + mkdir -p tmpdir + cd $pkgbase + # Monkey patch that disables bulk upload capability which causes infinite + # loops for many server/client combos. Feature is also disabled by default on + # server end in v23.0.3 because it was so problematic. This can abe re-enabled + # when underlying bug squashed: + # https://github.com/nextcloud/desktop/issues/5726 + sed -i -e '/bulkupload/s/return _.*;$/return false;/' src/libsync/capabilities.cpp + # Disable tests that touch on disabled feature + sed -i -e '/SyncEngine/s/^/#/' -e '/Capabilities/s/^/#/' -e '/SecureFileDrop/s/^/#/' test/CMakeLists.txt + + # disable tests which require networking + sed -i -e '/OAuth/s/^/#/' test/CMakeLists.txt + sed -i -e '/PushNotifications/s/^/#/' test/CMakeLists.txt + + echo "applying no-webengine.patch" + patch -Np1 -i "${srcdir}"/no-webengine.patch } build() { - cd $pkgname/build + cd $pkgbase # bundled breakpad in libcrashreporter-qt submodule is too old and does not build with glibc >= 2.26 # Upstream fix: https://github.com/google/breakpad/commit/bddcc58860f522a0d4cbaa7e9d04058caee0db9d - cmake \ + cmake -B build -S . \ + -DCMAKE_BUILD_TYPE=None \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DNO_SHIBBOLETH=1 \ -DWITH_CRASHREPORTER=OFF \ + -DBUILD_UPDATER=OFF \ -DUNIT_TESTING=ON \ - .. + -DPLUGINDIR=lib/qt/plugins # Fix vfs plugin install dir https://github.com/nextcloud/desktop/issues/3781#issuecomment-918918320 - make # TODO: fix installation of PDF and HTML documents # WIP at https://github.com/yan12125/desktop/tree/doc-install-path - make doc-man + make -C build all doc-man } check() { - cd $pkgname/build + cd $pkgbase/build # Tests fail if $TMPDIR is too small; specify an alternative for machines # with a small /tmp partition. - TMPDIR="$srcdir/tmpdir" make test ARGS="-V" + # Use UTC as TestCookies is sensitive to the timezone + # https://github.com/nextcloud/desktop/blob/v3.2.2/test/testcookies.cpp#L24 + QT_QPA_PLATFORM=offscreen TMPDIR="$srcdir/tmpdir" TZ=UTC ARGS="--rerun-failed --output-on-failure" make test } -package() { - cd $pkgname/build +package_nextcloud-client() { + pkgdesc='Nextcloud desktop client' + depends=(hicolor-icon-theme + karchive5 + libcloudproviders + openssl + qt5-graphicaleffects + qt5-quickcontrols + qt5-quickcontrols2 + qt5-svg + qt5-websockets + qtkeychain-qt5 + sqlite + xdg-utils) + optdepends=('kio5: integration with Dolphin' + 'nemo-python: integration with Nemo' + 'python-nautilus: integration with Nautilus' + 'python-caja: integration with Caja' + 'nextcloud-client-cloudproviders: cloudproviders support') + backup=('etc/Nextcloud/sync-exclude.lst') + + cd $pkgbase/build make DESTDIR="$pkgdir" install - # Disables built-in update checker - install -Dm644 "$srcdir/Nextcloud.conf" -t "$pkgdir"/etc/Nextcloud + rm -v "$pkgdir"/usr/share/cloud-providers/com.nextcloudgmbh.Nextcloud.ini + rm -v "$pkgdir"/usr/share/dbus-1/services/com.nextcloudgmbh.Nextcloud.service + cd "$pkgdir"/usr/share && rmdir -p cloud-providers dbus-1/services +} + +package_nextcloud-client-cloudproviders() { + pkgdesc='cloudproviders support for the Nextcloud desktop client' + depends=(nextcloud-client) + + cd $pkgbase/build + make -C shell_integration/libcloudproviders DESTDIR="$pkgdir" install } |