nuvio-desktop-git
LOW
maintainer pigeonhands
0 votes
scanned 2026-10-18 09:21:55.083363
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: Sam M <contact@s-mc.io>
2
pkgname=nuvio-desktop-git
3
_pkgname=nuvio-desktop
4
pkgver=0.1.31_alpha
5
pkgrel=1
6
pkgdesc="A modern media hub desktop application (built from git source)"
7
arch=('x86_64')
8
url="https://github.com/NuvioMedia/NuvioDesktop"
9
license=("GPL-3.0-or-later")
10
depends=('java-runtime>=17' 'mpv')
11
makedepends=('git' 'gtk3' 'java-environment>=17' 'patchelf' 'pkgconf')
12
provides=("${pkgname}")
13
conflicts=("${pkgname}" "nuvio-desktop-bin" "nuvio" "nuvio-desktop")
14
15
# Maps pkgver to git tag format (e.g., 0.1.12_alpha -> 0.1.12-alpha)
16
_git_tag="${pkgver//_/-}"
17
source=("${pkgname}::git+${url}.git#tag=${_git_tag}")
18
sha256sums=('SKIP')
19
20
prepare() {
21
cd "${srcdir}/${pkgname}"
22
23
# 1. Create a dummy local.properties file to satisfy the Gradle task input validator
24
touch local.properties
25
26
# 2. De-duplicate XML keys in the Italian translation file (if still present in tag release)
27
_it_strings="composeApp/src/commonMain/composeResources/values-it/strings.xml"
28
if [ -f "${_it_strings}" ]; then
29
echo "De-duplicating XML keys in values-it/strings.xml..."
30
awk '
31
match($0, /name="([^"]+)"/, arr) {
32
key = arr[1]
33
if (seen[key]++) {
34
next
35
}
36
}
37
{ print }
38
' "${_it_strings}" >"${_it_strings}.tmp" && mv "${_it_strings}.tmp" "${_it_strings}"
39
fi
40
}
41
42
build() {
43
cd "${srcdir}/${pkgname}"
44
45
# Run the task to compile the raw optimized distribution directory (bypassing jpackage)
46
./gradlew :composeApp:createReleaseDistributable --no-configuration-cache
47
48
# Bundle the player bridge if compiled, and patch its RPATH
49
_app_dir="composeApp/build/compose/binaries/main-release/app/Nuvio"
50
_player_bridge="composeApp/build/native/linux/libplayer_bridge.so"
51
52
if [ -f "${_player_bridge}" ]; then
53
cp "${_player_bridge}" "${_app_dir}/lib/"
54
patchelf --set-rpath '$ORIGIN' "${_app_dir}/lib/libplayer_bridge.so"
55
fi
56
}
57
58
package() {
59
cd "${srcdir}/${pkgname}"
60
_app_dir="composeApp/build/compose/binaries/main-release/app/Nuvio"
61
62
# 1. Install compiled application structure into /opt/nuvio
63
install -d "${pkgdir}/opt/${_pkgname}"
64
cp -Rp "${_app_dir}/." "${pkgdir}/opt/${_pkgname}/"
65
66
# 2. Setup the launch binary wrapper in /usr/bin
67
install -d "${pkgdir}/usr/bin"
68
cat <<'EOF' >"${pkgdir}/usr/bin/${_pkgname}"
69
#!/bin/sh
70
export LD_LIBRARY_PATH="/opt/nuvio/lib:/opt/nuvio/lib/runtime/lib:${LD_LIBRARY_PATH}"
71
exec "/opt/nuvio/bin/Nuvio" "$@"
72
EOF
73
chmod +x "${pkgdir}/usr/bin/${_pkgname}"
74
75
# 3. Create and install the Desktop Entry directly
76
install -d "${pkgdir}/usr/share/applications"
77
cat <<EOF >"${pkgdir}/usr/share/applications/${_pkgname}.desktop"
78
[Desktop Entry]
79
Name=Nuvio
80
Comment=${pkgdesc}
81
Exec=${_pkgname}
82
Icon=${_pkgname}
83
Type=Application
84
Categories=AudioVideo;Player;
85
Terminal=false
86
EOF
87
88
# 4. Grab the Icon file from the official source tree
89
_icon_src="composeApp/src/desktopMain/resources/icons/nuvio-app-icon.png"
90
if [ -f "${_icon_src}" ]; then
91
install -Dm644 "${_icon_src}" "${pkgdir}/usr/share/icons/hicolor/256x256/apps/${_pkgname}.png"
92
fi
93
}
94
Changes since previous scan
--- PKGBUILD @ 2026-10-16 00:12+++ PKGBUILD @ 2026-10-18 09:21@@ -1,14 +1,14 @@ # Maintainer: Sam M <contact@s-mc.io> pkgname=nuvio-desktop-git _pkgname=nuvio-desktop-pkgver=0.1.30_alpha+pkgver=0.1.31_alpha pkgrel=1 pkgdesc="A modern media hub desktop application (built from git source)" arch=('x86_64') url="https://github.com/NuvioMedia/NuvioDesktop" license=("GPL-3.0-or-later") depends=('java-runtime>=17' 'mpv')-makedepends=('git' 'java-environment>=17' 'patchelf' 'pkgconf')+makedepends=('git' 'gtk3' 'java-environment>=17' 'patchelf' 'pkgconf') provides=("${pkgname}") conflicts=("${pkgname}" "nuvio-desktop-bin" "nuvio" "nuvio-desktop") Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-18 09:21:55 | Low | 1 |
| 2026-10-16 00:12:47 | Clean | 2 |
| 2026-10-15 23:13:54 | Low | 1 |