lix

maintainer Lucki · 4 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package downloads source code from GitHub (project's own repository) and music files from the project's official domain; the music zip is non-executable data, so the non-standard host usage is low 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 downloads source code from GitHub (project's own repository) and music files from the project's official domain; the music zip is non-executable data, so the non-standard host usage is low 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:16 "$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
7pkgver=0.10.33
8pkgrel=1
9pkgdesc="An action-puzzle game inspired by Lemmings"
10url="https://www.lixgame.com/"
11changelog=.CHANGELOG
12license=('custom:CC0')
13
14_gitname=LixD
15source=("$pkgname-$pkgver.src.tar.gz::https://github.com/SimonN/LixD/archive/v$pkgver.tar.gz"
16 "$pkgname-music-1.1.zip::https://www.lixgame.com/dow/lix-music.zip")
17sha512sums=('690077a83ee76a9aa3233185250d921cb0028135d92fa3545e3edd474673cab10b88d68c07956b8335678326f4c026799b5407bf466f0eede078758544fd6718'
18 '280fd25a479ac8dd24475b014234270a12ab34edca7fb2f7ce4b768259111b1e7626d3ba37ac13d810f0653d23d7c9f212776e94d2c0b31a0de580864771ce9f')
19
20arch=('i686' 'x86_64')
21depends=(
22 allegro
23 d-runtime
24 enet
25 hicolor-icon-theme
26)
27makedepends=(
28 d-compiler
29 dub
30 git
31 jq
32 pkgconf # https://github.com/SimonN/LixD/issues/469#issuecomment-2174416422
33)
34
35prepare() {
36 cd "$_gitname-$pkgver" || exit 1
37
38 # Iterate through the required packages and versions to fetch them in advance
39 # Read from dub.selections.json and print them as "package@version"
40 for line in $(jq -r '.versions | keys[] as $k | "\($k)@\(.[$k])"' <dub.selections.json); do
41 # Fetch each package at the required version
42 # Expected format is: package@version
43 dub fetch --cache=local "$line"
44 done
45}
46
47_build() {
48 # 2022.02.26
49 # 15:22 <@SimonN> It's possible that it's already enough to raise the stack size in the current shell: ulimit -s 16384
50 # 15:22 <@SimonN> See also: https://github.com/ldc-developers/ldc/issues/3913
51 # 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.
52 ulimit -s 16384
53
54 dub "$@" \
55 `# Do not resolve missing dependencies before building` \
56 --nodeps \
57 `# Ensure dub stays outside the users home directory` \
58 --cache=local \
59 `# Runs multiple compiler instances in parallel, if possible` \
60 --parallel \
61 `# Forces a recompilation even if the target is up to date` \
62 --force \
63 `# Force FHS compatibility` \
64 --build=releaseXDG
65}
66
67build() {
68 cd "$_gitname-$pkgver" || exit 1
69 _build build
70}
71
72check() {
73 cd "$_gitname-$pkgver" || exit 1
74 _build test
75}
76
77package() {
78 cd "$_gitname-$pkgver" || exit 1
79
80 # install application entry
81 install -Dm644 \
82 `# SRCFILE:` \
83 "data/desktop/com.lixgame.Lix.desktop" \
84 `# DSTFILE:` \
85 "$pkgdir/usr/share/applications/$pkgname.desktop"
86
87 # install application entry icon
88 install -Dm644 \
89 `# SRCFILE:` \
90 "data/images/${pkgname}_logo.svg" \
91 `# DSTFILE:` \
92 "$pkgdir/usr/share/icons/hicolor/scalable/apps/$pkgname.svg"
93
94 # install license text
95 install -Dm644 \
96 `# SRCFILE:` \
97 "doc/copying.txt" \
98 `# DSTFILE:` \
99 "$pkgdir/usr/share/licenses/$pkgname/COPYING"
100
101 # install man page
102 install -Dm644 \
103 `# SRCFILE:` \
104 "doc/lix.6" \
105 `# DSTFILE:` \
106 "$pkgdir/usr/share/man/man6/lix.6"
107
108 # install binary
109 install -Dm755 \
110 `# SRCFILE:` \
111 "bin/$pkgname" \
112 `# DSTFILE:` \
113 "$pkgdir/usr/bin/$pkgname"
114
115 # remove unimportant files
116 # https://raw.githubusercontent.com/SimonN/LixD/master/doc/build/package.txt
117 rm -r "doc/build"
118
119 # https://lists.archlinux.org/pipermail/aur-general/2011-November/016777.html
120 # make directories
121 mkdir -p \
122 "$pkgdir/usr/share/$pkgname" \
123 "$pkgdir/usr/share/doc/$pkgname"
124
125 # copy documentary
126 cp -dpr --no-preserve=ownership \
127 `# SRCFILES:` \
128 "doc/." \
129 `# DSTDIR:` \
130 "$pkgdir/usr/share/doc/$pkgname/"
131
132 # copy game files
133 cp -dpr --no-preserve=ownership \
134 `# SRCDIRS:` \
135 "data" \
136 "images" \
137 "levels" \
138 "$srcdir/music" \
139 `# DSTDIR:` \
140 "$pkgdir/usr/share/$pkgname"
141}
142

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