diff --git a/extra/js/PKGBUILD b/extra/js/PKGBUILD new file mode 100644 index 000000000..6037d1e3c --- /dev/null +++ b/extra/js/PKGBUILD @@ -0,0 +1,48 @@ +# $Id$ +# Maintainer: Ionut Biru + +# ALARM: Kevin Mihelich +# - patch for AArch64 + +pkgname=js +pkgver=24.2.0 +pkgrel=1 +pkgdesc="JavaScript interpreter and libraries" +arch=(i686 x86_64) +url="https://developer.mozilla.org/En/SpiderMonkey/17" +license=(MPL) +depends=(nspr gcc-libs readline zlib) +makedepends=(python2 zip libffi) +options=(!staticlibs) +source=(http://ftp.mozilla.org/pub/mozilla.org/js/mozjs-$pkgver.tar.bz2 + aarch64.patch) +md5sums=('5db79c10e049a2dc117a6e6a3bc78a8e' + '144736bd4a4825ba5a1c87439230964d') + +prepare() { + rm -rf mozjs-$pkgver/js/src/editline + rm -rf mozjs-$pkgver/js/src/ctypes/libffi + cd mozjs-$pkgver + patch -p1 -F500 -i ../aarch64.patch +} + +build() { + unset CPPFLAGS + cd mozjs-$pkgver/js/src + ./configure --prefix=/usr --with-system-nspr --enable-system-ffi \ + --enable-readline --enable-threadsafe + make +} + +check() { + cd mozjs-$pkgver/js/src + make check +} + +package() { + cd mozjs-$pkgver/js/src + make DESTDIR="$pkgdir" install + find "$pkgdir"/usr/{lib/pkgconfig,include} -type f -exec chmod -x {} + +} + +# vim:set ts=2 sw=2 et: diff --git a/extra/js/aarch64.patch b/extra/js/aarch64.patch new file mode 100644 index 000000000..b7dec4a2d --- /dev/null +++ b/extra/js/aarch64.patch @@ -0,0 +1,13 @@ +diff -urN a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h +--- a/mfbt/double-conversion/utils.h 2013-10-29 14:40:19.000000000 -0600 ++++ b/mfbt/double-conversion/utils.h 2015-07-10 22:55:40.262596161 -0600 +@@ -58,7 +58,8 @@ + defined(__mips__) || defined(__powerpc__) || \ + defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ + defined(__SH4__) || defined(__alpha__) || \ +- defined(_MIPS_ARCH_MIPS32R2) ++ defined(_MIPS_ARCH_MIPS32R2) || \ ++ defined(__AARCH64EL__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) + #if defined(_WIN32)