Date: Tuesday, July 9, 2019 @ 21:35:19
  Author: heftig
Revision: 357490

archrelease: copy trunk to testing-x86_64

Added:
  js60/repos/testing-x86_64/
  js60/repos/testing-x86_64/PKGBUILD
    (from rev 357489, js60/trunk/PKGBUILD)
  js60/repos/testing-x86_64/bug1415202.patch
    (from rev 357489, js60/trunk/bug1415202.patch)
  js60/repos/testing-x86_64/mozjs60-fix-soname.patch
    (from rev 357489, js60/trunk/mozjs60-fix-soname.patch)

--------------------------+
 PKGBUILD                 |   86 ++++++++++++++++++++++++++++++
 bug1415202.patch         |  127 +++++++++++++++++++++++++++++++++++++++++++++
 mozjs60-fix-soname.patch |   25 ++++++++
 3 files changed, 238 insertions(+)

Copied: js60/repos/testing-x86_64/PKGBUILD (from rev 357489, 
js60/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD                             (rev 0)
+++ testing-x86_64/PKGBUILD     2019-07-09 21:35:19 UTC (rev 357490)
@@ -0,0 +1,86 @@
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steff...@gmail.com>
+
+pkgname=js60
+pkgver=60.8.0
+pkgrel=1
+pkgdesc="JavaScript interpreter and libraries - Version 60"
+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)
+_relver=${pkgver}esr
+source=(https://archive.mozilla.org/pub/firefox/releases/$_relver/source/firefox-$_relver.source.tar.xz{,.asc}
+        bug1415202.patch
+        mozjs60-fix-soname.patch)
+sha256sums=('c13387d944e635aebd5f1d2ce9ab77cb706a74043a240cbb7b70654519487fbe'
+            'SKIP'
+            '0b410aa6ebd0236cd3ea524340c2da2235973a42cd0eaa90f7f394cd5bcbab95'
+            'c792837930defe27355941080e9b80ec1d45003c097e4707860acc13d43bc519')
+validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software 
Releases <rele...@mozilla.com>
+
+prepare() {
+  cd firefox-$pkgver
+  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
+}
+
+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 firefox-$pkgver/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 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:

Copied: js60/repos/testing-x86_64/bug1415202.patch (from rev 357489, 
js60/trunk/bug1415202.patch)
===================================================================
--- testing-x86_64/bug1415202.patch                             (rev 0)
+++ testing-x86_64/bug1415202.patch     2019-07-09 21:35:19 UTC (rev 357490)
@@ -0,0 +1,127 @@
+# HG changeset patch
+# User André Bargull <andre.barg...@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
+@@ -2348,22 +2348,26 @@ static PRMJTime ToPRMJTime(double localT
+   prtm.tm_isdst = (DaylightSavingTA(utcTime) != 0);
+ 
+   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)
++
++  // 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,
++  return PRMJ_FormatTime(buf, buflen, fmt, &prtm, timeZoneYear,
+                          offsetInSeconds);
+ }
+ 
+ enum class FormatSpec { DateTime, Date, Time };
+ 
+ static bool FormatDate(JSContext* cx, double utcTime, FormatSpec format,
+                        MutableHandleValue rval) {
+   JSString* str;
+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
+@@ -242,17 +242,17 @@ static void PRMJ_InvalidParameterHandler
+                                          const wchar_t* file, unsigned int 
line,
+                                          uintptr_t pReserved) {
+   /* 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,
++                       const PRMJTime* prtm, 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;
+@@ -275,39 +275,33 @@ size_t PRMJ_FormatTime(char* buf, int bu
+    */
+ #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
+@@ -44,17 +44,17 @@ inline void PRMJ_NowInit() {}
+ #ifdef XP_WIN
+ extern void 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,
++                              const PRMJTime* tm, 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/testing-x86_64/mozjs60-fix-soname.patch (from rev 357489, 
js60/trunk/mozjs60-fix-soname.patch)
===================================================================
--- testing-x86_64/mozjs60-fix-soname.patch                             (rev 0)
+++ testing-x86_64/mozjs60-fix-soname.patch     2019-07-09 21:35:19 UTC (rev 
357490)
@@ -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')
+ 

Reply via email to