mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-09 00:17:31 +00:00
added extra/js78
This commit is contained in:
parent
de14b2004d
commit
04fedad9cc
2 changed files with 140 additions and 0 deletions
125
extra/js78/PKGBUILD
Normal file
125
extra/js78/PKGBUILD
Normal file
|
@ -0,0 +1,125 @@
|
|||
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
|
||||
|
||||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - configure with --disable-lto
|
||||
# - patch to fix build on ARM
|
||||
|
||||
pkgname=js78
|
||||
pkgver=78.3.0
|
||||
pkgrel=1
|
||||
pkgdesc="JavaScript interpreter and libraries - Version 78"
|
||||
arch=(x86_64)
|
||||
url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
|
||||
license=(MPL)
|
||||
depends=(gcc-libs readline zlib sh)
|
||||
makedepends=(zip autoconf2.13 python-setuptools python-psutil rust llvm clang lld)
|
||||
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=('85273e22d6c31ccd000d72af47530cea3dc52f63f06e53701d9c6c82f68f7bf7'
|
||||
'SKIP'
|
||||
'bc00516032330760444939c516a60c78f868631e1b37f075f0fe71a53737b966')
|
||||
validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release@mozilla.com>
|
||||
|
||||
# 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-linker=lld
|
||||
--enable-optimize
|
||||
--enable-readline
|
||||
--enable-release
|
||||
--enable-rust-simd
|
||||
--enable-shared-js
|
||||
--enable-tests
|
||||
--with-intl-api
|
||||
--with-system-zlib
|
||||
--without-system-icu
|
||||
)
|
||||
|
||||
export CC='clang --target=x86_64-unknown-linux-gnu'
|
||||
export CXX='clang++ --target=x86_64-unknown-linux-gnu'
|
||||
export AR=llvm-ar
|
||||
export NM=llvm-nm
|
||||
export RANLIB=llvm-ranlib
|
||||
|
||||
cd firefox-$pkgver/obj
|
||||
|
||||
# Do 3-tier PGO
|
||||
echo "Building instrumented JS..."
|
||||
sh ../js/src/configure "${configure_args[@]}" \
|
||||
--enable-profile-generate=cross
|
||||
make
|
||||
|
||||
echo "Profiling instrumented JS..."
|
||||
(
|
||||
local js="$PWD/dist/bin/js"
|
||||
export LLVM_PROFILE_FILE="$PWD/js-%p-%m.profraw"
|
||||
|
||||
cd ../js/src/octane
|
||||
"$js" run.js
|
||||
|
||||
cd ../../../third_party/webkit/PerformanceTests/ARES-6
|
||||
"$js" cli.js
|
||||
|
||||
cd ../SunSpider/sunspider-0.9.1
|
||||
"$js" sunspider-standalone-driver.js
|
||||
)
|
||||
|
||||
llvm-profdata merge -o merged.profdata *.profraw
|
||||
|
||||
stat -c "Profile data found (%s bytes)" merged.profdata
|
||||
test -s merged.profdata
|
||||
|
||||
echo "Removing instrumented JS..."
|
||||
make clobber
|
||||
|
||||
echo "Building optimized JS..."
|
||||
sh ../js/src/configure "${configure_args[@]}" \
|
||||
--enable-profile-use=cross \
|
||||
--with-pgo-profile-path="$PWD/merged.profdata"
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
local jstests_extra_args=(
|
||||
--format=none
|
||||
--exclude-random
|
||||
--wpt=disabled
|
||||
) 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:
|
15
extra/js78/arm.patch
Normal file
15
extra/js78/arm.patch
Normal file
|
@ -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
|
Loading…
Reference in a new issue