opentitus
The package downloads source code and assets from various hosts including non-whitelisted ones, but all are used for building or as static data; the only executable built comes from verifiable project sources, and non-standard hosts provide either documentation, images, or game data that cannot execute code.
Triggered rules
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 downloads source code and assets from various hosts including non-whitelisted ones, but all are used for building or as static data; the only executable built comes from verifiable project sources, and non-standard hosts provide either documentation, images, or game data that cannot execute code.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:12
https://download.sf.net/$pkgname/OpenTitus_${pkgver}_src.zip -
PKGBUILD:15
https://archive.org/download/Disk7/Disk7.iso
PKGBUILD
2 offending line(s) highlightedpkgname=opentitus
pkgver=0.8.1
pkgrel=3
pkgdesc='Rewrite of the game engine used in the old DOS-based games Titus the Fox and Moktar (the French version)'
arch=(x86_64 aarch64)
url=https://opentitus.sourceforge.net/
license=(GPL3)
depends=(sdl_{mixer,image})
makedepends=(gcc9)
install=$pkgname.install
source=(
https://download.sf.net/$pkgname/OpenTitus_${pkgver}_src.zip
https://github.com/usineur/opentitus/raw/1f1c661392a71c734e5ee3916e2df5c3f9bef464/src/gates.c
https://github.com/chocolate-doom/chocolate-doom/archive/refs/tags/chocolate-doom-2.0.0.tar.gz
https://archive.org/download/Disk7/Disk7.iso
usrlevel.7z # http://ttf.mine.nu/cgi-bin/usrlevel.cgi, converted to SQZ with https://github.com/kaimitai/vtitus
titus_usrlevel.diff
$pkgname{.sh,{,-moktar,-usrlevel}.desktop}
{titus,moktar,lagbonus}.png
titusbig.webp # https://www.artstation.com/artwork/ba3Olo
lagafbig.webp) # https://cpcrulez.fr/GamesTest/les_aventures_de_moktar.htm#DL, cutout with https://zyro.com/tools/image-background-remover
noextract=(
${source[2]##*/}
Disk7.iso
usrlevel.7z)
md5sums=(
96d8226064c7f6072dadd25f1460b135
68f094cbc2c6af90a88a2672127f26f8
e8f6ce424e40308bdd5f8282856876fa
4996178ebf01d3271520de05727e2b99
SKIP{,,,,,,,,,,})
build(){
bsdtar xf ${source[2]##*/} chocolate-doom-chocolate-doom-2.0.0/opl/opl{.c,_{internal.h,queue.{c,h},sdl.c,timer.{c,h}}}
cd OpenTitus_${pkgver}_src
cp ../gates.c src
mv ../chocolate-doom-chocolate-doom-2.0.0/opl/* opl
sed -i 's,libopl_linux.a,dbopl_light.o opl/opl.o opl/opl_sdl.o opl/opl_queue.o,;1s,$, -I/usr/include/SDL,' Makefile_linux
CC=gcc-9 make -f Makefile_linux
sed -i /^videomode/s/0/1/ titus{,_moktar}.conf # fullscreen by default
}
package(){
mkdir -p "$pkgdir"/usr/share/$pkgname
bsdtar xf Disk7.iso FOX/{FONTS,LEVELD,MENU,SPREXP,TIT{RE,US}}.SQZ
mv FOX "$pkgdir"/usr/share/$pkgname/titus
install {titus,moktar,lagbonus}.png -Dt "$pkgdir"/usr/share/icons/hicolor/32x32/apps
install titusbig.webp -D "$pkgdir"/usr/share/icons/hicolor/512x512/apps/titus.png
cp lagafbig.webp "$pkgdir"/usr/share/icons/hicolor/512x512/apps/moktar.png
install $pkgname{,-moktar,-usrlevel}.desktop -Dt "$pkgdir"/usr/share/applications
cd OpenTitus_${pkgver}_src
install $pkgname ../$pkgname.sh -Dt "$pkgdir"/usr/bin
cp -r titus{,_moktar.conf} moktar "$pkgdir"/usr/share/$pkgname
bsdtar xf ../usrlevel.7z -C"$pkgdir"/usr/share/$pkgname
patch titus.conf ../titus_usrlevel.diff -o "$pkgdir"/usr/share/$pkgname/titus_usrlevel.conf
cp {,"$pkgdir"/usr/share/$pkgname/titus_}titus.conf
install flags/bordered_18x12/00_cctld/{no,il,nl}.png -Dt "$pkgdir"/usr/share/$pkgname/flags/bordered_18x12/00_cctld
install -D {,"$pkgdir"/usr/share/doc/$pkgname/}flags/readme.txt
cp -r doc {Changelog,readme{,_linux}}.txt "$pkgdir"/usr/share/doc/$pkgname
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |