blob: da4818faddf0970116bff05ee78f344164b9b74d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
pkgname=mozjs78
pkgver=78.15.0
pkgrel=0
pkgdesc="Standalone Mozilla JavaScript engine"
url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by rust and cargo
license="MPL-2.0"
depends_dev="
icu-dev
nspr-dev
libffi-dev
readline-dev
$pkgname
"
_llvmver=10
makedepends="
$depends_dev
zlib-dev
python3
perl
sed
autoconf2.13
linux-headers
rust
cargo
llvm$_llvmver
clang-dev
"
subpackages="$pkgname-dev"
source="https://ftp.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox-${pkgver}esr.source.tar.xz
0001-silence-sandbox-violations.patch
disable-jslint.patch
fd6847c9416f9eebde636e21d794d25d1be8791d.patch
fix-musl-build.patch
fix-rust-target.patch
"
builddir="$srcdir"/firefox-$pkgver
_builddir="$builddir/js/src"
# secfixes:
# 78.15.0-r0:
# - CVE-2021-38500
# 78.14.0-r0:
# - CVE-2021-38493
# 78.13.0-r0:
# - CVE-2021-29984
# - CVE-2021-29989
# 78.12.0-r0:
# - CVE-2021-29976
# - CVE-2021-29967
# 78.10.0-r0:
# - CVE-2021-29945
# 78.9.0-r0:
# - CVE-2021-23987
# 78.8.0-r0:
# - CVE-2021-23978
# 78.7.0-r0:
# - CVE-2021-23954
# - CVE-2021-23960
# - CVE-2021-23964
# 78.6.0-r0:
# - CVE-2020-16042
# - CVE-2020-35113
# 78.5.0-r0:
# - CVE-2020-26968
# 78.4.1-r0:
# - CVE-2020-26950
build() {
local _clangver=$(clang --version | awk '$3 == "version" {print $4}')
if [ "${_clangver#$_llvmver}" = "$_clangver" ]; then
error "clang version $_clangver does not match llvm version $_llvmver"
return 1
fi
cd "$_builddir"
export LDFLAGS="$LDFLAGS -Wl,-z,stack-size=1048576"
# avoid complains about autoconf
touch configure
# Fix broken ARM_ARCH check which doesn't work with newer GCCs it seems.
case "$CTARGET" in
armv*)
ARM_ARCH=$(echo ${CTARGET#*armv} | sed "s|-.*||")
sed -i "s|ARM_ARCH=.*|ARM_ARCH=$ARM_ARCH|" "$builddir"/build/autoconf/arch.m4
;;
esac
export RUST_TARGET="$CTARGET"
export SHELL=/bin/ash
export PYTHON=/usr/bin/python3
./configure --prefix=/usr \
--with-clang-path=/usr/bin/clang \
--with-intl-api \
--with-libclang-path=/usr/lib \
--with-system-icu \
--with-system-nspr \
--with-system-zlib \
--enable-ctypes \
--enable-hardening \
--enable-optimize="$CFLAGS -O2" \
--enable-readline \
--enable-release \
--enable-shared-js \
--enable-system-ffi \
--enable-tests \
--disable-debug \
--disable-debug-symbols \
--disable-jemalloc \
--disable-strip
make
}
check() {
cd "$_builddir"
dist/bin/jsapi-tests \
--format=none \
--exclude-random \
basic
}
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install
rm -f "$pkgdir"/usr/lib/*.ajs
}
sha512sums="
ac3de735b246ce4f0e1619cd2664321ffa374240ce6843e785d79a350dc30c967996bbcc5e3b301cb3d822ca981cbea116758fc4122f1738d75ddfd1165b6378 firefox-78.15.0esr.source.tar.xz
f7e5bee97cfa495d491dac4b8b98e5d3081346d920700e8bb6d077543e18245e5c82201a9981036ec0bf16d9fbdd42fd76e8cf6d90bb811e7338261204020149 0001-silence-sandbox-violations.patch
4f2cb93f91e798218d83cb3ac4c60b61a3658c5b269bfe250f4c4875aedaacbd77598d8d20e3a868626e49988b2073a2404e37d6918b11def774c25db68dd08d disable-jslint.patch
60845dcb034b2c4459c30f7d5f25c8176cf42df794e2cc0e86c3e2abb6541c24b962f3a16ca70a288d4d6f377b68d00b2904b22463108559612053d835d9bff1 fd6847c9416f9eebde636e21d794d25d1be8791d.patch
bc91c2fb15eb22acb8acc36d086fb18fbf6f202b4511d138769b5ecaaed4a673349c55f808270c762616fafa42e3b01e74dc0af1dcbeea1289e043926e2750c8 fix-musl-build.patch
c397bd594428b009d1533922a3728a0ec74403714417f4b90c38c1b7751749b0585d48e77c79efa05c6c22a0d9a8ac04d535eb5bb8deb51684852c03c05d94cd fix-rust-target.patch
"
|