v8-r
maintainer JanMarvin
· 10 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package builds Google's V8 engine from source using official Chromium project infrastructure (chromium.googlesource.com), which is a legitimate and expected source for this software; the non-whitelisted host is standard for the project and does not indicate 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 builds Google's V8 engine from source using official Chromium project infrastructure (chromium.googlesource.com), which is a legitimate and expected source for this software; the non-whitelisted host is standard for the project and does not indicate 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:22
source=("depot_tools::git+https://chromium.googlesource.com/chromium/tools/depot_tools.git"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Jan Marvin Garbuszus <jan.garbuszus@rub.de>
2
# Contributor: Marco Pompili <aur (at) mg.odd.red>
3
# Contributor: Anatol Pomozov <anatol.pomozov@gmail.com>
4
# Contributor: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
5
# Contributor: Kaiting Chen <kaitocracy@gmail.com>
6
# Contributor: tocer <tocer.deng@gmail.com>
7
# Contributor: David Flemström <david.flemstrom@gmail.com>
8
9
pkgname=v8-r
10
pkgver=14.5.137
11
pkgrel=1
12
pkgdesc="Google's open source JavaScript and WebAssembly engine"
13
arch=('x86_64')
14
url="https://v8.dev"
15
license=('BSD')
16
depends=('icu')
17
optional=('rlwrap')
18
options=(!debug)
19
makedepends=('clang' 'procps-ng' 'git' 'lld' 'llvm' 'python3')
20
conflicts=('v8' 'v8-3.14' 'v8.3.14-bin' 'v8-6.7-static' 'v8-static-gyp' 'v8-static-gyp-5.4')
21
provides=('v8')
22
source=("depot_tools::git+https://chromium.googlesource.com/chromium/tools/depot_tools.git"
23
"v8.pc"
24
"v8_libbase.pc"
25
"v8_libplatform.pc"
26
"d8"
27
"compiler-rt-adjust-paths.patch"
28
"fix_clang.diff"
29
"fix_temporal_icu.diff"
30
"silence_build.diff")
31
sha256sums=('SKIP'
32
'aa704f4549d240b568304e30714e042f6da41b39847949c1018652acf07942a9'
33
'efb37bd706e6535abfa20c77bb16597253391619dae275627312d00ee7332fa3'
34
'ae23d543f655b4d8449f98828d0aff6858a777429b9ebdd2e23541f89645d4eb'
35
'6abb07ab1cf593067d19028f385bd7ee52196fc644e315c388f08294d82ceff0'
36
'3e63769d9eaaeba0ff88e4228ac9bf62f7b841a3e33dfa65e305005ce71d480c'
37
'6e1456f7235e4059e6343ad8a4332f415564131f6dc7b35f608cec66e2f4430f'
38
'676e76700648a6a84f364cfbb956159c7fb74f141b2c32287ed84a9ab59bda70'
39
'e371a4814abcae3a6e37291b36919f372eb152f6962b31e688815832bf8b89d7')
40
41
OUTFLD=x64.release
42
43
prepare() {
44
45
export PATH=`pwd`/depot_tools:"$PATH"
46
47
if [ ! -d "v8" ]; then
48
msg2 "Fetching V8 code"
49
yes | fetch v8
50
fi
51
52
cd $srcdir/v8
53
54
msg2 "Reset repository"
55
git reset --hard
56
57
if [ -f third_party/icu/BUILD.gn.orig ]
58
then
59
msg2 "Restoring bundled ICU build files for syncing"
60
$srcdir/v8/build/linux/unbundle/replace_gn_files.py --undo --system-libraries icu
61
fi
62
63
msg2 "Syncing, this can take a while..."
64
gclient sync -D --force --reset
65
gclient sync --revision ${pkgver}
66
67
msg2 "Using system libraries for ICU"
68
$srcdir/v8/build/linux/unbundle/replace_gn_files.py --system-libraries icu
69
70
# patches:
71
# 1 - let system clang find compiler-rt (taken from Arch's chromium build)
72
# 2 - if building with clang, avoild pulling in clang modules files
73
# 3 - temporal with icu requires some headers from icu common we don't have
74
# 4 - disable warnings from upstreams clang
75
git apply ${srcdir}/compiler-rt-adjust-paths.patch
76
git apply ${srcdir}/fix_clang.diff
77
git apply ${srcdir}/fix_temporal_icu.diff
78
git apply ${srcdir}/silence_build.diff
79
80
# provide pkgconfig files
81
sed "s/@VERSION@/${pkgver}/g" -i "${srcdir}/v8.pc"
82
sed "s/@VERSION@/${pkgver}/g" -i "${srcdir}/v8_libbase.pc"
83
sed "s/@VERSION@/${pkgver}/g" -i "${srcdir}/v8_libplatform.pc"
84
85
# Increase _FORTIFY_SOURCE level to match Arch's default flags
86
sed -i 's/fortify_level = "2"/fortify_level = "3"/' ${srcdir}/v8/build/config/compiler/BUILD.gn
87
88
local _clang_version=$(clang --version | grep -m1 version | sed 's/.* \([0-9]\+\).*/\1/')
89
90
msg2 "Running GN..."
91
gn gen $OUTFLD \
92
-vv --fail-on-unused-args \
93
--args="clang_base_path=\"/usr\"
94
clang_use_chrome_plugins=false
95
clang_version=\"$_clang_version\"
96
dcheck_always_on=false
97
icu_use_data_file=false
98
is_asan=false
99
is_clang=true
100
is_component_build=true
101
is_debug=false
102
is_official_build=false
103
treat_warnings_as_errors=false
104
use_clang_modules=false
105
use_custom_libcxx=false
106
use_lld=true
107
use_sysroot=false
108
symbol_level=0
109
v8_enable_backtrace=true
110
v8_enable_disassembler=true
111
v8_enable_i18n_support=true
112
v8_enable_object_print=true
113
v8_enable_sandbox=true
114
v8_enable_static_roots=true
115
v8_enable_verify_heap=true
116
v8_use_external_startup_data=false"
117
118
# Fixes bug in generate_shim_headers.py that fails to create these dirs
119
msg2 "Adding icu missing folders"
120
mkdir -p "$OUTFLD/gen/shim_headers/icuuc_shim/third_party/icu/source/common/unicode/"
121
mkdir -p "$OUTFLD/gen/shim_headers/icui18n_shim/third_party/icu/source/i18n/unicode/"
122
123
}
124
125
build() {
126
127
export CC=clang
128
export CXX=clang++
129
export AR=ar
130
export NM=nm
131
132
export PATH=`pwd`/depot_tools:"$PATH"
133
134
cd $srcdir/v8
135
136
msg2 "Building"
137
ninja -C $OUTFLD
138
}
139
140
check() {
141
cd $srcdir/v8
142
143
msg2 "Testing"
144
tools/run-tests.py --no-presubmit \
145
--outdir=$OUTFLD \
146
--arch="x64" || true
147
}
148
149
package() {
150
cd $srcdir/v8
151
152
install -d ${pkgdir}/usr/lib/v8
153
install -Dm755 ${srcdir}/d8 ${pkgdir}/usr/bin/d8
154
155
install -Dm755 $OUTFLD/d8 ${pkgdir}/usr/lib/v8/d8
156
install -Dm755 $OUTFLD/libv8.so ${pkgdir}/usr/lib/libv8.so
157
install -Dm755 $OUTFLD/libv8_libbase.so ${pkgdir}/usr/lib/libv8_libbase.so
158
install -Dm755 $OUTFLD/libv8_libplatform.so ${pkgdir}/usr/lib/libv8_libplatform.so
159
install -Dm755 $OUTFLD/libchrome_zlib.so ${pkgdir}/usr/lib/libchrome_zlib.so
160
install -Dm755 $OUTFLD/libthird_party_abseil-cpp_absl.so ${pkgdir}/usr/lib/libthird_party_abseil-cpp_absl.so
161
install -Dm755 $OUTFLD/libthird_party_partition_alloc_src_partition_alloc_allocator_base.so ${pkgdir}/usr/lib/libthird_party_partition_alloc_src_partition_alloc_allocator_base.so
162
install -Dm755 $OUTFLD/libthird_party_partition_alloc_src_partition_alloc_allocator_core.so ${pkgdir}/usr/lib/libthird_party_partition_alloc_src_partition_alloc_allocator_core.so
163
install -Dm755 $OUTFLD/libthird_party_partition_alloc_src_partition_alloc_allocator_shim.so ${pkgdir}/usr/lib/libthird_party_partition_alloc_src_partition_alloc_allocator_shim.so
164
install -Dm755 $OUTFLD/libthird_party_partition_alloc_src_partition_alloc_raw_ptr.so ${pkgdir}/usr/lib/libthird_party_partition_alloc_src_partition_alloc_raw_ptr.so
165
166
167
# install -Dm755 $OUTFLD/cctest ${pkgdir}/usr/lib/v8/cctest
168
# install -Dm755 $OUTFLD/libv8_for_testing.so ${pkgdir}/usr/lib/libv8_for_testing.so
169
# install -Dm755 $OUTFLD/libv8_debug_helper.so ${pkgdir}/usr/lib/libv8_debug_helper.so
170
171
install -d ${pkgdir}/usr/include
172
install -Dm644 include/*.h ${pkgdir}/usr/include
173
174
install -d ${pkgdir}/usr/include/cppgc
175
install -Dm644 include/cppgc/*.h ${pkgdir}/usr/include/cppgc
176
177
install -d ${pkgdir}/usr/include/cppgc/internal
178
install -Dm644 include/cppgc/internal/*.h ${pkgdir}/usr/include/cppgc/internal
179
180
install -d ${pkgdir}/usr/include/libplatform
181
install -Dm644 include/libplatform/*.h ${pkgdir}/usr/include/libplatform
182
183
install -d ${pkgdir}/usr/lib/pkgconfig
184
install -m644 $srcdir/v8.pc ${pkgdir}/usr/lib/pkgconfig
185
install -m644 $srcdir/v8_libbase.pc ${pkgdir}/usr/lib/pkgconfig
186
install -m644 $srcdir/v8_libplatform.pc ${pkgdir}/usr/lib/pkgconfig
187
188
install -d ${pkgdir}/usr/share/licenses/v8
189
install -m644 LICENSE* ${pkgdir}/usr/share/licenses/v8
190
191
}
192
193
# vim:set ts=2 sw=2 et:
194
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 |