diff --git a/extra/js68/PKGBUILD b/extra/js68/PKGBUILD new file mode 100644 index 000000000..860ce5e5d --- /dev/null +++ b/extra/js68/PKGBUILD @@ -0,0 +1,92 @@ +# Maintainer: Jan Alexander Steffens (heftig) + +# ALARM: Kevin Mihelich +# - configure with --disable-lto +# - patch to fix build on ARM + +buildarch=12 + +pkgname=js68 +pkgver=68.5.0 +pkgrel=2 +pkgdesc="JavaScript interpreter and libraries - Version 68" +arch=(x86_64) +url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" +license=(MPL) +depends=(gcc-libs readline zlib sh) +makedepends=(python2 zip autoconf2.13 python rust llvm clang) +checkdepends=(mercurial git) +_relver=${pkgver}esr +source=(https://archive.mozilla.org/pub/firefox/releases/$_relver/source/firefox-$_relver.source.tar.xz{,.asc} + arm.patch) +sha256sums=('52e784f98a37624e8b207f1b23289c2c88f66dd923798cae891a586a6d94a6d1' + 'SKIP' + 'bc00516032330760444939c516a60c78f868631e1b37f075f0fe71a53737b966') +validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases + +# Make sure the duplication between bin and lib is found +COMPRESSZST+=(--long) + +prepare() { + cd firefox-$pkgver + mkdir obj + patch -p1 -i ../arm.patch +} + +build() { + local configure_args=( + --prefix=/usr + --disable-debug + --disable-debug-symbols + --disable-jemalloc + --disable-strip + --enable-hardening + --disable-lto + --enable-optimize + --enable-posix-nspr-emulation + --enable-readline + --enable-release + --enable-shared-js + --enable-tests + --enable-unaligned-private-values + --with-intl-api + --with-system-zlib + --without-system-icu + ) + + export AR=llvm-ar + export NM=llvm-nm + export RANLIB=llvm-ranlib + + cd firefox-$pkgver/obj + + sh ../js/src/configure "${configure_args[@]}" + make +} + +check() { + local jstests_extra_args=( + --format=none + --exclude-random + ) jittest_extra_args=( + --format=none + --timeout 300 + ) jittest_test_args=( + basic + ) + + cd firefox-$pkgver/obj + make -C js/src check-jstests check-jit-test \ + JSTESTS_EXTRA_ARGS="${jstests_extra_args[*]}" \ + JITTEST_EXTRA_ARGS="${jittest_extra_args[*]}" \ + JITTEST_TEST_ARGS="${jittest_test_args[*]}" +} + +package() { + cd firefox-$pkgver/obj + make DESTDIR="$pkgdir" install + rm "$pkgdir"/usr/lib/*.ajs + find "$pkgdir"/usr/{lib/pkgconfig,include} -type f -exec chmod -c a-x {} + +} + +# vim:set ts=2 sw=2 et: diff --git a/extra/js68/arm.patch b/extra/js68/arm.patch new file mode 100644 index 000000000..9e2ed1510 --- /dev/null +++ b/extra/js68/arm.patch @@ -0,0 +1,15 @@ +https://bugzilla.mozilla.org/show_bug.cgi?id=1526653 + +diff --git a/js/src/wasm/WasmSignalHandlers.cpp.orig b/js/src/wasm/WasmSignalHandlers.cpp +index 636537f..0f3461a 100644 +--- a/js/src/wasm/WasmSignalHandlers.cpp.orig ++++ b/js/src/wasm/WasmSignalHandlers.cpp +@@ -244,7 +244,7 @@ using mozilla::DebugOnly; + // emulation here. + + #if defined(__linux__) && defined(__arm__) +-# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS ++//# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS + #endif + + #ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS