deshader-git
maintainer OSDVF
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The external download of bun and vcpkg occurs during prepare() but both are build tools used to compile the project's own source; the final binaries are built from the git source and the downloads are from official, well-known domains (bun.sh, github.com/microsoft/vcpkg), posing minimal 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-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The external download of bun and vcpkg occurs during prepare() but both are build tools used to compile the project's own source; the final binaries are built from the git source and the downloads are from official, well-known domains (bun.sh, github.com/microsoft/vcpkg), posing minimal supply-chain risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
External download from an untrusted host, not in source=()
external_download_not_in_source
curl/wget fetches a URL on a non-allowlisted host that is not part of source=(), so it is not checksum-verified by makepkg.
-
PKGBUILD:126
curl -fsSL https://bun.sh/install | BUN_INSTALL="$srcdir/dep" bash
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: o.s.dv.f@seznam.cz
2
pkgname=deshader-git
3
pkgver=rb5aee41
4
pkgrel=1
5
pkgdesc="Shader debugging via GLSL code instrumentation. This is preliminary package, does not coply with all package guidelines."
6
arch=(armv7h
7
aarch64
8
x86_64
9
i686)
10
url="https://github.com/OSDVF/deshader"
11
depends=('gtk3'
12
'webkit2gtk')
13
makedepends=('git'
14
'zig=0.14.0'
15
'binutils'
16
'unzip'
17
'curl'
18
'zip'
19
'tar'
20
'pkgconf'
21
)
22
optdepends=()
23
options=(!lto !strip)
24
provides=("deshader=$pkgver"
25
"deshader-run=$pkgver"
26
"libdeshader.so")
27
conflicts=('deshader'
28
'deshader-run')
29
source=('deshader.desktop'
30
'48.png'
31
'256.png'
32
'scalable.svg'
33
'git+https://github.com/OSDVF/deshader.git')
34
sha256sums=('fba58063082fef9ea30cb88a73ac1877360abcca0cef36859a3ee096528fcd12'
35
'00bcebeeb6423504e5b877c398751bfa15df23266131ffe1fb3058e2f1511de4'
36
'dd20694f4cc973e44ce5df87a7da166515aa9df6a8045fa13df726980308aa92'
37
'067392a62f68bf6354c9fefc34788b9a350f56e19ac899248da1142df7541e4b'
38
'SKIP')
39
license=('GPL-3.0-or-later')
40
41
pkgver() {
42
cd "$srcdir/${pkgname%-git}" || exit 1
43
MAYBE_TAG=$(git describe --tags --abbrev=0 --exact-match 2>/dev/null || echo "")
44
if [[ "$MAYBE_TAG" != "" ]] && [[ $MAYBE_TAG =~ ^[[:digit:]] ]]; then
45
echo $MAYBE_TAG # tag that begins with a digit => release version, use tag name
46
else
47
printf "r%s" "$(git rev-parse --short HEAD)" # no tag or dev tag => development version, use commit hash
48
fi
49
}
50
51
build_deshader() {
52
zig build deshader --release=safe # do not override build flags by makepkg
53
}
54
55
build_launcher() {
56
zig build launcher --release=safe # do not override build flags by makepkg
57
}
58
59
build() {
60
# do not override build flags by makepkg -- will corrupt the build for use with Zig
61
export CFLAGS=""
62
export CXXFLAGS=""
63
export CPPFLAGS=""
64
if [[ "$OSTYPE" == "linux*" ]]; then
65
export LDFLAGS="-z,itb,-z,shstk"
66
fi
67
68
cd "$srcdir/${pkgname%-git}" || exit 1
69
if ! build_deshader; then # must be ran twice to fix the C import
70
sh fix_c_import.sh
71
echo "Retrying build"
72
if ! build_deshader; then # maybe three times
73
sh fix_c_import.sh
74
echo "Retrying build third time"
75
build_deshader
76
fi
77
fi
78
if ! build_launcher; then # must be ran twice to fix the C import
79
sh fix_c_import.sh
80
echo "Retrying launcher build"
81
if ! build_launcher; then # maybe three times
82
sh fix_c_import.sh
83
echo "Retrying launcher build third time"
84
build_launcher
85
fi
86
fi
87
}
88
89
check() {
90
pass=false
91
if [[ "$OSTYPE" == darwin* ]]; then
92
LIBEXT=dylib
93
else
94
LIBEXT=so
95
fi
96
output=`DESHADER_LIB="$srcdir/${pkgname%-git}/zig-out/lib/libdeshader.$LIBEXT" "$srcdir/${pkgname%-git}/zig-out/bin/deshader-run" --version`
97
for line in $output
98
do
99
if [ "$pkgver" == "$line" ] || [ $pkgver == "r$line" ]; then
100
pass=true
101
echo "Built $pkgver matches"
102
break
103
fi
104
done
105
if ! $pass; then
106
echo "Version $pkgver does not match $output"
107
exit 1
108
fi
109
}
110
111
prepare() {
112
export PATH="$srcdir/dep/bin:$srcdir/vcpkg:$PATH"
113
export ZIG_GLOBAL_CACHE_DIR="$srcdir/dep/.zig-cache"
114
export VCPKG_DEFAULT_BINARY_CACHE_DIR="$srcdir/dep/.vcpkg-cache"
115
export VCPKG_DISABLE_METRICS=1
116
117
# get the submodules
118
cd "$srcdir/${pkgname%-git}" || exit 1
119
120
git submodule update --init --recursive
121
122
cd "$srcdir" || exit 1
123
# check for bun in the path
124
if ! command -v bun; then
125
# download bun
126
curl -fsSL https://bun.sh/install | BUN_INSTALL="$srcdir/dep" bash
127
fi
128
129
# check for VCPKG
130
if ! command -v vcpkg; then
131
# check for downloaded VCPKG repository
132
if [ -d "$srcdir/vcpkg" ]; then
133
# check if it is a git repository
134
if [ -d "$srcdir/vcpkg/.git" ]; then
135
# update VCPKG
136
cd "$srcdir/vcpkg" || exit 1
137
git pull
138
else
139
# remove the directory
140
rm -rf "$srcdir/vcpkg"
141
fi
142
143
else
144
# download VCPKG
145
git clone https://github.com/microsoft/vcpkg.git
146
fi
147
cd "$srcdir/vcpkg" || exit 1
148
chmod +x ./bootstrap-vcpkg.sh
149
./bootstrap-vcpkg.sh
150
fi
151
}
152
153
package() {
154
install -d "${pkgdir}/usr/bin"
155
install -d "${pkgdir}/usr/lib"
156
install -d "${pkgdir}/usr/share/applications"
157
install -d "${pkgdir}/usr/share/icons/hicolor/48x48/apps"
158
install -d "${pkgdir}/usr/share/icons/hicolor/256x256/apps"
159
install -d "${pkgdir}/usr/share/icons/hicolor/scalable/apps"
160
161
install -m755 "$srcdir/${pkgname%-git}/zig-out/bin/deshader-run" "$pkgdir/usr/bin/deshader-run"
162
install -m755 "$srcdir/${pkgname%-git}/zig-out/lib/libdeshader.so" "$pkgdir/usr/lib/libdeshader.so"
163
164
#install headers
165
install -d "${pkgdir}/usr/include/deshader"
166
for h in "$srcdir/${pkgname%-git}/zig-out/include/deshader/"*; do
167
install -m644 "$h" "$pkgdir/usr/include/deshader/"
168
done
169
170
#install desktop file and icons
171
install -m644 "$srcdir/deshader.desktop" "$pkgdir/usr/share/applications/deshader.desktop"
172
install -m644 "$srcdir/48.png" "$pkgdir/usr/share/icons/hicolor/48x48/apps/deshader.png"
173
install -m644 "$srcdir/256.png" "$pkgdir/usr/share/icons/hicolor/256x256/apps/deshader.png"
174
install -m644 "$srcdir/scalable.svg" "$pkgdir/usr/share/icons/hicolor/scalable/apps/deshader.svg"
175
}
176
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 |