nextcloud-native-git
LOW
maintainer Felitendo
0 votes
scanned 2026-08-21 07:14:31.584968
Why flagged
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
Triggered rules
Low
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
PKGBUILD
1
# Maintainer: Felitendo
2
# This PKGBUILD is updated automatically:
3
# https://github.com/Felitendo/PKGBUILDS
4
5
pkgname=nextcloud-native-git
6
pkgver=0.1.0.alpha.2.r31.gdcfde9b
7
pkgrel=1
8
pkgdesc="Adaptive native client for Nextcloud files, media and apps (git)"
9
arch=('x86_64')
10
url="https://nc-native.obiente.dev"
11
license=('AGPL-3.0-or-later')
12
# createDistributable produces a jpackage application image with its own jlink
13
# runtime, so the shared libraries that runtime needs are the only depends.
14
depends=('alsa-lib' 'brotli' 'bzip2' 'expat' 'fontconfig' 'freetype2'
15
'gcc-libs' 'glibc' 'hicolor-icon-theme' 'libbsd' 'libglvnd' 'libmd'
16
'libpng' 'libsecret' 'libx11' 'libxau' 'libxcb' 'libxdmcp' 'libxext'
17
'libxi' 'libxrender' 'libxtst' 'xdg-utils' 'zlib')
18
# The Android SDK, Rust and Node.js that CONTRIBUTING.md lists are needed for
19
# the mobile target, the Windows shell helper and the website. The Linux
20
# desktop image builds with JDK 21 alone; python renders the AppStream file.
21
makedepends=('jdk21-openjdk' 'python' 'git')
22
optdepends=('gnome-keyring: Secret Service provider for stored accounts'
23
'kwallet: Secret Service provider for stored accounts on Plasma'
24
'fuse2: mount an account as a virtual file system')
25
options=('!strip' '!debug')
26
provides=('nextcloud-native')
27
conflicts=('nextcloud-native')
28
source=("${pkgname}::git+https://github.com/Obiente/nc-native.git")
29
sha256sums=('SKIP')
30
31
pkgver() {
32
cd "$pkgname"
33
# nightly-* tags would swallow every describe, so match the version tags only
34
git describe --long --abbrev=7 --match 'v[0-9]*' \
35
| sed 's/^v//; s/\([^-]*-g\)/r\1/; s/-/./g'
36
}
37
38
build() {
39
cd "$pkgname"
40
41
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk
42
# keep Gradle's cache inside the build tree instead of ~/.gradle
43
export GRADLE_USER_HOME="$srcdir/gradle-home"
44
45
# Gradle resolves the dependency graph from Maven Central and Google's
46
# repository during this step, so build() needs network access.
47
./gradlew --no-daemon --console=plain :ui:createDistributable
48
}
49
50
package() {
51
cd "$pkgname"
52
53
install -d "$pkgdir/opt/nextcloudnative"
54
cp -a ui/build/compose/binaries/main/app/NextcloudNative/. \
55
"$pkgdir/opt/nextcloudnative/"
56
57
# the launcher resolves its own directory through /proc/self/exe, so a
58
# symlink into /usr/bin keeps the application image self-contained
59
install -d "$pkgdir/usr/bin"
60
ln -s /opt/nextcloudnative/bin/NextcloudNative "$pkgdir/usr/bin/nextcloud-native"
61
62
# upstream's jpackage template, with the launcher path jpackage would fill in
63
sed "s|^Exec=.*|Exec=/opt/nextcloudnative/bin/NextcloudNative|" \
64
release/linux/jpackage/NextcloudNative.desktop \
65
> "$srcdir/nextcloudnative-NextcloudNative.desktop"
66
install -Dm644 "$srcdir/nextcloudnative-NextcloudNative.desktop" \
67
"$pkgdir/usr/share/applications/nextcloudnative-NextcloudNative.desktop"
68
69
install -Dm644 ui/src/desktopMain/resources/nextcloud-native.png \
70
"$pkgdir/usr/share/icons/hicolor/512x512/apps/dev.obiente.nextcloudnative.png"
71
72
# same renderer the packageDeb path uses, fed from gradle.properties so the
73
# metadata cannot drift away from the tag being built
74
python3 tools/render-linux-appstream-metadata.py \
75
release/linux/dev.obiente.nextcloudnative.metainfo.xml \
76
"$pkgdir/usr/share/metainfo/dev.obiente.nextcloudnative.metainfo.xml" \
77
"$(grep -Po '^ncDesktopPackageVersion=\K.*' gradle.properties)" \
78
"$(grep -Po '^ncVersionName=\K.*' gradle.properties)" \
79
"$(date -u -d "@$SOURCE_DATE_EPOCH" +%F)"
80
81
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
82
}
83
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-21 07:14:31 | Low | 1 |