lix-git

maintainer Lucki · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The non-standard host hosts only game music data (a .zip file), which is non-executable and installed as static game content; the main source is from the official GitHub repository, and no remote code execution or supply-chain risks are present.

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 non-standard host hosts only game music data (a .zip file), which is non-executable and installed as static game content; the main source is from the official GitHub repository, and no remote code execution or supply-chain risks are present.

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:15 "$pkgname-music-1.1.zip::https://www.lixgame.com/dow/lix-music.zip")

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Lucki <https://aur.archlinux.org/account/Lucki>
2# Contributor: Carl Reinke <mindless2112 gmail com>
3# shellcheck shell=bash
4# shellcheck disable=SC2034,SC2154
5
6pkgname=lix-git
7pkgver=0.10.21.r1712198474.629c7121
8pkgrel=1
9pkgdesc="An action-puzzle game inspired by Lemmings"
10url="https://www.lixgame.com/"
11license=('custom:CC0')
12
13_pkgname=${pkgname%-git}
14source=("$pkgname::git+https://github.com/SimonN/lix-unstable.git"
15 "$pkgname-music-1.1.zip::https://www.lixgame.com/dow/lix-music.zip")
16sha512sums=('SKIP'
17 '280fd25a479ac8dd24475b014234270a12ab34edca7fb2f7ce4b768259111b1e7626d3ba37ac13d810f0653d23d7c9f212776e94d2c0b31a0de580864771ce9f')
18
19arch=(
20 'i686'
21 'x86_64'
22)
23depends=(
24 allegro
25 d-runtime
26 enet
27 hicolor-icon-theme
28)
29makedepends=(
30 d-compiler
31 dub
32 git
33 jq
34 pkgconf # https://github.com/SimonN/LixD/issues/469#issuecomment-2174416422
35)
36provides=("$_pkgname")
37conflicts=("$_pkgname")
38
39pkgver() {
40 # https://wiki.archlinux.org/index.php/VCS_package_guidelines#Git
41 cd "$pkgname" || exit 1
42 (
43 set -o pipefail
44
45 # version with unix committer date to bypass git squashes
46 printf "%s.r%s.%s" \
47 "$(<src/net/version.d sed -rn 's/.*_gameVersion = Version\(([0-9]+), ([0-9]+), ([0-9]+)\).*/\1.\2.\3/p')" \
48 "$(git show -s --format=%ct HEAD)" \
49 "$(git rev-parse --short HEAD)"
50 )
51}
52
53prepare() {
54 cd "$pkgname" || exit 1
55
56 # Iterate thorugh the required packages and versions to fetch them in advance
57 # Read from dub.selections.json and print them as "package@version"
58 for line in $(jq -r '.versions | keys[] as $k | "\($k)@\(.[$k])"' <dub.selections.json); do
59 # Fetch each package at the required version
60 # Expected format is: package@version
61 dub fetch --cache=local "$line"
62 done
63}
64
65_build() {
66 _r=0
67
68 # 2022.02.26
69 # 15:22 <@SimonN> It's possible that it's already enough to raise the stack size in the current shell: ulimit -s 16384
70 # 15:22 <@SimonN> See also: https://github.com/ldc-developers/ldc/issues/3913
71 # 15:26 <@SimonN> Yes, very high chance that the following will fix/workaround: Execute "ulimit -s 16384" in the same shell that will then run dub. I.e., we double the stack size, assuming "ulimit -s" printed 8192 before; it does that for me in new shells.
72 ulimit -s 16384
73
74 dub "$@" \
75 `# Do not resolve missing dependencies before building` \
76 --nodeps \
77 `# ensure dub stays outside the users home directory:` \
78 --cache=local \
79 `# Runs multiple compiler instances in parallel, if possible:` \
80 --parallel \
81 `# Forces a recompilation even if the target is up to date:` \
82 --force \
83 `# force FHS compatibility:` \
84 --build=releaseXDG
85}
86
87build() {
88 cd "$pkgname" || exit 1
89 _build build
90}
91
92check() {
93 cd "$pkgname" || exit 1
94 _build test
95}
96
97package() {
98 cd "$pkgname" || exit 1
99
100 # install application entry
101 install -Dm644 \
102 `# SRCFILE:` \
103 "data/desktop/com.lixgame.Lix.desktop" \
104 `# DSTFILE:` \
105 "$pkgdir/usr/share/applications/$_pkgname.desktop"
106
107 # install application entry icon
108 install -Dm644 \
109 `# SRCFILE:` \
110 "data/images/${_pkgname}_logo.svg" \
111 `# DSTFILE:` \
112 "$pkgdir/usr/share/icons/hicolor/scalable/apps/$_pkgname.svg"
113
114 # install license text
115 install -Dm644 \
116 `# SRCFILE:` \
117 "doc/copying.txt" \
118 `# DSTFILE:` \
119 "$pkgdir/usr/share/licenses/$_pkgname/COPYING"
120
121 # install man page
122 install -Dm644 \
123 `# SRCFILE:` \
124 "doc/lix.6" \
125 `# DSTFILE:` \
126 "$pkgdir/usr/share/man/man6/lix.6"
127
128 # install binary
129 install -Dm755 \
130 `# SRCFILE:` \
131 "bin/$_pkgname" \
132 `# DSTFILE:` \
133 "$pkgdir/usr/bin/$_pkgname"
134
135 # remove unimportant files
136 # https://raw.githubusercontent.com/SimonN/LixD/master/doc/build/package.txt
137 rm -r "doc/build"
138
139 # https://lists.archlinux.org/pipermail/aur-general/2011-November/016777.html
140 # make directories
141 mkdir -p \
142 "$pkgdir/usr/share/$_pkgname" \
143 "$pkgdir/usr/share/doc/$_pkgname"
144
145 # copy documentary
146 cp -dpr --no-preserve=ownership \
147 `# SRCFILES:` \
148 "doc/." \
149 `# DSTDIR:` \
150 "$pkgdir/usr/share/doc/$_pkgname/"
151
152 # copy game files
153 cp -dpr --no-preserve=ownership \
154 `# SRCDIRS:` \
155 "data" \
156 "images" \
157 "levels" \
158 "$srcdir/music" \
159 `# DSTDIR:` \
160 "$pkgdir/usr/share/$_pkgname"
161}
162

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

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

0 / 4000
Your suggestion