bbcsdl
maintainer antonioleal
· 2 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package builds from source hosted on GitHub (project's official repository) and downloads a data-only zip from the project's official domain; both sources are legitimate and non-executable, with checksums provided, posing minimal risk.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package builds from source hosted on GitHub (project's official repository) and downloads a data-only zip from the project's official domain; both sources are legitimate and non-executable, with checksums provided, posing minimal risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:19
bbclinux_$pkgver.zip::https://www.bbcbasic.co.uk/bbcsdl/bbclinux.zip
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Antonio Leal <antonioleal@yahoo.com>
2
pkgname=bbcsdl
3
_tarball=483d7489af3b2d173db7231b5fbc546763321dd6
4
pkgver=1.44a
5
pkgrel=2
6
pkgdesc="BBC Basic Programming for Linux"
7
arch=('x86_64')
8
url="https://www.bbcbasic.co.uk/bbcsdl"
9
license=('CC-BY-NC-SA-4.0')
10
depends=('sdl2' 'sdl2-compat' 'sdl2_ttf' 'sdl2_net' 'zlib' 'glibc')
11
makedepends=('nasm' 'unzip')
12
provides=('bbcsdl')
13
conflicts=('bbcsdl')
14
replaces=()
15
backup=()
16
options=(!debug)
17
source=(
18
https://github.com/rtrussell/BBCSDL/archive/${_tarball}/BBCSDL-${_tarball}.tar.gz
19
bbclinux_$pkgver.zip::https://www.bbcbasic.co.uk/bbcsdl/bbclinux.zip
20
)
21
22
noextract=()
23
sha256sums=(
24
3549f97f77fb5ff1d9711f9a8e7a450acc88c618c3bb6c4913a7f102466a539c
25
8673856a9b9ba96e153a0d22836aa0182b0fe8f834c974a2483fa5a849721e60
26
)
27
28
prepare() {
29
cd ${srcdir}/
30
tar -xf BBCSDL-${_tarball}.tar.gz -C ${srcdir}
31
mv BBCSDL-${_tarball} ${pkgname}-${pkgver}
32
unzip -f bbclinux_$pkgver.zip Box2D231.so bbc256x.png
33
sed -e "s/..\/BBCSDL\/src\/bbdata_x86_64.nas/src\/bbdata_x86_64.nas/" -i ${srcdir}/${pkgname}-${pkgver}/console/linux/makefile
34
cat << EOF > bbcsdl.desktop
35
[Desktop Entry]
36
Name=BBC BASIC
37
GenericName=BBC BASIC
38
Comment=BBC BASIC for Linux
39
Icon=bbc256x
40
Exec=bbcsdl
41
Type=Application
42
Terminal=false
43
Categories=Development
44
StartupNotify=false
45
EOF
46
47
}
48
49
build() {
50
cd "${srcdir}/${pkgname}-${pkgver}"
51
cd bin/linux
52
make
53
cd ../../console/linux
54
make
55
}
56
57
package() {
58
cd "${srcdir}/${pkgname}-${pkgver}"
59
60
# Setup package files
61
mkdir -p "${pkgdir}/usr/lib/${pkgname}"
62
install -D -m0755 bbcsdl "${pkgdir}/usr/lib/${pkgname}/bbcsdl"
63
install -D -m0755 libstb.so "${pkgdir}/usr/lib/${pkgname}/libstb.so"
64
install -D -m0755 bbcbasic "${pkgdir}/usr/lib/${pkgname}/bbcbasic"
65
cp bbcsdl.bbc "${pkgdir}/usr/lib/${pkgname}/"
66
cp -avxu lib "${pkgdir}/usr/lib/${pkgname}/"
67
cp -avxu examples "${pkgdir}/usr/lib/${pkgname}/"
68
69
# Install Box2D library (it can be safely removed, except if your code specifically requires it)
70
install -D -m0755 "${srcdir}/Box2D231.so" "${pkgdir}/usr/lib/${pkgname}/Box2D231.so"
71
72
# Create symlinks on /usr/bin
73
mkdir -p ${pkgdir}/usr/bin
74
ln -sf "/usr/lib/${pkgname}/bbcsdl" "${pkgdir}/usr/bin/bbcsdl"
75
ln -sf "/usr/lib/${pkgname}/bbcbasic" "${pkgdir}/usr/bin/bbcbasic"
76
77
# Install icons and desktop menu entry
78
mkdir -p "${pkgdir}/usr/share/pixmaps"
79
cp "${srcdir}/bbc256x.png" "${pkgdir}/usr/share/pixmaps"
80
mkdir -p "${pkgdir}/usr/share/applications"
81
cp "${srcdir}/bbcsdl.desktop" "${pkgdir}/usr/share/applications"
82
}
83
84
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |