[arch-commits] Commit in js60/repos (5 files)
Jan Steffens
heftig at archlinux.org
Tue Sep 4 20:36:42 UTC 2018
Date: Tuesday, September 4, 2018 @ 20:36:41
Author: heftig
Revision: 333346
archrelease: copy trunk to gnome-unstable-x86_64
Added:
js60/repos/gnome-unstable-x86_64/
js60/repos/gnome-unstable-x86_64/PKGBUILD
(from rev 333345, js60/trunk/PKGBUILD)
js60/repos/gnome-unstable-x86_64/bug1415202.patch
(from rev 333345, js60/trunk/bug1415202.patch)
js60/repos/gnome-unstable-x86_64/mozjs52-include-configure-script.patch
(from rev 333345, js60/trunk/mozjs52-include-configure-script.patch)
js60/repos/gnome-unstable-x86_64/mozjs60-fix-soname.patch
(from rev 333345, js60/trunk/mozjs60-fix-soname.patch)
----------------------------------------+
PKGBUILD | 88 +++++++++++++++++++++
bug1415202.patch | 129 +++++++++++++++++++++++++++++++
mozjs52-include-configure-script.patch | 63 +++++++++++++++
mozjs60-fix-soname.patch | 25 ++++++
4 files changed, 305 insertions(+)
Copied: js60/repos/gnome-unstable-x86_64/PKGBUILD (from rev 333345, js60/trunk/PKGBUILD)
===================================================================
--- gnome-unstable-x86_64/PKGBUILD (rev 0)
+++ gnome-unstable-x86_64/PKGBUILD 2018-09-04 20:36:41 UTC (rev 333346)
@@ -0,0 +1,88 @@
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
+
+pkgname=js60
+pkgver=60.1.0
+pkgrel=1
+_ffver=${pkgver%%.*}
+pkgdesc="JavaScript interpreter and libraries - Version $_ffver"
+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"
+ bug1415202.patch
+ mozjs60-fix-soname.patch
+ mozjs52-include-configure-script.patch)
+sha256sums=('SKIP'
+ '9f316ab46d1c45b0051b43579e80d0d622c58d74230877a53b170c56e6aa0193'
+ 'c792837930defe27355941080e9b80ec1d45003c097e4707860acc13d43bc519'
+ 'd91a89acd88bfc747a255050757a0c17139bf5c3508c2e1c3c6bb2056786a344')
+
+prepare() {
+ cd mozilla-unified
+ mkdir obj
+
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1479687
+ patch -Np1 -i ../bug1415202.patch
+
+ # https://salsa.debian.org/gnome-team/mozjs52/tree/debian/master/debian/patches
+ patch -Np1 -i ../mozjs60-fix-soname.patch
+ patch -Np1 -i ../mozjs52-include-configure-script.patch
+}
+
+build() {
+ local configure_args=(
+ --prefix=/usr
+ --disable-debug
+ --disable-debug-symbols
+ --disable-jemalloc
+ --disable-strip
+ --enable-hardening
+ --enable-linker=gold
+ --enable-optimize
+ --enable-posix-nspr-emulation
+ --enable-readline
+ --enable-release
+ --enable-shared-js
+ --enable-tests
+ --with-intl-api
+ --with-system-zlib
+ --without-system-icu
+ )
+
+ cd mozilla-unified/obj
+
+ export PYTHON=/usr/bin/python2
+
+ 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 mozilla-unified/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/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:
Copied: js60/repos/gnome-unstable-x86_64/bug1415202.patch (from rev 333345, js60/trunk/bug1415202.patch)
===================================================================
--- gnome-unstable-x86_64/bug1415202.patch (rev 0)
+++ gnome-unstable-x86_64/bug1415202.patch 2018-09-04 20:36:41 UTC (rev 333346)
@@ -0,0 +1,129 @@
+# HG changeset patch
+# User André Bargull <andre.bargull at gmail.com>
+# Date 1510140221 28800
+# Wed Nov 08 03:23:41 2017 -0800
+# Node ID 8bf5e7460a7c5ba3430b501d1659c469a862a929
+# Parent 60fd4a5b01ec70ded9ddfd560fd5be191b1c74b9
+Bug 1415202: Always use the equivalent year to determine the time zone offset and name. r=Waldo
+
+diff --git a/js/src/jsdate.cpp b/js/src/jsdate.cpp
+--- a/js/src/jsdate.cpp
++++ b/js/src/jsdate.cpp
+@@ -2636,22 +2636,26 @@ ToPRMJTime(double localTime, double utcT
+
+ return prtm;
+ }
+
+ static size_t
+ FormatTime(char* buf, int buflen, const char* fmt, double utcTime, double localTime)
+ {
+ PRMJTime prtm = ToPRMJTime(localTime, utcTime);
+- int eqivalentYear = IsRepresentableAsTime32(utcTime)
+- ? prtm.tm_year
+- : EquivalentYearForDST(prtm.tm_year);
++
++ // If an equivalent year was used to compute the date/time components, use
++ // the same equivalent year to determine the time zone name and offset in
++ // PRMJ_FormatTime(...).
++ int timeZoneYear = IsRepresentableAsTime32(utcTime)
++ ? prtm.tm_year
++ : EquivalentYearForDST(prtm.tm_year);
+ int offsetInSeconds = (int) floor((localTime - utcTime) / msPerSecond);
+
+- return PRMJ_FormatTime(buf, buflen, fmt, &prtm, eqivalentYear, offsetInSeconds);
++ return PRMJ_FormatTime(buf, buflen, fmt, &prtm, timeZoneYear, offsetInSeconds);
+ }
+
+ enum class FormatSpec {
+ DateTime,
+ Date,
+ Time
+ };
+
+diff --git a/js/src/vm/Time.cpp b/js/src/vm/Time.cpp
+--- a/js/src/vm/Time.cpp
++++ b/js/src/vm/Time.cpp
+@@ -257,17 +257,17 @@ PRMJ_InvalidParameterHandler(const wchar
+ {
+ /* empty */
+ }
+ #endif
+
+ /* Format a time value into a buffer. Same semantics as strftime() */
+ size_t
+ PRMJ_FormatTime(char* buf, int buflen, const char* fmt, const PRMJTime* prtm,
+- int equivalentYear, int offsetInSeconds)
++ int timeZoneYear, int offsetInSeconds)
+ {
+ size_t result = 0;
+ #if defined(XP_UNIX) || defined(XP_WIN)
+ struct tm a;
+ #ifdef XP_WIN
+ _invalid_parameter_handler oldHandler;
+ #ifndef __MINGW32__
+ int oldReportMode;
+@@ -290,39 +290,33 @@ PRMJ_FormatTime(char* buf, int buflen, c
+ */
+ #if defined(HAVE_LOCALTIME_R) && defined(HAVE_TM_ZONE_TM_GMTOFF)
+ char emptyTimeZoneId[] = "";
+ {
+ /*
+ * Fill out |td| to the time represented by |prtm|, leaving the
+ * timezone fields zeroed out. localtime_r will then fill in the
+ * timezone fields for that local time according to the system's
+- * timezone parameters.
++ * timezone parameters. Use |timeZoneYear| for the year to ensure the
++ * time zone name matches the time zone offset used by the caller.
+ */
+ struct tm td;
+ memset(&td, 0, sizeof(td));
+ td.tm_sec = prtm->tm_sec;
+ td.tm_min = prtm->tm_min;
+ td.tm_hour = prtm->tm_hour;
+ td.tm_mday = prtm->tm_mday;
+ td.tm_mon = prtm->tm_mon;
+ td.tm_wday = prtm->tm_wday;
+- td.tm_year = prtm->tm_year - 1900;
++ td.tm_year = timeZoneYear - 1900;
+ td.tm_yday = prtm->tm_yday;
+ td.tm_isdst = prtm->tm_isdst;
+
+ time_t t = mktime(&td);
+
+- // If |prtm| cannot be represented in |time_t| the year is probably
+- // out of range, try again with the DST equivalent year.
+- if (t == static_cast<time_t>(-1)) {
+- td.tm_year = equivalentYear - 1900;
+- t = mktime(&td);
+- }
+-
+ // If either mktime or localtime_r failed, fill in the fallback time
+ // zone offset |offsetInSeconds| and set the time zone identifier to
+ // the empty string.
+ if (t != static_cast<time_t>(-1) && localtime_r(&t, &td)) {
+ a.tm_gmtoff = td.tm_gmtoff;
+ a.tm_zone = td.tm_zone;
+ } else {
+ a.tm_gmtoff = offsetInSeconds;
+diff --git a/js/src/vm/Time.h b/js/src/vm/Time.h
+--- a/js/src/vm/Time.h
++++ b/js/src/vm/Time.h
+@@ -50,17 +50,17 @@ PRMJ_NowShutdown();
+ #else
+ inline void
+ PRMJ_NowShutdown() {}
+ #endif
+
+ /* Format a time value into a buffer. Same semantics as strftime() */
+ extern size_t
+ PRMJ_FormatTime(char* buf, int buflen, const char* fmt, const PRMJTime* tm,
+- int equivalentYear, int offsetInSeconds);
++ int timeZoneYear, int offsetInSeconds);
+
+
+ /**
+ * Requesting the number of cycles from the CPU.
+ *
+ * `rdtsc`, or Read TimeStamp Cycle, is an instruction provided by
+ * x86-compatible CPUs that lets processes request the number of
+ * cycles spent by the CPU executing instructions since the CPU was
Copied: js60/repos/gnome-unstable-x86_64/mozjs52-include-configure-script.patch (from rev 333345, js60/trunk/mozjs52-include-configure-script.patch)
===================================================================
--- gnome-unstable-x86_64/mozjs52-include-configure-script.patch (rev 0)
+++ gnome-unstable-x86_64/mozjs52-include-configure-script.patch 2018-09-04 20:36:41 UTC (rev 333346)
@@ -0,0 +1,63 @@
+From 4a06a1a6a71293decb83aee7adb74bc709493106 Mon Sep 17 00:00:00 2001
+From: Philip Chimento <philip.chimento at gmail.com>
+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:
+
Copied: js60/repos/gnome-unstable-x86_64/mozjs60-fix-soname.patch (from rev 333345, js60/trunk/mozjs60-fix-soname.patch)
===================================================================
--- gnome-unstable-x86_64/mozjs60-fix-soname.patch (rev 0)
+++ gnome-unstable-x86_64/mozjs60-fix-soname.patch 2018-09-04 20:36:41 UTC (rev 333346)
@@ -0,0 +1,25 @@
+diff --git i/js/src/build/Makefile.in w/js/src/build/Makefile.in
+index ee19104e0ef5..a0f06fd35a18 100644
+--- i/js/src/build/Makefile.in
++++ w/js/src/build/Makefile.in
+@@ -89,6 +89,8 @@ ifneq (,$(REAL_LIBRARY))
+ endif
+ ifneq (,$(SHARED_LIBRARY))
+ $(SYSINSTALL) $(SHARED_LIBRARY) $(DESTDIR)$(libdir)
++ mv -f $(DESTDIR)$(libdir)/$(SHARED_LIBRARY) $(DESTDIR)$(libdir)/$(SHARED_LIBRARY).0
++ ln -s $(SHARED_LIBRARY).0 $(DESTDIR)$(libdir)/$(SHARED_LIBRARY)
+ ifeq ($(OS_ARCH),Darwin)
+ install_name_tool -id $(abspath $(libdir)/$(SHARED_LIBRARY)) $(DESTDIR)$(libdir)/$(SHARED_LIBRARY)
+ endif
+diff --git i/js/src/build/moz.build w/js/src/build/moz.build
+index a7f5fa4ce8eb..726687c13fb0 100644
+--- i/js/src/build/moz.build
++++ w/js/src/build/moz.build
+@@ -23,6 +23,7 @@ if not CONFIG['JS_STANDALONE']:
+ if CONFIG['JS_SHARED_LIBRARY']:
+ GeckoSharedLibrary('js', linkage=None)
+ SHARED_LIBRARY_NAME = CONFIG['JS_LIBRARY_NAME']
++ LDFLAGS += ['-Wl,-soname,lib{}.so.0'.format(SHARED_LIBRARY_NAME)]
+ else:
+ Library('js')
+
More information about the arch-commits
mailing list