tuxtunes-git
LOW
maintainer illuser
0 votes
scanned 2026-09-21 17:35:47.897038
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: Joseph R. Quinn <quinn.josephr@gmail.com>
2
pkgname=tuxtunes-git
3
# Set by pkgver() below; this value only matters before the first build.
4
pkgver=0.4.0.r0.gfb6af06
5
pkgrel=1
6
# pkgver() used to count every commit ($ver.r<rev-list count>), which put
7
# the last untagged build at 0.1.0.r278. Now that the repo is tagged, it
8
# counts commits since the tag instead, so v0.1.0 restarts at r1 — a
9
# lower version than what is already installed. The epoch keeps upgrades
10
# moving forwards across that one-time reset; it can go back to 0 (or be
11
# dropped) if the package is ever rebuilt from scratch.
12
epoch=1
13
pkgdesc="Music library manager and player (Tauri + Angular)"
14
arch=('x86_64' 'aarch64')
15
url="https://github.com/quinnjr/tuxtunes"
16
license=('MIT' 'Apache-2.0')
17
depends=(
18
'webkit2gtk-4.1'
19
'gtk3'
20
'libayatana-appindicator'
21
'mpv'
22
'sqlite'
23
'dbus'
24
'openssl'
25
'xdg-utils'
26
)
27
optdepends=(
28
'ffmpeg: convert library files to FLAC or M4A'
29
)
30
makedepends=(
31
'git'
32
'cargo'
33
'nodejs'
34
'npm'
35
)
36
provides=('tuxtunes')
37
conflicts=('tuxtunes')
38
# Set TUXTUNES_SRC=file:///path/to/checkout to build from a local clone.
39
source=("$pkgname::git+${TUXTUNES_SRC:-$url.git}#branch=develop"
40
'tuxtunes.desktop')
41
sha256sums=('SKIP'
42
'SKIP')
43
44
# The repo is pnpm-only, but Arch's pnpm package collides with an
45
# npm-global pnpm (both own /usr/bin/pnpm), so it is not a makedepend.
46
# Use whatever pnpm is on PATH — pnpm 10+ switches itself to the
47
# version pinned in package.json's "packageManager" — and otherwise
48
# fetch exactly that version through npx.
49
_pnpm() {
50
if command -v pnpm >/dev/null 2>&1; then
51
pnpm "$@"
52
else
53
local ver
54
ver=$(node -p "require('./package.json').packageManager.split('@')[1]")
55
npx --yes "pnpm@$ver" "$@"
56
fi
57
}
58
59
# <last tag without the v>.r<commits since it>.g<short sha>, e.g.
60
# 0.1.0.r1.g13b0860. --long keeps the r/g suffix even when HEAD is
61
# exactly on a tag, so a release build sorts consistently with the
62
# builds either side of it rather than dropping to a bare 0.1.0.
63
#
64
# Falls back to the old count-every-commit form when no tag is reachable
65
# — a shallow clone, or a fork that has never tagged — so the build does
66
# not simply fail there.
67
pkgver() {
68
cd "$pkgname"
69
if git describe --tags --long >/dev/null 2>&1; then
70
git describe --tags --long | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
71
else
72
local ver
73
ver=$(sed -n 's/^version = "\(.*\)"/\1/p' src-tauri/Cargo.toml | head -1)
74
printf '%s.r%s.g%s' "$ver" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
75
fi
76
}
77
78
prepare() {
79
cd "$pkgname"
80
_pnpm install --frozen-lockfile
81
cargo fetch --locked --manifest-path src-tauri/Cargo.toml --target "$(rustc -vV | sed -n 's/host: //p')"
82
}
83
84
build() {
85
cd "$pkgname"
86
export RUSTUP_TOOLCHAIN=stable
87
export NG_CLI_ANALYTICS=false
88
_pnpm exec tauri build --no-bundle -- --frozen
89
}
90
91
package() {
92
cd "$pkgname"
93
install -Dm755 src-tauri/target/release/tuxtunes "$pkgdir/usr/bin/tuxtunes"
94
install -Dm755 src-tauri/target/release/tuxtunes-cli "$pkgdir/usr/bin/tuxtunes-cli"
95
install -Dm644 "$srcdir/tuxtunes.desktop" "$pkgdir/usr/share/applications/tuxtunes.desktop"
96
install -Dm644 src-tauri/icons/32x32.png "$pkgdir/usr/share/icons/hicolor/32x32/apps/tuxtunes.png"
97
install -Dm644 src-tauri/icons/128x128.png "$pkgdir/usr/share/icons/hicolor/128x128/apps/tuxtunes.png"
98
install -Dm644 src-tauri/icons/128x128@2x.png "$pkgdir/usr/share/icons/hicolor/256x256/apps/tuxtunes.png"
99
install -Dm644 src-tauri/icons/icon.png "$pkgdir/usr/share/icons/hicolor/512x512/apps/tuxtunes.png"
100
install -Dm644 LICENSE-MIT "$pkgdir/usr/share/licenses/$pkgname/LICENSE-MIT"
101
install -Dm644 LICENSE-APACHE "$pkgdir/usr/share/licenses/$pkgname/LICENSE-APACHE"
102
}
103
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-21 17:35:47 | Low | 1 |