wuffs-docs-git
maintainer dreieck
· 0 votes
· base
wuffs-git
· scanned 2026-08-18 00:03:42.021799
LOW
View on AUR ↗
Why flagged
The package builds from the official GitHub source of a legitimate project, and the 'external install via go' is part of the project's normal build process using its own tooling, posing no supply-chain 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-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package builds from the official GitHub source of a legitimate project, and the 'external install via go' is part of the project's normal build process using its own tooling, posing no supply-chain risk.
2 higher static findings superseded - not the current verdict (shown for transparency)
MEDIUM
External install via pipx/uv/poetry/cargo/go/gem
alt_pkg_manager_install
A non-pip/npm package manager (pipx, uv, poetry, cargo install, go install, gem, conda…) fetches and builds an external package at build time, outside source=() and makepkg's checksums.
-
PKGBUILD:120
go install -v -modcacherw github.com/google/wuffs/cmd/...
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:56
"${_gitname}::git+https://${_githost}/${_gituser}/${_gitname}.git"
PKGBUILD
2 offending line(s) highlighted
1
# Maintainer: dreieck (https://aur.archlinux.org/account/dreieck)
2
3
_gitname="wuffs"
4
_pkgbase="${_gitname}"
5
pkgbase="${_pkgbase}-git"
6
7
pkgname=(
8
"${_pkgbase}-lib-git"
9
"${_pkgbase}-examples-git"
10
"${_pkgbase}-fuzzers-git"
11
"${_pkgbase}-lang-git"
12
"${_pkgbase}-docs-git"
13
"${_pkgbase}-license-git"
14
)
15
16
pkgdesc="A memory-safe programming language, and a standard library, for Wrangling Untrusted File Formats Safely. Wrangling includes parsing, decoding and encoding. Example file formats include images, audio, video, fonts and compressed archives."
17
18
pkgver=0.3.5+11.r3999.20260721.9d8285b5
19
pkgrel=2
20
21
arch=(
22
'i686'
23
'x86_64'
24
'armv6h'
25
'armv7h'
26
'aarch64'
27
'pentium4'
28
'riscv64'
29
)
30
_githost='github.com'
31
_gituser='google'
32
url="https://${_githost}/${_gituser}/${_gitname}"
33
license=(
34
"MIT"
35
"Apache-2.0"
36
)
37
makedepends=(
38
'gcc' # Yes, it needs both clang and GCC!
39
'gcc-libs'
40
'glibc'
41
'git'
42
'go'
43
"libxcb"
44
"lz4"
45
"sdl2"
46
"sdl2_image"
47
"xcb-util-image"
48
"xcb-util-renderutil"
49
"zlib"
50
"zstd"
51
)
52
53
checkdepends=()
54
55
source=(
56
"${_gitname}::git+https://${_githost}/${_gituser}/${_gitname}.git"
57
# "wuffs-build-all_disable-tests.patch" # Not needed if we don't run build-all.sh.
58
"wuffs-test-all.sh"
59
)
60
sha256sums=(
61
'SKIP' # Main upstream source.
62
# '85cbe5911efa30fde54fc364aecf8f2d1e89f0cb387654127d020037caef447c' # wuffs-build-all_disable-tests.patch
63
'2cd9df1708364eb3db73c56beb5bd0400adef6d670033195c4647378ec612d29' # wuffs-test-all.sh
64
)
65
66
prepare() {
67
export GOPATH="${srcdir}/.go"
68
export GOBIN="${GOPATH}/bin"
69
70
cd "${srcdir}/${_gitname}"
71
72
# for _patch in "${srcdir}"/wuffs-build-all_disable-tests.patch; do # Not needed if we don't run build-all.sh.
73
# printf '%s\n' " -> Applying patch '$(basename "${_patch}")' ..."
74
# patch -Np1 --follow-symlinks -i "${_patch}"
75
# done
76
77
printf '%s\n' " --> running 'go get -v -modcacherw github.com/google/wuffs/cmd/...' ..."
78
go get -v -modcacherw github.com/google/wuffs/cmd/...
79
printf '\n'
80
81
git log > "${srcdir}/git.log"
82
}
83
84
pkgver() {
85
cd "${srcdir}/${_gitname}"
86
87
_ver="$(git describe --tags | sed -E -e 's|^spin-in-||' -e 's|^[vV]||' -e 's|\-g[0-9a-f]*$||' | tr '-' '+')"
88
_rev="$(git rev-list --count HEAD)"
89
_date="$(git log -1 --date=format:"%Y%m%d" --format="%ad")"
90
_hash="$(git rev-parse --short HEAD)"
91
92
if [ -z "${_ver}" ]; then
93
error "Version could not be determined."
94
return 1
95
else
96
printf '%s' "${_ver}.r${_rev}.${_date}.${_hash}"
97
fi
98
}
99
100
build() {
101
export GOPATH="${srcdir}/.go"
102
export GOBIN="${GOPATH}/bin"
103
export PATH="${GOBIN}:${PATH}"
104
105
local _CFLAGSADDITIONS=""
106
local _SILENCEWARNINGS=("stringop-overflow")
107
local _warning
108
for _warning in "${_SILENCEWARNINGS[@]}"; do
109
_CFLAGSADDITIONS+=" -Wno-${_warning} -Wno-error=${_warning}"
110
done
111
CFLAGS+="${_CFLAGSADDITIONS}"
112
CXXFLAGS+="${_CFLAGSADDITIONS}"
113
export CFLAGS
114
export CXXFLAGS
115
116
cd "${srcdir}/${_gitname}"
117
118
# Excerpts from build-all.sh:
119
printf '%s\n' " --> running 'go install -v -modcacherw github.com/google/wuffs/cmd/...' ..."
120
go install -v -modcacherw github.com/google/wuffs/cmd/...
121
printf '\n'
122
printf '%s\n' " --> running 'wuffs gen -langs 'c'' ..."
123
wuffs gen -langs 'c'
124
printf '\n'
125
printf '%s\n' " --> running 'wuffs genlib -ccompilers gcc -langs 'c' -skipgen' ..."
126
wuffs genlib -ccompilers gcc -langs 'c' -skipgen
127
printf '\n'
128
printf '%s\n' " --> running './build-example.sh' ..."
129
./build-example.sh
130
printf '\n'
131
printf '%s\n' " --> running './build-fuzz.sh' ..."
132
./build-fuzz.sh
133
printf '\n'
134
}
135
136
# ### 2026-08-03: `check()` Disabled, since `gen/bin/fuzz-pixel_swizzler` crashes with a segmentation fault.
137
# check() {
138
# cd "${srcdir}/${_gitname}"
139
#
140
# "${srcdir}"/wuffs-test-all.sh
141
# }
142
143
package_wuffs-lib-git() {
144
pkgdesc='A memory-safe standard library for Wrangling Untrusted File Formats Safely. Wrangling includes parsing, decoding and encoding. Example file formats include images, audio, video, fonts and compressed archives.'
145
depends=(
146
"glibc"
147
"wuffs-license"
148
)
149
provides=(
150
"wuffs-lib=${pkgver}"
151
"libwuffs.so"
152
"libwuffs.a"
153
)
154
conflicts=(
155
"wuffs-lib"
156
)
157
optdepends=(
158
"python-pywuffs: For python binding."
159
"wuffs-docs: For the documentation of this software."
160
)
161
162
cd "${srcdir}/${_gitname}"
163
164
install -Dvm644 -t "${pkgdir}/usr/include" release/c/*.c gen/c/*.c
165
install -Dvm755 -t "${pkgdir}/usr/lib" gen/lib/c/gcc-dynamic/libwuffs.so
166
install -Dvm644 -t "${pkgdir}/usr/lib" gen/lib/c/gcc-static/libwuffs.a
167
168
install -Dvm644 -t "${pkgdir}/usr/share/doc/wuffs-lib" release/c/README.md
169
170
install -dvm755 "${pkgdir}/usr/share/licenses"
171
ln -svr "${pkgdir}/usr/share/licenses/wuffs" "${pkgdir}/usr/share/licenses"/wuffs-lib-git
172
}
173
174
package_wuffs-examples-git() {
175
pkgdesc='Example programmes for wuffs, a memory-safe programming language and standard library for Wrangling Untrusted File Formats Safely.'
176
depends=(
177
"gcc-libs"
178
"glibc"
179
"sdl2"
180
"sdl2_image"
181
"xcb-util-image"
182
"xcb-util-renderutil"
183
"wuffs-license"
184
)
185
provides=(
186
"wuffs-examples=${pkgver}"
187
)
188
conflicts=(
189
"wuffs-examples"
190
)
191
optdepends=(
192
"wuffs-docs: For the documentation of this software."
193
)
194
195
cd "${srcdir}/${_gitname}"
196
197
local _bins _bin
198
_bins=`ls -1 gen/bin/example-*`
199
for _bin in ${_bins}; do
200
_name="$(basename "${_bin}" | sed -E -e 's|^example-||')"
201
install -Dvm755 "${_bin}" "${pkgdir}/usr/bin"/wuffs-"${_name}"
202
done
203
204
install -Dvm644 -t "${pkgdir}/usr/share/doc/wuffs-examples" example/README.md
205
206
install -dvm755 "${pkgdir}/usr/share/licenses"
207
ln -svr "${pkgdir}/usr/share/licenses/wuffs" "${pkgdir}/usr/share/licenses"/wuffs-examples-git
208
}
209
210
package_wuffs-fuzzers-git() {
211
pkgdesc='Fuzzer programmes for wuffs, a memory-safe programming language and standard library for Wrangling Untrusted File Formats Safely.'
212
depends=(
213
"gcc-libs"
214
"glibc"
215
"wuffs-license"
216
)
217
provides=(
218
"wuffs-fuzzers=${pkgver}"
219
)
220
conflicts=(
221
"wuffs-fuzzers"
222
)
223
optdepends=(
224
"wuffs-docs: For the documentation of this software."
225
)
226
227
cd "${srcdir}/${_gitname}"
228
229
local _bins _bin
230
_bins=`ls -1 gen/bin/fuzz-*`
231
for _bin in ${_bins}; do
232
_name="$(basename "${_bin}")"
233
install -Dvm755 "${_bin}" "${pkgdir}/usr/bin"/wuffs-"${_name}"
234
done
235
236
install -Dvm644 -t "${pkgdir}/usr/share/doc/wuffs-fuzzers" fuzz/c/std/README.md
237
238
install -dvm755 "${pkgdir}/usr/share/licenses"
239
ln -svr "${pkgdir}/usr/share/licenses/wuffs" "${pkgdir}/usr/share/licenses"/wuffs-fuzzers-git
240
}
241
242
package_wuffs-lang-git() {
243
pkgdesc='A memory-safe programming language for Wrangling Untrusted File Formats Safely. Wrangling includes parsing, decoding and encoding. Example file formats include images, audio, video, fonts and compressed archives.'
244
depends=(
245
"wuffs-license"
246
)
247
provides=(
248
"wuffs-lang=${pkgver}"
249
"dumbindent=${pkgver}"
250
"handsum=${pkgver}"
251
"ractool=${pkgver}"
252
"wuffs=${pkgver}"
253
"wuffs-c=${pkgver}"
254
"wuffsfmt=${pkgver}"
255
)
256
conflicts=(
257
"wuffs-lang"
258
"dumbindent"
259
"handsum"
260
"ractool"
261
"wuffs"
262
"wuffs-c"
263
"wuffsfmt"
264
)
265
optdepends=(
266
"glibc: For 'ractool'."
267
"liblz4.so: For 'ractool'."
268
"libz.so: For 'ractool'."
269
"libzstd.so: For 'ractool'."
270
"wuffs-docs: For the documentation of this software."
271
)
272
273
export GOPATH="${srcdir}/.go"
274
export GOBIN="${GOPATH}/bin"
275
276
cd "${srcdir}/${_gitname}"
277
278
install -Dvm755 -t "${pkgdir}/usr/bin" "${GOBIN}"/{dumbindent,handsum,ractool,wuffs,wuffs-c,wuffsfmt}
279
280
install -dvm755 "${pkgdir}/usr/share/licenses"
281
ln -svr "${pkgdir}/usr/share/licenses/wuffs" "${pkgdir}/usr/share/licenses"/wuffs-lang-git
282
}
283
284
package_wuffs-docs-git() {
285
pkgdesc='Documentation for "Wuffs the Library" and "Wuffs the Language", as well as the corresponding example binaries.'
286
depends=("wuffs-license")
287
provides=(
288
"wuffs-docs=${pkgver}"
289
)
290
conflicts=(
291
"wuffs-docs"
292
)
293
optdepends=(
294
"wuffs-lib: The library this documentation is for."
295
"wuffs-lang: The programming language this documentation is for."
296
"wuffs-examples: The example programmes this documentation is for."
297
"wuffs-fuzzers: The fuzzer programmes this documentation is for."
298
)
299
arch=('any')
300
301
cd "${srcdir}/${_gitname}"
302
303
install -Dvm644 -t "${pkgdir}/usr/share/doc/${_pkgbase}" "${srcdir}"/git.log AUTHORS BUILD.md CONTRIBUTING.md CONTRIBUTORS README.md
304
cp -rv doc "${pkgdir}/usr/share/doc/${_pkgbase}"/
305
306
install -dvm755 "${pkgdir}/usr/share/licenses"
307
ln -svr "${pkgdir}/usr/share/licenses/wuffs" "${pkgdir}/usr/share/licenses"/wuffs-docs-git
308
}
309
310
package_wuffs-license-git() {
311
pkgdesc='Common license for "Wuffs the Library" and "Wuffs the Language", as well as the corresponding example binaries.'
312
depends=()
313
provides=(
314
"wuffs-license=${pkgver}"
315
)
316
conflicts=(
317
"wuffs-license"
318
)
319
optdepends=(
320
"wuffs-lib: The library this license is for."
321
"wuffs-lang: The programming language this license is for."
322
"wuffs-examples: The example programmes this license is for."
323
"wuffs-fuzzers: The fuzzer programmes this license is for."
324
)
325
arch=('any')
326
327
cd "${srcdir}/${_gitname}"
328
329
cd "${srcdir}/${_gitname}"
330
install -Dvm644 -t "${pkgdir}/usr/share/licenses/wuffs" LICENSE LICENSE-APACHE LICENSE-MIT
331
ln -svr "${pkgdir}/usr/share/licenses/wuffs" "${pkgdir}/usr/share/licenses"/wuffs-license-git
332
ln -svr "${pkgdir}/usr/share/licenses/wuffs" "${pkgdir}/usr/share/licenses"/wuffs-license
333
}
334
Changes since previous scan
--- PKGBUILD @ 2026-06-19 23:51+++ PKGBUILD @ 2026-08-18 00:03@@ -15,8 +15,8 @@ pkgdesc="A memory-safe programming language, and a standard library, for Wrangling Untrusted File Formats Safely. Wrangling includes parsing, decoding and encoding. Example file formats include images, audio, video, fonts and compressed archives." -pkgver=0.4.0+alpha.9+49.r3887.20251111.072595ae-pkgrel=1+pkgver=0.3.5+11.r3999.20260721.9d8285b5+pkgrel=2 arch=( 'i686'@@ -35,7 +35,7 @@ "Apache-2.0" ) makedepends=(- 'gcc'+ 'gcc' # Yes, it needs both clang and GCC! 'gcc-libs' 'glibc' 'git'@@ -54,9 +54,13 @@ source=( "${_gitname}::git+https://${_githost}/${_gituser}/${_gitname}.git"+ # "wuffs-build-all_disable-tests.patch" # Not needed if we don't run build-all.sh.+ "wuffs-test-all.sh" ) sha256sums=(- 'SKIP'+ 'SKIP' # Main upstream source.+ # '85cbe5911efa30fde54fc364aecf8f2d1e89f0cb387654127d020037caef447c' # wuffs-build-all_disable-tests.patch+ '2cd9df1708364eb3db73c56beb5bd0400adef6d670033195c4647378ec612d29' # wuffs-test-all.sh ) prepare() {@@ -65,7 +69,14 @@ cd "${srcdir}/${_gitname}" - go get -v github.com/google/wuffs/cmd/...+ # for _patch in "${srcdir}"/wuffs-build-all_disable-tests.patch; do # Not needed if we don't run build-all.sh.+ # printf '%s\n' " -> Applying patch '$(basename "${_patch}")' ..."+ # patch -Np1 --follow-symlinks -i "${_patch}"+ # done++ printf '%s\n' " --> running 'go get -v -modcacherw github.com/google/wuffs/cmd/...' ..."+ go get -v -modcacherw github.com/google/wuffs/cmd/...+ printf '\n' git log > "${srcdir}/git.log" }@@ -73,7 +84,7 @@ pkgver() { cd "${srcdir}/${_gitname}" - _ver="$(git describe --tags | sed -E -e 's|^[vV]||' -e 's|\-g[0-9a-f]*$||' | tr '-' '+')"+ _ver="$(git describe --tags | sed -E -e 's|^spin-in-||' -e 's|^[vV]||' -e 's|\-g[0-9a-f]*$||' | tr '-' '+')" _rev="$(git rev-list --count HEAD)" _date="$(git log -1 --date=format:"%Y%m%d" --format="%ad")" _hash="$(git rev-parse --short HEAD)"@@ -91,15 +102,43 @@ export GOBIN="${GOPATH}/bin" export PATH="${GOBIN}:${PATH}" - cd "${srcdir}/${_gitname}"- printf '%s\n' " --> building ..."-- ./build-all.sh- #./build-example.sh- #./build-fuzz.sh- #go install -v ./cmd/wuffs*- #wuffs gen-}+ local _CFLAGSADDITIONS=""+ local _SILENCEWARNINGS=("stringop-overflow")+ local _warning+ for _warning in "${_SILENCEWARNINGS[@]}"; do+ _CFLAGSADDITIONS+=" -Wno-${_warning} -Wno-error=${_warning}"+ done+ CFLAGS+="${_CFLAGSADDITIONS}"+ CXXFLAGS+="${_CFLAGSADDITIONS}"+ export CFLAGS+ export CXXFLAGS++ cd "${srcdir}/${_gitname}"++ # Excerpts from build-all.sh:+ printf '%s\n' " --> running 'go install -v -modcacherw github.com/google/wuffs/cmd/...' ..."+ go install -v -modcacherw github.com/google/wuffs/cmd/...+ printf '\n'+ printf '%s\n' " --> running 'wuffs gen -langs 'c'' ..."+ wuffs gen -langs 'c'+ printf '\n'+ printf '%s\n' " --> running 'wuffs genlib -ccompilers gcc -langs 'c' -skipgen' ..."+ wuffs genlib -ccompilers gcc -langs 'c' -skipgen+ printf '\n'+ printf '%s\n' " --> running './build-example.sh' ..."+ ./build-example.sh+ printf '\n'+ printf '%s\n' " --> running './build-fuzz.sh' ..."+ ./build-fuzz.sh+ printf '\n'+}++# ### 2026-08-03: `check()` Disabled, since `gen/bin/fuzz-pixel_swizzler` crashes with a segmentation fault.+# check() {+# cd "${srcdir}/${_gitname}"+# +# "${srcdir}"/wuffs-test-all.sh+# } package_wuffs-lib-git() { pkgdesc='A memory-safe standard library for Wrangling Untrusted File Formats Safely. Wrangling includes parsing, decoding and encoding. Example file formats include images, audio, video, fonts and compressed archives.'@@ -128,7 +167,7 @@ install -Dvm644 -t "${pkgdir}/usr/share/doc/wuffs-lib" release/c/README.md - install -dvm644 "${pkgdir}/usr/share/licenses"+ install -dvm755 "${pkgdir}/usr/share/licenses" ln -svr "${pkgdir}/usr/share/licenses/wuffs" "${pkgdir}/usr/share/licenses"/wuffs-lib-git } @@ -164,7 +203,7 @@ install -Dvm644 -t "${pkgdir}/usr/share/doc/wuffs-examples" example/README.md - install -dvm644 "${pkgdir}/usr/share/licenses"+ install -dvm755 "${pkgdir}/usr/share/licenses" ln -svr "${pkgdir}/usr/share/licenses/wuffs" "${pkgdir}/usr/share/licenses"/wuffs-examples-git } @@ -196,7 +235,7 @@ install -Dvm644 -t "${pkgdir}/usr/share/doc/wuffs-fuzzers" fuzz/c/std/README.md - install -dvm644 "${pkgdir}/usr/share/licenses"+ install -dvm755 "${pkgdir}/usr/share/licenses" ln -svr "${pkgdir}/usr/share/licenses/wuffs" "${pkgdir}/usr/share/licenses"/wuffs-fuzzers-git } @@ -238,7 +277,7 @@ install -Dvm755 -t "${pkgdir}/usr/bin" "${GOBIN}"/{dumbindent,handsum,ractool,wuffs,wuffs-c,wuffsfmt} - install -dvm644 "${pkgdir}/usr/share/licenses"+ install -dvm755 "${pkgdir}/usr/share/licenses" ln -svr "${pkgdir}/usr/share/licenses/wuffs" "${pkgdir}/usr/share/licenses"/wuffs-lang-git } @@ -264,7 +303,7 @@ install -Dvm644 -t "${pkgdir}/usr/share/doc/${_pkgbase}" "${srcdir}"/git.log AUTHORS BUILD.md CONTRIBUTING.md CONTRIBUTORS README.md cp -rv doc "${pkgdir}/usr/share/doc/${_pkgbase}"/ - install -dvm644 "${pkgdir}/usr/share/licenses"+ install -dvm755 "${pkgdir}/usr/share/licenses" ln -svr "${pkgdir}/usr/share/licenses/wuffs" "${pkgdir}/usr/share/licenses"/wuffs-docs-git } Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-18 00:03:42 | LOW | 3 |
| 2026-08-17 00:18:29 | LOW | 3 |
| 2026-08-16 17:33:23 | MEDIUM | 2 |
| 2026-06-19 23:51:18 | CLEAN | 2 |
| 2026-06-19 19:07:35 | MEDIUM | 2 |
| 2026-06-19 18:54:17 | MEDIUM | 2 |
| 2026-06-18 16:11:54 | MEDIUM | 1 |