frida-v8
LOW
maintainer RubenKelevra
1 votes
scanned 2026-09-22 19:39:10.055575
Why flagged
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
Triggered rules
Low
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
PKGBUILD
1
# Maintainer: @RubenKelevra <rubenkelevra@gmail.com>
2
3
# Keep this in sync with the [v8] entry in Frida's releng/deps.toml.
4
_v8_version='10.9.42'
5
_commit='a07af892420dfd873b33bd4ce4ba9d963072e1b9'
6
_commit_timestamp='20260120.192353'
7
8
pkgname='frida-v8'
9
pkgver="${_v8_version}.r${_commit_timestamp}.${_commit:0:8}"
10
pkgrel=1
11
pkgdesc="Frida's fork of the V8 JavaScript engine"
12
arch=('x86_64')
13
url='https://github.com/frida/v8'
14
license=(
15
'BSD-3-Clause'
16
'Apache-2.0'
17
'CC0-1.0'
18
'MIT'
19
'PSF-2.0'
20
'LicenseRef-fdlibm'
21
'LicenseRef-Valgrind'
22
)
23
options=('!lto')
24
depends=('zlib')
25
makedepends=(
26
'meson'
27
'ninja'
28
'python'
29
)
30
31
source=(
32
"${pkgname}-${_commit}.tar.gz::${url}/archive/${_commit}.tar.gz"
33
'gcc16-algorithm.patch'
34
'LICENSE.chromium::https://raw.githubusercontent.com/chromium/chromium/12884f6987a0d766f8bea1018980f434a89c12e1/LICENSE'
35
)
36
b2sums=(
37
'c8917bd0643b4b22c95e57c0eb411f048ab7630a92ed54c3bd97244b31e42bc56b68766ac34ce1b77152b15c4da7195cc9e093252c3a1a0ef679a88a437ff3c8'
38
'b12192f399a09598a6c49cf82dae81bdce62f9e621233eda650ce585fc84998dca05444926e6749c65d12386ac06240bed1e886c107ade4ba0f2032087b4d729'
39
'7c1bc3ed9883252f17021cf2b4a5dbdf92f3e33590f65f0b2d910d4218d40b6813a29db72d593d1d6fb95c82735cc7a1b9840247698a3a3d36568aea9e6b8891'
40
)
41
42
_makepkg_jobs() {
43
local _arg
44
local _jobs=''
45
local _jobs_next=0
46
47
for _arg in ${MAKEFLAGS:-}; do
48
if (( _jobs_next == 1 )); then
49
case "${_arg}" in
50
''|*[!0-9]*) ;;
51
*) _jobs="${_arg}" ;;
52
esac
53
_jobs_next=0
54
continue
55
fi
56
57
case "${_arg}" in
58
-j|--jobs)
59
_jobs_next=1
60
;;
61
-j[0-9]*)
62
_jobs="${_arg#-j}"
63
;;
64
--jobs=[0-9]*)
65
_jobs="${_arg#--jobs=}"
66
;;
67
esac
68
done
69
70
printf '%s\n' "${_jobs:-1}"
71
}
72
73
prepare() {
74
local _source_version
75
76
cd -- "v8-${_commit}" || return 1
77
_source_version="$(
78
awk '
79
/^#define V8_MAJOR_VERSION / { major = $3 }
80
/^#define V8_MINOR_VERSION / { minor = $3 }
81
/^#define V8_BUILD_NUMBER / { build = $3 }
82
END { printf "%s.%s.%s", major, minor, build }
83
' include/v8-version.h
84
)"
85
if [[ "${_source_version}" != "${_v8_version}" ]]; then
86
printf 'V8 source version %s does not match PKGBUILD version %s\n' \
87
"${_source_version:-<missing>}" "${_v8_version}" >&2
88
return 1
89
fi
90
patch -Np1 --fuzz=0 -i "${srcdir}/gcc16-algorithm.patch"
91
}
92
93
build() {
94
local _ninja_flags=()
95
96
meson setup \
97
--prefix=/usr \
98
--libdir=lib \
99
--wrap-mode=nofallback \
100
-Ddefault_library=static \
101
-Doptimization=s \
102
-Db_ndebug=true \
103
-Ddebug=false \
104
-Dembedder_string=-frida \
105
-Dsnapshot_compression=disabled \
106
-Dpointer_compression=disabled \
107
-Dshared_ro_heap=disabled \
108
-Dcppgc_caged_heap=disabled \
109
build \
110
"v8-${_commit}"
111
112
if [[ -n "${NINJAFLAGS:-}" ]]; then
113
read -r -a _ninja_flags <<< "${NINJAFLAGS}"
114
else
115
_ninja_flags=(-j "$(_makepkg_jobs)")
116
fi
117
ninja "${_ninja_flags[@]}" -C build
118
}
119
120
package() {
121
local _licensedir="${pkgdir}/usr/share/licenses/${pkgname}"
122
123
DESTDIR="${pkgdir}" meson install -C build --no-rebuild
124
125
install -Dm644 -- "v8-${_commit}/LICENSE" "${_licensedir}/LICENSE"
126
install -Dm644 -- "v8-${_commit}/LICENSE.v8" "${_licensedir}/LICENSE.v8"
127
install -Dm644 -- "v8-${_commit}/LICENSE.fdlibm" "${_licensedir}/LICENSE.fdlibm"
128
install -Dm644 -- "v8-${_commit}/LICENSE.strongtalk" "${_licensedir}/LICENSE.strongtalk"
129
install -Dm644 -- "v8-${_commit}/third_party/inspector_protocol/LICENSE" "${_licensedir}/LICENSE.inspector-protocol"
130
install -Dm644 -- "v8-${_commit}/third_party/wasm-api/LICENSE" "${_licensedir}/LICENSE.wasm-api"
131
install -Dm644 -- "v8-${_commit}/src/third_party/siphash/LICENSE" "${_licensedir}/LICENSE.siphash"
132
install -Dm644 -- "v8-${_commit}/src/third_party/utf8-decoder/LICENSE" "${_licensedir}/LICENSE.utf8-decoder"
133
install -Dm644 -- "v8-${_commit}/src/third_party/valgrind/LICENSE" "${_licensedir}/LICENSE.valgrind"
134
install -Dm644 -- "v8-${_commit}/third_party/v8/builtins/LICENSE" "${_licensedir}/LICENSE.python"
135
sed -E 's#^// ?##' "${srcdir}/LICENSE.chromium" > "${_licensedir}/LICENSE.chromium"
136
chmod 644 -- "${_licensedir}/LICENSE.chromium"
137
138
install -d -- "${pkgdir}/usr/share/${pkgname}"
139
printf '%s\n' "${_commit}" > "${pkgdir}/usr/share/${pkgname}/commit"
140
printf '%s\n' "${license[@]}" > "${pkgdir}/usr/share/${pkgname}/licenses"
141
}
142
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-22 19:39:10 | Low | 1 |