thrum
LOW
maintainer braveheart1131
0 votes
scanned 2026-11-01 03:59:29.907809
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: Matt Shearing (https://github.com/matt-shearing)
2
pkgname=thrum
3
pkgver=0.4.0
4
pkgrel=1
5
pkgdesc='A Winamp-style music player and library manager that wears the Omarchy theme'
6
arch=('x86_64' 'aarch64')
7
url='https://github.com/matt-shearing/thrum'
8
license=('MIT')
9
conflicts=('omamp')
10
replaces=('omamp')
11
depends=(
12
'bash'
13
'glibc'
14
'hicolor-icon-theme'
15
'libgcc'
16
'libstdc++'
17
'qt6-base'
18
'qt6-declarative'
19
'qt6-multimedia'
20
'taglib'
21
'sqlite'
22
'ffmpeg'
23
'ttf-jetbrains-mono-nerd'
24
)
25
optdepends=(
26
'qt6-wayland: native Wayland window (otherwise runs under XWayland)'
27
'xdg-desktop-portal: file and folder pickers'
28
'chromaprint: fpcalc, for duplicate finding and AcoustID identification'
29
'libsecret: secret-tool, to keep NAS and Subsonic passwords in the keyring'
30
'xdg-utils: xdg-open, for "Show in folder"'
31
'hyprland: hyprctl, to match the window rounding of the desktop'
32
'quickshell: the Omarchy bar plugin in /usr/share/thrum/omarchy-plugin'
33
'spotify-player: Spotify beside your own music (Settings > Spotify)'
34
)
35
makedepends=('pkgconf' 'cargo')
36
# makepkg's default LTO breaks the ring crate's C objects in the Spotify helper.
37
options=('!lto')
38
source=("$pkgname-$pkgver.tar.gz::https://github.com/matt-shearing/thrum/archive/refs/tags/v$pkgver.tar.gz")
39
# Run updpkgsums once the v$pkgver tag is on GitHub.
40
sha256sums=('bdb54123eae540159eba53c36fbf6b8d38d26d859be9cf5df007185e908aab54')
41
42
prepare() {
43
cd "$pkgname-$pkgver"
44
# The Spotify session helper's crates, fetched here so build() needs no network.
45
export RUSTUP_TOOLCHAIN=stable
46
cargo fetch --locked --manifest-path sidecar/thrum-spotify-session/Cargo.toml \
47
--target "$(rustc -vV | sed -n 's/host: //p')"
48
}
49
50
build() {
51
cd "$pkgname-$pkgver"
52
mkdir -p build
53
cd build
54
qmake6 ../thrum.pro
55
make
56
cd ..
57
# thrum-spotify-session reads Spotify's own playlists and artists' top
58
# tracks (docs/spotify.md). Thrum finds it beside its own binary.
59
export RUSTUP_TOOLCHAIN=stable CARGO_TARGET_DIR=build/sidecar
60
cargo build --frozen --release --manifest-path sidecar/thrum-spotify-session/Cargo.toml
61
}
62
63
package() {
64
cd "$pkgname-$pkgver"
65
install -Dm755 build/thrum "$pkgdir/usr/bin/thrum"
66
install -Dm755 build/sidecar/release/thrum-spotify-session "$pkgdir/usr/bin/thrum-spotify-session"
67
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
68
install -Dm644 pkgbuild/thrum.desktop "$pkgdir/usr/share/applications/thrum.desktop"
69
install -Dm644 pkgbuild/thrum.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/thrum.svg"
70
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
71
72
# The Omarchy bar plugin. It is per-user, so it is shipped here and each
73
# user links it with /usr/share/thrum/omarchy-plugin/install.
74
local plugin="$pkgdir/usr/share/$pkgname/omarchy-plugin"
75
install -Dm644 -t "$plugin" omarchy-plugin/{manifest.json,Model.js,Service.qml,Widget.qml,README.md}
76
install -Dm755 -t "$plugin" omarchy-plugin/{install,uninstall}
77
}
78
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 03:59:29 | Low | 1 |