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
6
pkgname=lix
7
pkgver=0.10.33
8
pkgrel=1
9
pkgdesc="An action-puzzle game inspired by Lemmings"
10
url="https://www.lixgame.com/"
11
changelog=.CHANGELOG
12
license=('custom:CC0')
13
14
_gitname=LixD
15
source=("$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")
17
sha512sums=('690077a83ee76a9aa3233185250d921cb0028135d92fa3545e3edd474673cab10b88d68c07956b8335678326f4c026799b5407bf466f0eede078758544fd6718'
18
'280fd25a479ac8dd24475b014234270a12ab34edca7fb2f7ce4b768259111b1e7626d3ba37ac13d810f0653d23d7c9f212776e94d2c0b31a0de580864771ce9f')
19
20
arch=('i686' 'x86_64')
21
depends=(
22
allegro
23
d-runtime
24
enet
25
hicolor-icon-theme
26
)
27
makedepends=(
28
d-compiler
29
dub
30
git
31
jq
32
pkgconf # https://github.com/SimonN/LixD/issues/469#issuecomment-2174416422
33
)
34
35
prepare() {
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
67
build() {
68
cd "$_gitname-$pkgver" || exit 1
69
_build build
70
}
71
72
check() {
73
cd "$_gitname-$pkgver" || exit 1
74
_build test
75
}
76
77
package() {
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) | 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 |