summaryrefslogtreecommitdiff
path: root/libre/nextcloud-client/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/nextcloud-client/PKGBUILD')
-rw-r--r--libre/nextcloud-client/PKGBUILD173
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
}