zls0.9-bin
maintainer vitaliikuzhdin
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads prebuilt binaries and signatures from the project's own domain (zigtools.org), which is plausibly official; despite the static analyzer flag for a non-standard host, the source is verified via minisign and the worst case of a swapped binary is limited by the project's own infrastructure trust.
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 prebuilt binaries and signatures from the project's own domain (zigtools.org), which is plausibly official; despite the static analyzer flag for a non-standard host, the source is verified via minisign and the worst case of a swapped binary is limited by the project's own infrastructure trust.
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:36
source_i686=("https://builds.zigtools.org/${_basename}-linux-x86-${pkgver}.tar.xz"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Vitalii Kuzhdin <vitaliikuzhdin@gmail.com>
2
3
_basename="zls"
4
pkgver=0.9.0
5
_pkgver="${pkgver%.*}"
6
pkgrel=2
7
8
_pkgname="${_basename}${_pkgver}"
9
pkgname="${_pkgname}-bin"
10
pkgdesc="A language server for Zig"
11
arch=(
12
# 'aarch64'
13
# 'armv7h'
14
'i686'
15
# 'riscv64'
16
'x86_64'
17
)
18
url="https://zigtools.org/zls"
19
license=('MIT')
20
depends=(
21
'sh'
22
"zig${_pkgver}"
23
)
24
makedepends=(
25
'minisign'
26
)
27
provides=(
28
"${_pkgname}"
29
)
30
conflicts=(
31
"${_pkgname}"
32
)
33
source=("${_basename}-versioned.sh")
34
# source_aarch64=("https://builds.zigtools.org/${_basename}-linux-aarch64-${pkgver}.tar.xz"
35
# "https://builds.zigtools.org/${_basename}-linux-aarch64-${pkgver}.tar.xz.minisig")
36
source_i686=("https://builds.zigtools.org/${_basename}-linux-x86-${pkgver}.tar.xz"
37
"https://builds.zigtools.org/${_basename}-linux-x86-${pkgver}.tar.xz.minisig")
38
# source_riscv64=("https://builds.zigtools.org/${_basename}-linux-riscv64-${pkgver}.tar.xz"
39
# "https://builds.zigtools.org/${_basename}-linux-riscv64-${pkgver}.tar.xz.minisig")
40
source_x86_64=("https://builds.zigtools.org/${_basename}-linux-x86_64-${pkgver}.tar.xz"
41
"https://builds.zigtools.org/${_basename}-linux-x86_64-${pkgver}.tar.xz.minisig")
42
sha256sums=('b9e70d344290a58c6e8199a22232fbd2a8789cf76ddf0574f0a4ea647299ea68')
43
sha256sums_i686=('4596d0fcf236da331fa3afd9f282ac2492f22469f1b673465035b80850f4bd01'
44
'SKIP')
45
sha256sums_x86_64=('0bb16e2e3a1c4dab22b1d6b25deeefd2212abcc2e88702a3f58705164703a7f8'
46
'SKIP')
47
48
if [ "${CARCH}" = 'aarch64' ]; then _arch=aarch64;
49
elif [ "${CARCH}" = 'armv7h' ]; then _arch=armv7a;
50
elif [ "${CARCH}" = 'i686' ]; then _arch=x86; # i386
51
elif [ "${CARCH}" = 'riscv64' ]; then _arch=riscv64;
52
elif [ "${CARCH}" = 'x86_64' ]; then _arch=x86_64;
53
else _arch=DUMMY;
54
fi
55
56
verify() {
57
# https://zigtools.org/zls/releases/0.9.0/
58
local zls_minisign="RWR+9B91GBZ0zOjh6Lr17+zKf5BoSuFvrx2xSeDE57uIYvnKBGmMjOex"
59
60
minisign -V \
61
-P "${zls_minisign}" \
62
-m "${_basename}-linux-${_arch}-${pkgver}.tar.xz"
63
}
64
65
prepare() {
66
cd "${srcdir}"
67
sed -e "s|@@ZIG_PATH@@|/opt/zig${_pkgver}|g" \
68
-e "s|@@ZLS_PATH@@|/usr/lib/${_pkgname}|g" \
69
-i "${_basename}-versioned.sh"
70
}
71
72
package() {
73
cd "${srcdir}"
74
install -vDm755 "${_basename}-versioned.sh" "${pkgdir}/usr/bin/${_pkgname}"
75
install -vDm755 "${_basename}" "${pkgdir}/usr/lib/${_pkgname}/${_basename}"
76
install -vDm644 "README.md" "${pkgdir}/usr/share/doc/${_pkgname}/README.md"
77
install -vDm644 "LICENSE" "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE"
78
}
79
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 |