# Contributor: Rasmus Thomsen # Maintainer: Rasmus Thomsen pkgname=mozjs68 pkgver=68.5.0 _majver=${pkgver%%.*} 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 " makedepends=" $depends_dev zlib-dev python2 python3-dev perl sed autoconf2.13 linux-headers rust cargo llvm9 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: # 60.7.2-r0: # - CVE-2019-11708 # - CVE-2019-11707 build() { 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 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="0acf4ecd47bccf062ab330231e36355f5d84e66ab411f653ae3160583613840925bb473c0f7dfa4b15311a543940293c4633516851c9466c4b0133c9271710d3 firefox-68.5.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"