th06-demo-wine
th06-demo
scanned 2026-09-17 00:27:14.276658
The source is a legitimate trial version of a Touhou Project game from the official developer's domain (zun's Big.or.jp page), which is a standard host for this software; the download is a data archive, not an executable payload, and is checksum-verified.
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 source is a legitimate trial version of a Touhou Project game from the official developer's domain (zun's Big.or.jp page), which is a standard host for this software; the download is a data archive, not an executable payload, and is checksum-verified.
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
source=('http://www16.big.or.jp/~zun/data/soft/kouma_tr013.lzh'
PKGBUILD
1 offending line(s) highlighted# Maintainer: Minmo <com dot gmail at maroboromike>
# Contributor: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
pkgbase='th06-demo'
pkgname=('th06-demo-data' 'th06-demo-wine' 'th06-demo-pytouhou')
pkgver=0.13
pkgrel=4
url='http://www16.big.or.jp/~zun/html/th06.html'
arch=('any')
license=('custom')
makedepends=('convmv' 'icoutils' 'p7zip')
source=('http://www16.big.or.jp/~zun/data/soft/kouma_tr013.lzh'
"$pkgbase-wine.desktop" "$pkgbase-wine.sh"
"$pkgbase-pytouhou.desktop" "$pkgbase-pytouhou.sh")
sha1sums=('dfeb4dd358c6613ec4d8b701d41672ca75b6a0c9'
'333378812ca70ba6c075abef71e6743e8cd331ca'
'96bdc21f1e4f14bfeb19ff7025e83e658ec50f33'
'93d2273e95886b29dfd94af22a485b0b50706ba8'
'4591e137f7948508140c5014d11eacad41b63b0d')
prepare() {
LC_ALL=C 7z x kouma_tr013.lzh
convmv -f CP932 -t UTF-8 -r --notest .
cd "$srcdir"
}
package_th06-demo-data() {
pkgdesc='Embodiment of Scarlet Devil trial version. Sixth game of the Touhou Project series; data files.'
cd "$srcdir/東方紅魔郷 体験版"
install -dm755 "$pkgdir/usr/share/$pkgbase"
install -m755 *.exe "$pkgdir/usr/share/$pkgbase"
install -m644 *.DAT "$pkgdir/usr/share/$pkgbase"
install -dm755 "$pkgdir/usr/share/doc/$pkgbase/html"
install -m644 *.txt 'マニュアル/index.html' "$pkgdir/usr/share/doc/$pkgbase"
install -m644 マニュアル/html/* "$pkgdir/usr/share/doc/$pkgbase/html"
install -dm755 "$pkgdir/usr/share/pixmaps"
wrestool -x -o th06-demo.ico 東方紅魔郷.exe
install -m644 th06-demo.ico "$pkgdir/usr/share/pixmaps"
# Here we convert the ico file to png, not sure if it’s worth it.
icotool -x th06-demo.ico
install -m644 th06-demo_1_32x32x8.png "$pkgdir/usr/share/pixmaps/th06-demo.png"
}
package_th06-demo-wine() {
pkgdesc='Embodiment of Scarlet Devil trial version. Sixth game of the Touhou Project series; Wine version.'
depends=("$pkgbase-data" 'wine')
optdepends=('timidity++: for MIDI musics' 'soundfont-fluid: soundfont')
install -dm755 "$pkgdir/usr/share/applications"
install -m644 "$pkgname.desktop" "$pkgdir/usr/share/applications"
install -dm755 "$pkgdir/usr/bin"
install -m755 "$pkgname.sh" "$pkgdir/usr/bin/$pkgname"
echo ''
echo '######################################'
echo '# To hear sound, install the optional dependencies and add the following to `/etc/timidity/timidity.cfg`'
echo '# `soundfont /usr/share/soundfonts/FluidR3_GM.sf2`'
echo '# Add your user to the audio group: `gpasswd -a $USER audio`'
echo '# Reboot'
echo '# If you still cannot hear sound recheck the timidity config file, it seems to sometimes get overwritten'
echo '######################################'
echo ''
}
package_th06-demo-pytouhou() {
pkgdesc='Embodiment of Scarlet Devil trial version. Sixth game of the Touhou Project series; PyTouhou version.'
depends=("$pkgbase-data" 'pytouhou-hg')
install -dm755 "$pkgdir/usr/share/applications"
install -m644 "$pkgname.desktop" "$pkgdir/usr/share/applications"
install -dm755 "$pkgdir/usr/bin"
install -m755 "$pkgname.sh" "$pkgdir/usr/bin/$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 |