blob: 29b91f053d7f949ff480aa660340d5cb83217fc2 (
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
141
142
|
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
pkgname=mozjs68
pkgver=68.6.0
pkgrel=3
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
"
_llvmver=10
makedepends="
$depends_dev
zlib-dev
python2
python3-dev
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
fix-musl-build.patch
fix-rust-target.patch
fd6847c9416f9eebde636e21d794d25d1be8791d.patch
"
builddir="$srcdir"/firefox-$pkgver
_builddir="$builddir/js/src"
# secfixes:
# 68.6.0-r0:
# - CVE-2019-20503
# - CVE-2020-6805
# - CVE-2020-6806
# - CVE-2020-6807
# - CVE-2020-6811
# - CVE-2020-6812
# - CVE-2020-6814
# 60.7.2-r0:
# - CVE-2019-11708
# - CVE-2019-11707
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
case "$CARCH" in
x86)
export RUST_TARGET="i686-unknown-linux-musl"
;;
x86_64)
export RUST_TARGET="$CTARGET"
;;
aarch64)
export RUST_TARGET="aarch64-unknown-linux-musl"
;;
armv7)
export RUST_TARGET="armv7-unknown-linux-musleabihf"
;;
armhf)
export RUST_TARGET="arm-unknown-linux-musleabihf"
;;
ppc64le)
export RUST_TARGET="powerpc64le-unknown-linux-musl"
;;
esac
export SHELL=/bin/ash
export PYTHON=/usr/bin/python2
./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 \
--enable-unaligned-private-values
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="84565d654ed8bd2d036d08de4d16e41ae8881f0b20b34424ab347d50a37384acf50c04f74269720e79db28028569dff79f2b910848939ff87c078f36684a75a3 firefox-68.6.0esr.source.tar.xz
4d30f4b64b6d9ba03099831aef18f6dffa7f0ff537d71502b8975329c9fa5025f02a43f45cf1311116d917fb507d5961163d659bb4c9f43c22bd61d14d0afb2f 0001-silence-sandbox-violations.patch
6e9e7d811b92e32af29cebec6cb59763004f30b990842b8dd036f971f10d6659e8dbd771f0d61c8a42ea0ac4a6937466c1e6fd450a08efab8a0c7bab4ef3a1ec disable-jslint.patch
bc91c2fb15eb22acb8acc36d086fb18fbf6f202b4511d138769b5ecaaed4a673349c55f808270c762616fafa42e3b01e74dc0af1dcbeea1289e043926e2750c8 fix-musl-build.patch
1bf1f579ced0ca47d156eb45962114f9867cf224c2ba34dfc106227648322ecf729243d2a6e84b72cb011abadc36ed84990960bded764fd4243fc9cb22084ce5 fix-rust-target.patch
60845dcb034b2c4459c30f7d5f25c8176cf42df794e2cc0e86c3e2abb6541c24b962f3a16ca70a288d4d6f377b68d00b2904b22463108559612053d835d9bff1 fd6847c9416f9eebde636e21d794d25d1be8791d.patch"
|