python-sphn

LOW
maintainer Smoolak 0 votes scanned 2026-11-01 18:01:05.785766
View on AUR
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: Smoolak <smoolak@gmail.com>
2
3pkgname=python-sphn
4pkgver=0.2.1
5pkgrel=1
6pkgdesc="Rust-backed Python audio decoding, resampling and Opus streaming"
7arch=('x86_64')
8url="https://github.com/kyutai-labs/sphn"
9license=('MIT OR Apache-2.0')
10_commit=760a9464a3a2b9772e75ee11f42ac51146406dc1
11depends=('python' 'python-numpy' 'gcc-libs' 'glibc' 'opus')
12makedepends=('python-installer' 'python-maturin' 'rust' 'cmake' 'pkgconf')
13checkdepends=('ffmpeg')
14options=('!lto')
15source=("$pkgname-$pkgver.tar.gz::$url/archive/$_commit.tar.gz"
16 'Cargo.lock')
17sha256sums=('39439dedcc3603702c390734185b6bf3e9c041a665105fa4b04d7ea27ae3365c'
18 'a39258e1700488465fea49fd43bc1695d15c9d7d1f56227b208e29c9bd65b447')
19
20prepare() {
21 cd "sphn-$_commit"
22 cp "$srcdir/Cargo.lock" Cargo.lock
23 cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
24}
25
26build() {
27 cd "sphn-$_commit"
28 # The system Opus library avoids the bundled version's obsolete CMake code.
29 pkg-config --exists opus
30 maturin build --release --locked --offline --strip --compatibility linux
31}
32
33check() {
34 cd "sphn-$_commit"
35 python -m venv --system-site-packages --without-pip "$srcdir/check-env"
36 "$srcdir/check-env/bin/python" -m installer target/wheels/*.whl
37 mkdir -p "$srcdir/check-data"
38 cd "$srcdir/check-data"
39 ffmpeg -hide_banner -loglevel error -nostdin -y \
40 -f lavfi -i 'sine=frequency=440:sample_rate=24000:duration=1' \
41 -ac 1 -codec:a libmp3lame bria.mp3
42 "$srcdir/check-env/bin/python" "$srcdir/sphn-$_commit/test/basic.py"
43 "$srcdir/check-env/bin/python" "$srcdir/sphn-$_commit/test/stream.py"
44}
45
46package() {
47 cd "sphn-$_commit"
48 python -m installer --destdir="$pkgdir" target/wheels/*.whl
49
50 # Keep Maturin's SBOM references reproducible and its RECORD hashes valid.
51 python - "$pkgdir" "$srcdir/sphn-$_commit" "$url/tree/$_commit" <<'PYRECORD'
52import base64
53import csv
54import hashlib
55from pathlib import Path
56import sys
57import sysconfig
58
59site = Path(sys.argv[1]) / sysconfig.get_path("purelib").lstrip("/")
60for record in site.glob("*.dist-info/RECORD"):
61 changed = {}
62 for sbom in record.parent.glob("sboms/*.json"):
63 original = sbom.read_text()
64 rewritten = original.replace("path+file://" + sys.argv[2], sys.argv[3])
65 if rewritten == original:
66 continue
67 sbom.write_text(rewritten)
68 data = sbom.read_bytes()
69 digest = base64.urlsafe_b64encode(hashlib.sha256(data).digest()).rstrip(b"=").decode()
70 changed[str(sbom.relative_to(site))] = ["sha256=" + digest, str(len(data))]
71 if changed:
72 with record.open(newline="") as stream:
73 rows = list(csv.reader(stream))
74 for row in rows:
75 if row[0] in changed:
76 row[1:] = changed[row[0]]
77 with record.open("w", newline="") as stream:
78 csv.writer(stream, lineterminator="\n").writerows(rows)
79PYRECORD
80 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
81}
82

Scan history

Scanned at (UTC)SeverityRules
2026-11-01 18:01:05 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion