nuclear-player
maintainer zxp19821005
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The flagged 'pnpm add' installs development dependencies node-addon-api and node-gyp required for building the project; these are standard build tools for Node.js native addons and are not malicious, undeclared external packages.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The flagged 'pnpm add' installs development dependencies node-addon-api and node-gyp required for building the project; these are standard build tools for Node.js native addons and are not malicious, undeclared external packages.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
npm/yarn/pnpm install of an undeclared external package
npm_install_external
Runs `npm/yarn/pnpm install <package>` for a package not in source=(), pulling unpinned, unreviewed code at build time. Severity downgraded: the package declares/looks like a Node.js consumer, where build-time installs are expected.
-
PKGBUILD:76
NODE_ENV=development pnpm add -D node-addon-api node-gyp
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
2
# Contributor: Mikel Pintado <mikelaitornube2010@gmail.com>
3
_appname=nuclear
4
pkgname="${_appname}-player"
5
_pkgname='Nuclear Player'
6
pkgver=1.43.2
7
_nodeversion=24
8
pkgrel=1
9
pkgdesc="Streaming music player that finds free music for you."
10
arch=('any')
11
url="https://nuclearplayer.com/"
12
_ghurl="https://github.com/nukeop/nuclear"
13
license=('AGPL-3.0-only')
14
depends=(
15
'webkit2gtk-4.1'
16
'libsoup3'
17
'gtk3'
18
'wavpack'
19
'gst-plugins-good'
20
)
21
makedepends=(
22
'pnpm'
23
'nvm'
24
'curl'
25
'rustup'
26
)
27
optdepends=(
28
'gst-plugins-bad: Additional media codec support'
29
'gst-plugins-ugly: Patented codec support'
30
'gst-libav: FFmpeg-based codec support'
31
)
32
source=("${pkgname}-${pkgver}.tar.gz::${_ghurl}/archive/refs/tags/player@${pkgver}.tar.gz")
33
sha256sums=('f3269c81a796560d41dc5da5f7a21b016bdf2d8d5818f0412ebf1b8412652374')
34
_ensure_local_nvm() {
35
local NVM_DIR="${srcdir}/.nvm"
36
source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
37
nvm install "${_nodeversion}"
38
nvm use "${_nodeversion}"
39
}
40
_set_build_env() {
41
export HOME="${srcdir}/.electron-gyp"
42
export CARGO_HOME="${srcdir}/.cargo"
43
{
44
export PNPM_LINK_WORKSPACE_PACKAGES=true
45
export PNPM_FETCH_RETRY_MAXTIMEOUT=10000
46
export PNPM_CACHE_DIR="${srcdir}/.pnpm_cache"
47
export PNPM_STORE_DIR="${srcdir}/.pnpm_store"
48
export PNPM_VIRTUAL_STORE_DIR="${srcdir}/.pnpm_store"
49
export PNPM_SHAMEFULLY_HOIST=true
50
export PNPM_VIRTUAL_STORE_DIR_MAX_LENGTH=80
51
export PNPM_NODE_LINKER=hoisted
52
export PNPM_NETWORK_CONCURRENCY=32
53
}
54
if [[ "$(curl -s ipinfo.io/country)" == *"CN"* ]]; then
55
{
56
export pnpm_config_registry="https://registry.npmmirror.com"
57
export npm_config_registry="https://registry.npmmirror.com"
58
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
59
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
60
}
61
fi
62
}
63
prepare() {
64
cd "${srcdir}/${pkgname}-${pkgver}"
65
_set_build_env
66
_ensure_local_nvm
67
sed -i -e "
68
s/Exec=nuclear-music-player/Exec=${pkgname}/g
69
s/Icon=com.nuclearplayer.Nuclear/Icon=${pkgname}/g
70
" packages/player/src-tauri/resources/com.nuclearplayer.Nuclear.desktop
71
sed -i "s/com.nuclearplayer.Nuclear/${pkgname}/g" packages/player/src-tauri/resources/com.nuclearplayer.Nuclear.metainfo.xml
72
sed -i -e "
73
s/\"active\"\: true\,/\"active\"\: false\,/g
74
s/${_appname}-music-player/${pkgname}/g
75
" packages/player/src-tauri/tauri.conf.json
76
NODE_ENV=development pnpm add -D node-addon-api node-gyp
77
NODE_ENV=development pnpm install --no-frozen-lockfile
78
rustup default stable
79
}
80
build() {
81
_set_build_env
82
_ensure_local_nvm
83
cd "${srcdir}/${pkgname}-${pkgver}/packages/model"
84
NODE_ENV=production pnpm run build
85
cd "${srcdir}/${pkgname}-${pkgver}/packages/website"
86
NODE_ENV=production pnpm run build
87
cd "${srcdir}/${pkgname}-${pkgver}/packages/i18n"
88
NODE_ENV=production pnpm run build
89
cd "${srcdir}/${pkgname}-${pkgver}/packages/themes"
90
NODE_ENV=production pnpm run build
91
cd "${srcdir}/${pkgname}-${pkgver}/packages/hifi"
92
NODE_ENV=production pnpm run build
93
cd "${srcdir}/${pkgname}-${pkgver}/packages/ui"
94
NODE_ENV=production pnpm run build
95
cd "${srcdir}/${pkgname}-${pkgver}/packages/plugin-sdk"
96
NODE_ENV=production pnpm run build
97
cd "${srcdir}/${pkgname}-${pkgver}/packages/storybook"
98
NODE_ENV=production pnpm run build
99
cd "${srcdir}/${pkgname}-${pkgver}/packages/player"
100
NODE_ENV=production pnpm run build
101
}
102
package() {
103
install -Dm755 "${srcdir}/${pkgname}-${pkgver}/packages/player/src-tauri/target/release/${pkgname}" -t "${pkgdir}/usr/bin"
104
install -Dm755 "${srcdir}/${pkgname}-${pkgver}/packages/player/src-tauri/resources/com.nuclearplayer.Nuclear.desktop" \
105
"${pkgdir}/usr/share/applications/${pkgname}.desktop"
106
install -Dm755 "${srcdir}/${pkgname}-${pkgver}/packages/player/src-tauri/resources/com.nuclearplayer.Nuclear.metainfo.xml" \
107
"${pkgdir}/usr/share/metainfo/${pkgname}.metainfo.xml"
108
install -Dm755 "${srcdir}/${pkgname}-${pkgver}/packages/player/src-tauri/icons/icon.png" \
109
"${pkgdir}/usr/share/pixmaps/${pkgname}.png"
110
}
111
Changes since previous scan
--- PKGBUILD @ 2026-07-21 00:24+++ PKGBUILD @ 2026-08-03 00:08@@ -3,7 +3,7 @@ _appname=nuclear pkgname="${_appname}-player" _pkgname='Nuclear Player'-pkgver=1.43.0+pkgver=1.43.2 _nodeversion=24 pkgrel=1 pkgdesc="Streaming music player that finds free music for you."@@ -30,7 +30,7 @@ 'gst-libav: FFmpeg-based codec support' ) source=("${pkgname}-${pkgver}.tar.gz::${_ghurl}/archive/refs/tags/player@${pkgver}.tar.gz")-sha256sums=('45405ecccf78af75cca5df3b20d05273521208e2b8ed571e85dab381d6f9074e')+sha256sums=('f3269c81a796560d41dc5da5f7a21b016bdf2d8d5818f0412ebf1b8412652374') _ensure_local_nvm() { local NVM_DIR="${srcdir}/.nvm" source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 03:15:42 | MEDIUM | 1 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 03:53:53 | MEDIUM | 1 |
| 2026-07-17 00:06:16 | LOW | 2 |