spotifast-git
The package builds from source hosted on the maintainer's GitHub, which is normal for AUR-git packages; the only concerns are low-vote count and unverifiable source due to skipped checksum, but no remote code execution or malicious behavior is present.
Triggered rules
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): The package builds from source hosted on the maintainer's GitHub, which is normal for AUR-git packages; the only concerns are low-vote count and unverifiable source due to skipped checksum, but no remote code execution or malicious behavior is present.
PKGBUILD
# Maintainer: Carmine Paolino <carmine@paolino.me>
pkgname=spotifast-git
pkgver=0.8.0.r3.16ee665
pkgrel=1
pkgdesc="Native Spotify client"
arch=('x86_64' 'aarch64')
url="https://github.com/crmne/spotifast"
license=('MIT')
install="${pkgname}.install"
depends=('dbus' 'alsa-lib' 'libpulse' 'libglvnd' 'libxkbcommon' 'wayland' 'libx11')
# MilkDrop builds libprojectM from source at compile time: cmake drives
# that build, and clang carries the libclang bindgen reads its headers
# with. Build with --no-default-features to leave the visualiser out.
makedepends=('git' 'cargo' 'cmake' 'clang')
optdepends=('libxkbcommon-x11: keyboard handling in X11 sessions'
'pipewire-pulse: PipeWire as the PulseAudio server')
provides=("spotifast=$pkgver" "fastpotify=$pkgver" "fastpotify-git=$pkgver")
conflicts=('fastpotify' 'fastpotify-bin' 'fastpotify-git' 'spotifast' 'spotifast-bin')
replaces=('fastpotify-git')
# !lto because ring compiles its own C and Arch's default CFLAGS put LTO
# objects in the archive, which lld then cannot resolve: the link fails on
# undefined ring_core_* symbols. The stable package is prebuilt and never
# meets this.
options=('!debug' '!lto')
source=("${pkgname}::git+https://github.com/crmne/spotifast.git")
sha256sums=('SKIP')
pkgver() {
cd "${srcdir}/${pkgname}"
# A pre-release tag (v0.4.0-rc1) keeps its suffix without the hyphen,
# 0.4.0rc1, which pacman orders before 0.4.0; then the commits since the
# tag and the hash, as before: 0.4.0rc1.r1.cb95384.
git describe --long --tags --abbrev=7 |
sed 's/^v//;s/-\(rc\|alpha\|beta\)\([0-9]*\)-/\1\2-/;s/-/.r/;s/-g/./'
}
prepare() {
cd "${srcdir}/${pkgname}"
export RUSTUP_TOOLCHAIN=stable
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}
build() {
cd "${srcdir}/${pkgname}"
export RUSTUP_TOOLCHAIN=stable
export CARGO_TARGET_DIR=target
# Generated bindings inside glutin carry the path they were built at, which
# ends up in the binary and makes makepkg warn about a reference to $srcdir.
# Appended rather than assigned, so the distro's own flags survive.
export RUSTFLAGS="${RUSTFLAGS:-} --remap-path-prefix=${srcdir}=/"
cargo build --frozen --release
}
check() {
cd "${srcdir}/${pkgname}"
export RUSTUP_TOOLCHAIN=stable
# The demo feature carries the headless render test, which lays out every
# page without a display and talks to nothing.
cargo test --frozen --features demo
}
package() {
cd "${srcdir}/${pkgname}"
install -Dm755 "target/release/fastpotify" "${pkgdir}/usr/bin/fastpotify"
ln -s fastpotify "${pkgdir}/usr/bin/spotifast"
install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm644 "README.md" "${pkgdir}/usr/share/doc/${pkgname}/README.md"
install -Dm644 "packaging/applications/fastpotify.desktop" \
"${pkgdir}/usr/share/applications/fastpotify.desktop"
install -Dm644 "packaging/icons/fastpotify.svg" \
"${pkgdir}/usr/share/icons/hicolor/scalable/apps/fastpotify.svg"
install -Dm644 contrib/omarchy/spotifast.json.tpl "${pkgdir}/usr/share/spotifast/omarchy/spotifast.json.tpl"
install -Dm755 contrib/omarchy/spotifast-theme "${pkgdir}/usr/share/spotifast/omarchy/spotifast-theme"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-14 17:17:35 | Low | 2 |