blob: c13e51891abdfde932a8ed4d62a2e4e9534cc14f (
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
|
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
pkgname=mozjs68
pkgver=68.7.0
pkgrel=1
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.7.0-r0:
# - CVE-2020-6821
# - CVE-2020-6822
# - CVE-2020-6825
# - CVE-2020-6819
# - CVE-2020-6820
# 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
export RUST_TARGET="$CTARGET"
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="a3ddcf8ffe5f568b30b1fc9ddcaa5cebe600bf11ce353c09507d5466f999022d45a0dee9a08f53f37b10202a2e2ce4c180743cd6a2ca38dfea1c3e4487b18593 firefox-68.7.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"
|