python-text2num
LOW
maintainer Smoolak
0 votes
scanned 2026-11-01 18:01:05.785766
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
pkgname=python-text2num
3
pkgver=3.1.0
4
pkgrel=1
5
pkgdesc='Parse and transcribe numbers expressed as natural language words'
6
arch=(x86_64)
7
url='https://github.com/allo-media/text2num'
8
license=(MIT)
9
depends=(glibc libgcc python)
10
makedepends=(rust python-build python-installer 'python-maturin>=1.7' 'python-maturin<2')
11
_commit=5007cc125e85f9c9954015be572072952549b6f9
12
source=("text2num-$pkgver.tar.gz::$url/archive/$_commit.tar.gz")
13
sha256sums=('032b08292e93f8689c618f35513d28df1d86bcf7b879f1a5f8ba4290e35e41bc')
14
15
prepare() {
16
cd "text2num-$_commit"
17
export CARGO_HOME="${CARGO_HOME:-$srcdir/cargo}"
18
cargo fetch --locked
19
}
20
21
build() {
22
cd "text2num-$_commit"
23
export CARGO_HOME="${CARGO_HOME:-$srcdir/cargo}" CARGO_NET_OFFLINE=true
24
python -m build --wheel --no-isolation
25
}
26
27
check() {
28
cd "text2num-$_commit"
29
python -m installer --destdir="$srcdir/check" dist/*.whl
30
local site_packages=("$srcdir"/check/usr/lib/python*/site-packages)
31
PYTHONPATH="${site_packages[0]}" python -m unittest discover -s tests -v
32
}
33
34
package() {
35
cd "text2num-$_commit"
36
python -m installer --destdir="$pkgdir" dist/*.whl
37
# Keep Maturin's SBOM references reproducible and its RECORD hashes valid.
38
python - "$pkgdir" "$srcdir/text2num-$_commit" "$url/tree/$_commit" <<'PYRECORD'
39
import base64
40
import csv
41
import hashlib
42
from pathlib import Path
43
import sys
44
import sysconfig
45
46
site = Path(sys.argv[1]) / sysconfig.get_path("purelib").lstrip("/")
47
for record in site.glob("*.dist-info/RECORD"):
48
changed = {}
49
for sbom in record.parent.glob("sboms/*.json"):
50
original = sbom.read_text()
51
rewritten = original.replace("path+file://" + sys.argv[2], sys.argv[3])
52
if rewritten == original:
53
continue
54
sbom.write_text(rewritten)
55
data = sbom.read_bytes()
56
digest = base64.urlsafe_b64encode(hashlib.sha256(data).digest()).rstrip(b"=").decode()
57
changed[str(sbom.relative_to(site))] = ["sha256=" + digest, str(len(data))]
58
if changed:
59
with record.open(newline="") as stream:
60
rows = list(csv.reader(stream))
61
for row in rows:
62
if row[0] in changed:
63
row[1:] = changed[row[0]]
64
with record.open("w", newline="") as stream:
65
csv.writer(stream, lineterminator="\n").writerows(rows)
66
PYRECORD
67
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
68
}
69
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 18:01:05 | Low | 1 |