From 6c3bc4d1980df372e7898ce079f30bd4f4fe63a8 Mon Sep 17 00:00:00 2001 From: Britney Fransen Date: Sun, 4 Oct 2020 19:34:21 +0000 Subject: js52: 52.9.0 --- abs/extra/js52/PKGBUILD | 106 +++++++++++++-------- abs/extra/js52/mozjs52-disable-wformat.patch | 12 +++ abs/extra/js52/mozjs52-fix-soname.patch | 34 ------- .../js52/mozjs52-include-configure-script.patch | 63 ------------ 4 files changed, 76 insertions(+), 139 deletions(-) create mode 100644 abs/extra/js52/mozjs52-disable-wformat.patch delete mode 100644 abs/extra/js52/mozjs52-fix-soname.patch delete mode 100644 abs/extra/js52/mozjs52-include-configure-script.patch diff --git a/abs/extra/js52/PKGBUILD b/abs/extra/js52/PKGBUILD index 6338a13..9f79858 100644 --- a/abs/extra/js52/PKGBUILD +++ b/abs/extra/js52/PKGBUILD @@ -1,72 +1,94 @@ -# $Id$ -# Contributor: Ionut Biru +# Maintainer: Jan Alexander Steffens (heftig) pkgname=js52 -pkgver=52.7.3 -pkgrel=1 -_ffver=${pkgver%%.*} -pkgdesc="JavaScript interpreter and libraries - Version $_ffver" +pkgver=52.9.0 +pkgrel=4 +pkgdesc="JavaScript interpreter and libraries - Version 52" 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 mercurial) -_repo=https://hg.mozilla.org/mozilla-unified -source=("hg+$_repo#tag=FIREFOX_${pkgver//./_}esr_RELEASE" +makedepends=(python2 zip autoconf2.13) +_relver=${pkgver}esr +source=(https://archive.mozilla.org/pub/firefox/releases/$_relver/source/firefox-$_relver.source.tar.xz mozjs52-copy-headers.patch mozjs52-disable-mozglue.patch - mozjs52-fix-soname.patch - mozjs52-include-configure-script.patch) -sha256sums=('SKIP' + mozjs52-disable-wformat.patch) +sha256sums=('c01d09658c53c1b3a496e353a24dad03b26b81d3b1d099abc26a06f81c199dd6' 'c5b3a88e4d10ef149aba6fc48d431db54ff266323fa22a5d549028fd794423cc' '5a84f02521f37de873991dd360a4c4bfdbdd2fb4a218e11be73f9cbbf02050e8' - '06389b8e30465bb8e6fab6144dadedffa30595f143a686524da175b5cf5e8a27' - 'd91a89acd88bfc747a255050757a0c17139bf5c3508c2e1c3c6bb2056786a344') + '4c5a1662e36c6a5a11db0263bb264d104ff801789d5b6bc6a6104439457afb90') + +# Make sure the duplication between bin and lib is found +COMPRESSZST+=(--long) prepare() { - cd mozilla-unified + cd firefox-$_relver + mkdir obj - # https://anonscm.debian.org/git/pkg-gnome/mozjs52.git/tree/debian/patches - patch -Np1 -i ../mozjs52-fix-soname.patch + # https://salsa.debian.org/gnome-team/mozjs52/tree/debian/master/debian/patches patch -Np1 -i ../mozjs52-copy-headers.patch patch -Np1 -i ../mozjs52-disable-mozglue.patch - patch -Np1 -i ../mozjs52-include-configure-script.patch + + # New errors in test code as of GCC 9 + patch -Np1 -i ../mozjs52-disable-wformat.patch } build() { + local configure_args=( + --prefix=/usr + --disable-debug + --disable-debug-symbols + --disable-jemalloc + --disable-strip + --enable-gold + --enable-optimize="-O2" + --enable-pie + --enable-posix-nspr-emulation + --enable-readline + --enable-release + --enable-shared-js + --enable-tests + --with-intl-api + --with-system-zlib + --without-system-icu + ) flags=( + -fno-delete-null-pointer-checks + -fno-strict-aliasing + -fno-tree-vrp + ) + + cd firefox-$_relver/obj + unset CPPFLAGS - CFLAGS+=' -fno-delete-null-pointer-checks -fno-strict-aliasing -fno-tree-vrp -flto=3' - CXXFLAGS+=' -fno-delete-null-pointer-checks -fno-strict-aliasing -fno-tree-vrp -flto=3' - export CC=gcc CXX=g++ PYTHON=/usr/bin/python2 SHELL=/bin/bash + CFLAGS+=" ${flags[*]}" + CXXFLAGS+=" ${flags[*]}" + export CC=gcc CXX=g++ PYTHON=/usr/bin/python2 - cd mozilla-unified/js/src - sh configure \ - --prefix=/usr \ - --disable-debug \ - --disable-debug-symbols \ - --disable-strip \ - --enable-gold \ - --enable-optimize="-O2" \ - --enable-pie \ - --enable-posix-nspr-emulation \ - --enable-readline \ - --enable-release \ - --enable-shared-js \ - --enable-tests \ - --with-intl-api \ - --with-system-zlib \ - --without-system-icu + sh ../js/src/configure "${configure_args[@]}" make } check() { - cd mozilla-unified/js/src - python2 tests/jstests.py -d -s -t 300 --no-progress ../../js/src/js/src/shell/js - python2 jit-test/jit_test.py -s -t 300 --no-progress ../../js/src/js/src/shell/js basic + local jstests_extra_args=( + --format=none + --exclude-random + ) jittest_extra_args=( + --format=none + --timeout 300 + ) jittest_test_args=( + basic + ) + + cd firefox-$_relver/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 mozilla-unified/js/src + cd firefox-$_relver/obj make DESTDIR="$pkgdir" install rm "$pkgdir"/usr/lib/*.ajs find "$pkgdir"/usr/{lib/pkgconfig,include} -type f -exec chmod -c a-x {} + diff --git a/abs/extra/js52/mozjs52-disable-wformat.patch b/abs/extra/js52/mozjs52-disable-wformat.patch new file mode 100644 index 0000000..71e9ac3 --- /dev/null +++ b/abs/extra/js52/mozjs52-disable-wformat.patch @@ -0,0 +1,12 @@ +diff -u -r firefox-52.9.0esr/js/src/jsapi-tests/moz.build firefox-52.9.0esr-noerror/js/src/jsapi-tests/moz.build +--- firefox-52.9.0esr/js/src/jsapi-tests/moz.build 2017-04-11 02:13:16.000000000 +0000 ++++ firefox-52.9.0esr-noerror/js/src/jsapi-tests/moz.build 2019-06-20 20:10:31.092230735 +0000 +@@ -147,7 +147,7 @@ + OS_LIBS += CONFIG['MOZ_ZLIB_LIBS'] + + if CONFIG['GNU_CXX']: +- CXXFLAGS += ['-Wno-shadow', '-Werror=format'] ++ CXXFLAGS += ['-Wno-shadow'] + + # This is intended as a temporary workaround to enable VS2015. + if CONFIG['_MSC_VER']: diff --git a/abs/extra/js52/mozjs52-fix-soname.patch b/abs/extra/js52/mozjs52-fix-soname.patch deleted file mode 100644 index a91107c..0000000 --- a/abs/extra/js52/mozjs52-fix-soname.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Laszlo Boszormenyi (GCS) -Date: Fri, 02 May 2014 22:20:45 +0200 -Subject: fix soname - -Add soname switch to linker, regardless of Operating System - -Bug-Debian: http://bugs.debian.org/746705 ---- - config/rules.mk | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -Index: mozjs52-52.2.1~artful1/config/rules.mk -=================================================================== ---- mozjs52-52.2.1~artful1.orig/config/rules.mk -+++ mozjs52-52.2.1~artful1/config/rules.mk -@@ -418,7 +418,7 @@ endif # AIX - # - # Linux: add -Bsymbolic flag for components - # --ifeq ($(OS_ARCH),Linux) -+#ifeq ($(OS_ARCH),Linux) - ifdef IS_COMPONENT - EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic - endif -@@ -426,7 +426,8 @@ ifdef LD_VERSION_SCRIPT - EXTRA_DSO_LDOPTS += -Wl,--version-script,$(LD_VERSION_SCRIPT) - EXTRA_DEPS += $(LD_VERSION_SCRIPT) - endif --endif -+#endif -+EXTRA_DSO_LDOPTS += -Wl,-soname,lib$(JS_LIBRARY_NAME).so.0 - - ifdef SYMBOLS_FILE - ifeq ($(OS_TARGET),WINNT) diff --git a/abs/extra/js52/mozjs52-include-configure-script.patch b/abs/extra/js52/mozjs52-include-configure-script.patch deleted file mode 100644 index 523e657..0000000 --- a/abs/extra/js52/mozjs52-include-configure-script.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 4a06a1a6a71293decb83aee7adb74bc709493106 Mon Sep 17 00:00:00 2001 -From: Philip Chimento -Date: Wed, 5 Jul 2017 22:57:09 -0700 -Subject: [PATCH] build: Include configure script, be nicer about options - -A configure script is not included in the SpiderMonkey tarball by -default. Also, we have to account for JHbuild passing extra unknown -options like --disable-Werror. - -https://bugzilla.mozilla.org/show_bug.cgi?id=1379540 ---- - js/src/configure | 9 +++++++++ - python/mozbuild/mozbuild/configure/__init__.py | 2 +- - python/mozbuild/mozbuild/configure/options.py | 6 +++++- - 3 files changed, 15 insertions(+), 2 deletions(-) - create mode 100755 js/src/configure - -diff --git a/js/src/configure b/js/src/configure -new file mode 100755 -index 00000000..f1ef8c49 ---- /dev/null -+++ b/js/src/configure -@@ -0,0 +1,9 @@ -+#!/bin/sh -+ -+SRCDIR=$(dirname $0) -+TOPSRCDIR="$SRCDIR"/../.. -+export OLD_CONFIGURE="$SRCDIR"/old-configure -+ -+set -- "$@" --enable-project=js -+ -+which python2.7 > /dev/null && exec python2.7 "$TOPSRCDIR/configure.py" "$@" || exec python "$TOPSRCDIR/configure.py" "$@" -diff --git a/python/mozbuild/mozbuild/configure/__init__.py b/python/mozbuild/mozbuild/configure/__init__.py -index 0fe640ca..09b460d3 100644 ---- a/python/mozbuild/mozbuild/configure/__init__.py -+++ b/python/mozbuild/mozbuild/configure/__init__.py -@@ -356,7 +356,7 @@ def run(self, path=None): - # All options should have been removed (handled) by now. - for arg in self._helper: - without_value = arg.split('=', 1)[0] -- raise InvalidOptionError('Unknown option: %s' % without_value) -+ print('Ignoring', without_value, ': Unknown option') - - # Run the execution queue - for func, args in self._execution_queue: -diff --git a/python/mozbuild/mozbuild/configure/options.py b/python/mozbuild/mozbuild/configure/options.py -index 4310c862..15bfe425 100644 ---- a/python/mozbuild/mozbuild/configure/options.py -+++ b/python/mozbuild/mozbuild/configure/options.py -@@ -402,7 +402,11 @@ def __init__(self, environ=os.environ, argv=sys.argv): - - def add(self, arg, origin='command-line', args=None): - assert origin != 'default' -- prefix, name, values = Option.split_option(arg) -+ try: -+ prefix, name, values = Option.split_option(arg) -+ except InvalidOptionError as e: -+ print('Ignoring', arg, ':', e) -+ return - if args is None: - args = self._extra_args - if args is self._extra_args and name in self._extra_args: - -- cgit v0.12