diff options
author | Ian Stakenvicius <axs@gentoo.org> | 2017-10-03 10:38:14 -0400 |
---|---|---|
committer | Ian Stakenvicius <axs@gentoo.org> | 2017-10-03 11:49:57 -0400 |
commit | a4e326514db8e1f2c4423fc326f2983de2fad8b4 (patch) | |
tree | 5c4b67c2eb015aa8d9a69f23cfeb795acf7c12ac /dev-lang/spidermonkey | |
parent | sys-apps/baselayout: remove unstable version (diff) | |
download | gentoo-a4e326514db8e1f2c4423fc326f2983de2fad8b4.tar.gz gentoo-a4e326514db8e1f2c4423fc326f2983de2fad8b4.tar.bz2 gentoo-a4e326514db8e1f2c4423fc326f2983de2fad8b4.zip |
dev-lang/spidermonkey: file and package cleanups
- Dropped spidermonkey-1.8.5-r5
- Migrated same-slot patches to tarballs to clean up ${FILESDIR}
- fixed SRC_URI to point to mozilla http repo instead of the log-removed ftp
Package-Manager: Portage-2.3.8, Repoman-2.3.1
Diffstat (limited to 'dev-lang/spidermonkey')
49 files changed, 80 insertions, 2983 deletions
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest index 312f1709f4d8..a8bbf9425ed4 100644 --- a/dev-lang/spidermonkey/Manifest +++ b/dev-lang/spidermonkey/Manifest @@ -6,3 +6,8 @@ DIST mozjs-45.0.2.tar.bz2 97508152 SHA256 570530b1e551bf4a459d7cae875f33f99d5ef0 DIST mozjs-52.2.0_pre20170719.tar.bz2 30630133 SHA256 2bab92b432ecbe665616440594463abfb21ce3aff573f360f19ef0cce8ce4c77 SHA512 9657006e071bdf0b6006ab806949eb8371f4d749989d95a3a46da0baedfe669727ccd6430c2022a4ec5ce2bb9cd9a231aba85605de1319a5c678633f0001a78c WHIRLPOOL 14db035ad690b416b793df34a065ddf5096e43346f5a0462cf79605f1745fa18f7f578ae46b0eadeeef3fb7369e76f812c4cdfe227b1442d277fd80625998c52 DIST mozjs17.0.0.tar.gz 6778934 SHA256 321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba SHA512 39b68aeb9f712f146778d8b68ee795709a1372c8ab893a222af4eb34882427d6f5cf877e743d6cb2f1b4348c194d8f3774f00cb775b03515b34b49560b748be4 WHIRLPOOL 4df7b51577787194065162b09d2c3dda849c13fa901305f9925d4ca5d38bb7f8e2daa943099e003fb9d11f9264ae2d77ccf04e5eea11e3ddcb624b504b99d52f DIST spidermonkey-52.0-patches-0.tar.xz 5172 SHA256 20165c0fbf5d441cea6217a7a6dca8b8623b5dbba2496eb769aaef3ca93647bf SHA512 88ad640fb0efa4972f1b7782bd0abee1751b73914ee51faade93b25c4d8eec64e7693898842a406c49fc2ab43733404efeccb138afb64d2193b9a5eb612578e3 WHIRLPOOL bd9f264d54bfd14ad9f339229a29a66f873d2ae66fbbc55edd4ae80135f08c6cd4a5e9c5ab65254749ecbafb7c8fdaa5c5936275e263e53ce47ab606d143114c +DIST spidermonkey-slot0-patches-01.tar.xz 10488 SHA256 7f0bf9921b9320046b9f06afaa1e0764aead72770ef0a3c29f4967aa20f9f7f9 SHA512 6c878ed0b50c052989a8b965fed845e9c672b691f4c4b1f98ee82e81a33880e1e6bf1dac8222d71322553282de602a88272dedebbcf50d27967fc172f0a8054a WHIRLPOOL 6a35cd027af0b7e730f8e563b9a2048bc8c7b8447889ae4b0cb719a12d48917c34b6e694c84e0e0c23a45b5f5d016580ceb97ac58527f705ffe2a59d56f15869 +DIST spidermonkey-slot17-patches-01.tar.xz 2748 SHA256 366ff6db042face813c7e2145184e750d7f8ec44c0e8725c0b53d6be0cc33e2b SHA512 21a90f85d156de3cca9811317507162a458f908bb447924fcfbf49b7bb70496b611ce7df90b90775316b8ceafda56692be3bf856b168b83ed40b8a5c668eed3f WHIRLPOOL bee9e8b46200a2f8b41d5fa208a18471758c7bc1c08c9621a46e54846f49fecb37325a8ada9c438119e4772554078870a5e3d4d76d9d6e13e2d13c287ed0834a +DIST spidermonkey-slot24-patches-01.tar.xz 3444 SHA256 6a16001d665443c5e40c3237f6adc16589b26993e9d3c87577e6feabae42f7e0 SHA512 712250983f726eb2fe7ae243e9ca510b6e5b8fa0f221fe5120c2e2f75334f7e4b10b8ab172869d7333a120529dbc2a513c170533d5ad5af27a2643ce1384bbdb WHIRLPOOL ec895aabb0486b9eea41bbc005af552cadb587450af72de79a7d4a20f9258b589c63cf1f8b3afbba8244fe8b748937ebcbf572f1655a57e68c0d2b482cddd153 +DIST spidermonkey-slot38-patches-01.tar.xz 7472 SHA256 ff4b66116b18b376630efa0ced0c0ce8c3a636c43b75e34e904c87f8d4cd4f6a SHA512 953acee985d192c6d0f18f14c70fdda33a7c8f784c6833ca8b75495044b40a8b3f29b281c40dbfcda0c8570c111a3dd1717c2ef0ffd651c1b50d1f2bff1f6d09 WHIRLPOOL b41f21c2b7434332c8bff351af7e030a94db7044995f88df74d7efcf2d196f5ddba6293230b42f528ca22ea2d7fdd58d0da935bb90b155f7c83fc5b3f9645ef5 +DIST spidermonkey-slot45-patches-01.tar.xz 5092 SHA256 713e03f4c95908d93003fa1ca776823cccaf8fdc27db09ea59176edc318504dc SHA512 d52f038a7b4f7b410b5a1f94a55962adafc5906e7d85f605f3fe45ad49417c2b9d58d853a81b5d2395a2842c9780992d5a2c1a0e67aa77fb09f21aff9aeb0f7a WHIRLPOOL 9e4119af5a09f155a8f8781448364a9262ab2fb8d085a7235498f555ffa64eb054706ada3548ac40f76e686ed80e2777d39c565a631bf58b0c2e45f6195ce47b diff --git a/dev-lang/spidermonkey/files/ff45/7000_drop-Wl-build-id_v4.patch b/dev-lang/spidermonkey/files/ff45/7000_drop-Wl-build-id_v4.patch deleted file mode 100644 index 8a1e1dd9988f..000000000000 --- a/dev-lang/spidermonkey/files/ff45/7000_drop-Wl-build-id_v4.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/js/src/configure.in 2014-06-05 21:15:27.000000000 -0400 -+++ b/js/src/configure.in 2014-06-13 11:01:51.130703283 -0400 -@@ -1156,14 +1156,6 @@ - AC_MSG_RESULT([no]) - LDFLAGS=$_SAVE_LDFLAGS) - -- AC_MSG_CHECKING([for --build-id option to ld]) -- _SAVE_LDFLAGS=$LDFLAGS -- LDFLAGS="$LDFLAGS -Wl,--build-id" -- AC_TRY_LINK(,,AC_MSG_RESULT([yes]) -- [NSPR_LDFLAGS="$NSPR_LDFLAGS -Wl,--build-id"], -- AC_MSG_RESULT([no]) -- LDFLAGS=$_SAVE_LDFLAGS) -- - # Turn on gcc/clang warnings: - # https://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Warning-Options.html - # diff --git a/dev-lang/spidermonkey/files/ff45/7003_freebsd_jscpucfg.patch b/dev-lang/spidermonkey/files/ff45/7003_freebsd_jscpucfg.patch deleted file mode 100644 index 467bf4441444..000000000000 --- a/dev-lang/spidermonkey/files/ff45/7003_freebsd_jscpucfg.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/js/src/jscpucfg.h 2012-01-18 17:38:54.409461514 +0100 -+++ b/js/src/jscpucfg.h 2012-01-18 17:38:59.522462164 +0100 -@@ -77,6 +77,19 @@ - #define IS_BIG_ENDIAN 1 - #endif - -+#elif defined(__FreeBSD__) -+#include <sys/endian.h> -+ -+#if defined(BYTE_ORDER) -+#if BYTE_ORDER == LITTLE_ENDIAN -+#define IS_LITTLE_ENDIAN 1 -+#undef IS_BIG_ENDIAN -+#elif BYTE_ORDER == BIG_ENDIAN -+#undef IS_LITTLE_ENDIAN -+#define IS_BIG_ENDIAN 1 -+#endif -+#endif -+ - #elif defined(JS_HAVE_ENDIAN_H) - #include <endian.h> - diff --git a/dev-lang/spidermonkey/files/ff45/8001_hppa_js_configure.patch b/dev-lang/spidermonkey/files/ff45/8001_hppa_js_configure.patch deleted file mode 100644 index a33ab3cd6143..000000000000 --- a/dev-lang/spidermonkey/files/ff45/8001_hppa_js_configure.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/js/src/configure.in -+++ b/js/src/configure.in -@@ -958,7 +958,7 @@ - CPU_ARCH=s390x - ;; - --hppa* | parisc) -+hppa* | parisc*) - CPU_ARCH=hppa - ;; - -@@ -2009,6 +2009,9 @@ - AC_DEFINE(JS_CPU_MIPS) - AC_DEFINE(JS_NUNBOX32) - ;; -+hppa*) -+ AC_DEFINE(JS_NUNBOX32) -+ ;; - esac - - MOZ_ARG_DISABLE_BOOL(ion, diff --git a/dev-lang/spidermonkey/files/ff45/8007_nonejit_ppc64_fix_bug1253216.patch b/dev-lang/spidermonkey/files/ff45/8007_nonejit_ppc64_fix_bug1253216.patch deleted file mode 100644 index 26e9373dddfc..000000000000 --- a/dev-lang/spidermonkey/files/ff45/8007_nonejit_ppc64_fix_bug1253216.patch +++ /dev/null @@ -1,46 +0,0 @@ - -# HG changeset patch -# User Lars T Hansen <lhansen@mozilla.com> -# Date 1457091735 -3600 -# Node ID 69f237c2cf9131e97372debee01931dbacd064e5 -# Parent 3aa4483740828617001060fe7386051020521e90 -Bug 1253216 - clean up the atomic ops ifdef nest. r=jorendorff - -diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h ---- a/js/src/jit/AtomicOperations.h -+++ b/js/src/jit/AtomicOperations.h -@@ -318,21 +318,29 @@ AtomicOperations::isLockfree(int32_t siz - } // namespace js - - #if defined(JS_CODEGEN_ARM) - # include "jit/arm/AtomicOperations-arm.h" - #elif defined(JS_CODEGEN_ARM64) - # include "jit/arm64/AtomicOperations-arm64.h" - #elif defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_MIPS64) - # include "jit/mips-shared/AtomicOperations-mips-shared.h" --#elif defined(__ppc64__) || defined(__PPC64_) \ -- || defined(__ppc64le__) || defined(__PPC64LE__) \ -- || defined(__ppc__) || defined(__PPC__) -+#elif defined(__ppc__) || defined(__PPC__) - # include "jit/none/AtomicOperations-ppc.h" - #elif defined(JS_CODEGEN_NONE) --# include "jit/none/AtomicOperations-none.h" -+ // You can disable the JIT with --disable-ion but you must still -+ // provide the atomic operations that will be used by the JS engine. -+ // When the JIT is disabled the operations are simply safe-for-races -+ // C++ realizations of atomics. These operations cannot be written -+ // in portable C++, hence the default here is to crash. See the -+ // top of the file for more guidance. -+# if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__) -+# include "jit/none/AtomicOperations-ppc.h" -+# else -+# include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always -+# endif - #elif defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) - # include "jit/x86-shared/AtomicOperations-x86-shared.h" - #else - # error "Atomic operations must be defined for this platform" - #endif - - #endif // jit_AtomicOperations_h - diff --git a/dev-lang/spidermonkey/files/ff45/8008_nonejit_x86_fix_based_on_bug1253216.patch b/dev-lang/spidermonkey/files/ff45/8008_nonejit_x86_fix_based_on_bug1253216.patch deleted file mode 100644 index 86b27130205d..000000000000 --- a/dev-lang/spidermonkey/files/ff45/8008_nonejit_x86_fix_based_on_bug1253216.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/js/src/jit/AtomicOperations.h 2016-03-12 13:42:27.914524205 -0500 -+++ b/js/src/jit/AtomicOperations.h 2016-03-12 13:42:15.644573630 -0500 -@@ -311,6 +311,8 @@ - // top of the file for more guidance. - # if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__) - # include "jit/none/AtomicOperations-ppc.h" -+# elif defined(__i386__) || defined(__x86_64__) -+# include "jit/x86-shared/AtomicOperations-x86-shared.h" - # else - # include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always - # endif diff --git a/dev-lang/spidermonkey/files/ff45/8014_ia64_js.patch b/dev-lang/spidermonkey/files/ff45/8014_ia64_js.patch deleted file mode 100644 index 73075919a864..000000000000 --- a/dev-lang/spidermonkey/files/ff45/8014_ia64_js.patch +++ /dev/null @@ -1,248 +0,0 @@ ---- a/js/src/jit/AtomicOperations.h 2016-11-08 21:27:30.000000000 +0100 -+++ b/js/src/jit/AtomicOperations.h 2016-11-08 22:17:59.280251831 +0100 -@@ -311,6 +311,8 @@ - // top of the file for more guidance. - # if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__) - # include "jit/none/AtomicOperations-ppc.h" -+# elif defined(__ia64__) -+# include "jit/none/AtomicOperations-ia64.h" - # elif defined(__i386__) || defined(__x86_64__) - # include "jit/x86-shared/AtomicOperations-x86-shared.h" - # else ---- /dev/null -+++ b/js/src/jit/none/AtomicOperations-ia64.h 2016-11-08 22:09:41.378809457 +0100 -@@ -0,0 +1,234 @@ -+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- -+ * vim: set ts=8 sts=4 et sw=4 tw=99: -+ * This Source Code Form is subject to the terms of the Mozilla Public -+ * License, v. 2.0. If a copy of the MPL was not distributed with this -+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -+ -+/* For documentation, see jit/AtomicOperations.h */ -+ -+#ifndef jit_ia64_AtomicOperations_ia64_h -+#define jit_ia64_AtomicOperations_ia64_h -+ -+#include "mozilla/Assertions.h" -+#include "mozilla/Types.h" -+ -+#if defined(__GNUC__) -+ -+// The default implementation tactic for gcc is to use the newer -+// __atomic intrinsics added for use in C++11 <atomic>. Where that -+// isn't available, we use GCC's older __sync functions instead. -+// -+// ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS is kept as a backward -+// compatible option for older compilers: enable this to use GCC's old -+// __sync functions instead of the newer __atomic functions. This -+// will be required for GCC 4.6.x and earlier, should we need to use -+// those versions. -+ -+//#define ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ -+inline bool -+js::jit::AtomicOperations::isLockfree8() -+{ -+# ifndef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int8_t), 0)); -+ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int16_t), 0)); -+ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int32_t), 0)); -+ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int64_t), 0)); -+ return true; -+# else -+ return false; -+# endif -+} -+ -+inline void -+js::jit::AtomicOperations::fenceSeqCst() -+{ -+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ __sync_synchronize(); -+# else -+ __atomic_thread_fence(__ATOMIC_SEQ_CST); -+# endif -+} -+ -+template<typename T> -+inline T -+js::jit::AtomicOperations::loadSeqCst(T* addr) -+{ -+ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8()); -+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ __sync_synchronize(); -+ T v = *addr; -+ __sync_synchronize(); -+# else -+ T v; -+ __atomic_load(addr, &v, __ATOMIC_SEQ_CST); -+# endif -+ return v; -+} -+ -+template<typename T> -+inline void -+js::jit::AtomicOperations::storeSeqCst(T* addr, T val) -+{ -+ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8()); -+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ __sync_synchronize(); -+ *addr = val; -+ __sync_synchronize(); -+# else -+ __atomic_store(addr, &val, __ATOMIC_SEQ_CST); -+# endif -+} -+ -+template<typename T> -+inline T -+js::jit::AtomicOperations::compareExchangeSeqCst(T* addr, T oldval, T newval) -+{ -+ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8()); -+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ return __sync_val_compare_and_swap(addr, oldval, newval); -+# else -+ __atomic_compare_exchange(addr, &oldval, &newval, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); -+ return oldval; -+# endif -+} -+ -+template<typename T> -+inline T -+js::jit::AtomicOperations::fetchAddSeqCst(T* addr, T val) -+{ -+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ return __sync_fetch_and_add(addr, val); -+# else -+ return __atomic_fetch_add(addr, val, __ATOMIC_SEQ_CST); -+# endif -+} -+ -+template<typename T> -+inline T -+js::jit::AtomicOperations::fetchSubSeqCst(T* addr, T val) -+{ -+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ return __sync_fetch_and_sub(addr, val); -+# else -+ return __atomic_fetch_sub(addr, val, __ATOMIC_SEQ_CST); -+# endif -+} -+ -+template<typename T> -+inline T -+js::jit::AtomicOperations::fetchAndSeqCst(T* addr, T val) -+{ -+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ return __sync_fetch_and_and(addr, val); -+# else -+ return __atomic_fetch_and(addr, val, __ATOMIC_SEQ_CST); -+# endif -+} -+ -+template<typename T> -+inline T -+js::jit::AtomicOperations::fetchOrSeqCst(T* addr, T val) -+{ -+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ return __sync_fetch_and_or(addr, val); -+# else -+ return __atomic_fetch_or(addr, val, __ATOMIC_SEQ_CST); -+# endif -+} -+ -+template<typename T> -+inline T -+js::jit::AtomicOperations::fetchXorSeqCst(T* addr, T val) -+{ -+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ return __sync_fetch_and_xor(addr, val); -+# else -+ return __atomic_fetch_xor(addr, val, __ATOMIC_SEQ_CST); -+# endif -+} -+ -+template<typename T> -+inline T -+js::jit::AtomicOperations::exchangeSeqCst(T* addr, T val) -+{ -+ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8()); -+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ T v; -+ __sync_synchronize(); -+ do { -+ v = *addr; -+ } while (__sync_val_compare_and_swap(addr, v, val) != v); -+ return v; -+# else -+ T v; -+ __atomic_exchange(addr, &val, &v, __ATOMIC_SEQ_CST); -+ return v; -+# endif -+} -+ -+template<typename T> -+inline T -+js::jit::AtomicOperations::loadSafeWhenRacy(T* addr) -+{ -+ return *addr; // FIXME (1208663): not yet safe -+} -+ -+template<typename T> -+inline void -+js::jit::AtomicOperations::storeSafeWhenRacy(T* addr, T val) -+{ -+ *addr = val; // FIXME (1208663): not yet safe -+} -+ -+inline void -+js::jit::AtomicOperations::memcpySafeWhenRacy(void* dest, const void* src, size_t nbytes) -+{ -+ ::memcpy(dest, src, nbytes); // FIXME (1208663): not yet safe -+} -+ -+inline void -+js::jit::AtomicOperations::memmoveSafeWhenRacy(void* dest, const void* src, size_t nbytes) -+{ -+ ::memmove(dest, src, nbytes); // FIXME (1208663): not yet safe -+} -+ -+template<size_t nbytes> -+inline void -+js::jit::RegionLock::acquire(void* addr) -+{ -+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ while (!__sync_bool_compare_and_swap(&spinlock, 0, 1)) -+ ; -+# else -+ uint32_t zero = 0; -+ uint32_t one = 1; -+ while (!__atomic_compare_exchange(&spinlock, &zero, &one, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE)) { -+ zero = 0; -+ continue; -+ } -+# endif -+} -+ -+template<size_t nbytes> -+inline void -+js::jit::RegionLock::release(void* addr) -+{ -+ MOZ_ASSERT(AtomicOperations::loadSeqCst(&spinlock) == 1, "releasing unlocked region lock"); -+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ __sync_sub_and_fetch(&spinlock, 1); -+# else -+ uint32_t zero = 0; -+ __atomic_store(&spinlock, &zero, __ATOMIC_SEQ_CST); -+# endif -+} -+ -+# undef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS -+ -+#elif defined(ENABLE_SHARED_ARRAY_BUFFER) -+ -+# error "Either disable JS shared memory, use GCC, or add code here" -+ -+#endif -+ -+#endif // jit_ia64_AtomicOperations_ia64_h diff --git a/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr.patch b/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr.patch deleted file mode 100644 index 9e165ff9e88e..000000000000 --- a/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr.patch +++ /dev/null @@ -1,32 +0,0 @@ -From: Jory A. Pratt <anarchy@gentoo.org> - -Note: the first occurrence of :space: is [:space:] (with a single pair -of []), where it should be [[:space:]] (with two pairs of []). - -This causes the sed command to fail (with the error message quoted in -my original report), driving to failure the whole configure step. - -https://bugzilla.mozilla.org/show_bug.cgi?id=1329252 - -diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4 ---- a/build/autoconf/icu.m4 -+++ b/build/autoconf/icu.m4 -@@ -68,17 +68,17 @@ if test -n "$USE_ICU"; then - icudir="$_topsrcdir/intl/icu/source" - if test ! -d "$icudir"; then - icudir="$_topsrcdir/../../intl/icu/source" - if test ! -d "$icudir"; then - AC_MSG_ERROR([Cannot find the ICU directory]) - fi - fi - -- version=`sed -n 's/^[[:space:]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"` -+ version=`sed -n 's/^[[[:space:]]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"` - if test x"$version" = x; then - AC_MSG_ERROR([cannot determine icu version number from uvernum.h header file $lineno]) - fi - MOZ_ICU_VERSION="$version" - - if test "$OS_TARGET" = WINNT; then - MOZ_SHARED_ICU=1 - fi diff --git a/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr38.patch b/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr38.patch deleted file mode 100644 index 488b02f12814..000000000000 --- a/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr38.patch +++ /dev/null @@ -1,32 +0,0 @@ -From: Jory A. Pratt <anarchy@gentoo.org> - -Note: the first occurrence of :space: is [:space:] (with a single pair -of []), where it should be [[:space:]] (with two pairs of []). - -This causes the sed command to fail (with the error message quoted in -my original report), driving to failure the whole configure step. - -https://bugzilla.mozilla.org/show_bug.cgi?id=1329252 - -diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4 ---- a/build/autoconf/icu.m4 -+++ b/build/autoconf/icu.m4 -@@ -68,17 +68,17 @@ - icudir="$_topsrcdir/intl/icu/source" - if test ! -d "$icudir"; then - icudir="$_topsrcdir/../../intl/icu/source" - if test ! -d "$icudir"; then - AC_MSG_ERROR([Cannot find the ICU directory]) - fi - fi - -- version=`sed -n 's/^[[:space:]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"` -+ version=`sed -n 's/^[[[:space:]]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"` - if test x"$version" = x; then - AC_MSG_ERROR([cannot determine icu version number from uvernum.h header file $lineno]) - fi - MOZ_ICU_VERSION="$version" - - if test -z "${JS_STANDALONE}" -a -n "${JS_SHARED_LIBRARY}${MOZ_NATIVE_ICU}"; then - MOZ_SHARED_ICU=1 - fi diff --git a/dev-lang/spidermonkey/files/mozjs38-1269317.patch b/dev-lang/spidermonkey/files/mozjs38-1269317.patch deleted file mode 100644 index 39cc6809af57..000000000000 --- a/dev-lang/spidermonkey/files/mozjs38-1269317.patch +++ /dev/null @@ -1,124 +0,0 @@ -from https://github.com/GNOME/jhbuild/blob/master/patches/mozjs38-1269317.patch - ---- a/js/src/jit/RegisterSets.h 2017-02-10 17:33:06.210702431 -0800 -+++ b/js/src/jit/RegisterSets.h 2017-02-10 17:43:52.877514146 -0800 -@@ -7,7 +7,6 @@ - #ifndef jit_RegisterSets_h - #define jit_RegisterSets_h - --#include "mozilla/Alignment.h" - #include "mozilla/MathAlgorithms.h" - - #include "jit/JitAllocPolicy.h" -@@ -26,8 +25,8 @@ - Code code_; - - public: -- AnyRegister() -- { } -+ AnyRegister() = default; -+ - explicit AnyRegister(Register gpr) { - code_ = gpr.code(); - } -@@ -156,7 +155,7 @@ - } - #endif - -- ValueOperand() {} -+ ValueOperand() = default; - }; - - // Registers to hold either either a typed or untyped value. -@@ -165,46 +164,25 @@ - // Type of value being stored. - MIRType type_; - -- // Space to hold either an AnyRegister or a ValueOperand. - union U { -- mozilla::AlignedStorage2<AnyRegister> typed; -- mozilla::AlignedStorage2<ValueOperand> value; -+ AnyRegister typed; -+ ValueOperand value; - } data; - -- AnyRegister& dataTyped() { -- MOZ_ASSERT(hasTyped()); -- return *data.typed.addr(); -- } -- ValueOperand& dataValue() { -- MOZ_ASSERT(hasValue()); -- return *data.value.addr(); -- } -- -- AnyRegister dataTyped() const { -- MOZ_ASSERT(hasTyped()); -- return *data.typed.addr(); -- } -- const ValueOperand& dataValue() const { -- MOZ_ASSERT(hasValue()); -- return *data.value.addr(); -- } -- - public: - -- TypedOrValueRegister() -- : type_(MIRType_None) -- {} -+ TypedOrValueRegister() = default; - - TypedOrValueRegister(MIRType type, AnyRegister reg) - : type_(type) - { -- dataTyped() = reg; -+ data.typed = reg; - } - - MOZ_IMPLICIT TypedOrValueRegister(ValueOperand value) - : type_(MIRType_Value) - { -- dataValue() = value; -+ data.value = value; - } - - MIRType type() const { -@@ -220,11 +198,13 @@ - } - - AnyRegister typedReg() const { -- return dataTyped(); -+ MOZ_ASSERT(hasTyped()); -+ return data.typed; - } - - ValueOperand valueReg() const { -- return dataValue(); -+ MOZ_ASSERT(hasValue()); -+ return data.value; - } - - AnyRegister scratchReg() { -@@ -240,19 +220,18 @@ - // Whether a constant value is being stored. - bool constant_; - -- // Space to hold either a Value or a TypedOrValueRegister. - union U { -- mozilla::AlignedStorage2<Value> constant; -- mozilla::AlignedStorage2<TypedOrValueRegister> reg; -+ Value constant; -+ TypedOrValueRegister reg; - } data; - - Value& dataValue() { - MOZ_ASSERT(constant()); -- return *data.constant.addr(); -+ return data.constant; - } - TypedOrValueRegister& dataReg() { - MOZ_ASSERT(!constant()); -- return *data.reg.addr(); -+ return data.reg; - } - - public: diff --git a/dev-lang/spidermonkey/files/mozjs38-copy-headers.patch b/dev-lang/spidermonkey/files/mozjs38-copy-headers.patch deleted file mode 100644 index 7f352a795c8d..000000000000 --- a/dev-lang/spidermonkey/files/mozjs38-copy-headers.patch +++ /dev/null @@ -1,20 +0,0 @@ -Description: Copy headers on install instead of symlinking -Author: Rico Tzschichholz <ricotz@ubuntu.com> -Forwarded: no -Last-Update: 2014-10-29 - ---- - -Index: b/python/mozbuild/mozbuild/backend/recursivemake.py -=================================================================== ---- a/python/mozbuild/mozbuild/backend/recursivemake.py -+++ b/python/mozbuild/mozbuild/backend/recursivemake.py -@@ -796,7 +796,7 @@ - return - - for source, dest, _ in self._walk_hierarchy(obj, exports): -- self._install_manifests['dist_include'].add_symlink(source, dest) -+ self._install_manifests['dist_include'].add_copy(source, dest) - - if not os.path.exists(source): - raise Exception('File listed in EXPORTS does not exist: %s' % source) diff --git a/dev-lang/spidermonkey/files/mozjs38-fix-tracelogger.patch b/dev-lang/spidermonkey/files/mozjs38-fix-tracelogger.patch deleted file mode 100644 index 2197f617a043..000000000000 --- a/dev-lang/spidermonkey/files/mozjs38-fix-tracelogger.patch +++ /dev/null @@ -1,605 +0,0 @@ -from https://github.com/GNOME/jhbuild/blob/master/patches/mozjs38-fix-tracelogger.patch - -# === Fix the SM38 tracelogger === -# This patch is a squashed version of several patches that were adapted -# to fix failing hunks. -# -# Applied in the following order, they are: -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223767 -# Assertion failure: i < size_, at js/src/vm/TraceLoggingTypes.h:210 -# Also fix stop-information to make reduce.py work correctly. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227914 -# Limit the memory tracelogger can take. -# This causes tracelogger to flush data to the disk regularly and prevents out of -# memory issues if a lot of data gets logged. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1155618 -# Fix tracelogger destructor that touches possibly uninitialised hash table. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223636 -# Don't treat extraTextId as containing only extra ids. -# This fixes an assertion failure: id == nextTextId at js/src/vm/TraceLoggingGraph.cpp -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227028 -# Fix when to keep the payload of a TraceLogger event. -# This fixes an assertion failure: textId < uint32_t(1 << 31) at js/src/vm/TraceLoggingGraph.h -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1266649 -# Handle failing to add to pointermap gracefully. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1280648 -# Don't cache based on pointers to movable GC things. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1224123 -# Fix the use of LastEntryId in tracelogger.h. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1231170 -# Use size in debugger instead of the current id to track last logged item. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1221844 -# Move TraceLogger_Invalidation to LOG_ITEM. -# Add some debug checks to logTimestamp. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1255766 -# Also mark resizing of memory. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1259403 -# Only increase capacity by multiples of 2. -# Always make sure there are 3 free slots for events. -# === - -diff --git a/js/src/jit-test/tests/tracelogger/bug1231170.js b/js/src/jit-test/tests/tracelogger/bug1231170.js -new file mode 100644 -index 0000000..023e93e ---- /dev/null -+++ b/js/src/jit-test/tests/tracelogger/bug1231170.js -@@ -0,0 +1,3 @@ -+var du = new Debugger(); -+if (typeof du.drainTraceLogger === "function") -+ du.drainTraceLogger(); -diff --git a/js/src/jit-test/tests/tracelogger/bug1266649.js b/js/src/jit-test/tests/tracelogger/bug1266649.js -new file mode 100644 -index 0000000..81ae7ad ---- /dev/null -+++ b/js/src/jit-test/tests/tracelogger/bug1266649.js -@@ -0,0 +1,10 @@ -+ -+var du = new Debugger(); -+if (typeof du.setupTraceLogger === "function" && -+ typeof oomTest === 'function') -+{ -+ du.setupTraceLogger({ -+ Scripts: true -+ }) -+ oomTest(() => function(){}); -+} -diff --git a/js/src/jit/Ion.cpp b/js/src/jit/Ion.cpp -index 93e2fda..09049d6 100644 ---- a/js/src/jit/Ion.cpp -+++ b/js/src/jit/Ion.cpp -@@ -1055,6 +1055,8 @@ IonScript::Destroy(FreeOp* fop, IonScript* script) - - script->destroyCaches(); - script->unlinkFromRuntime(fop); -+ // Frees the potential event we have set. -+ script->traceLoggerScriptEvent_ = TraceLoggerEvent(); - fop->free_(script); - } - -diff --git a/js/src/vm/Debugger.cpp b/js/src/vm/Debugger.cpp -index 26262fd..af7f313 100644 ---- a/js/src/vm/Debugger.cpp -+++ b/js/src/vm/Debugger.cpp -@@ -369,10 +369,10 @@ Debugger::Debugger(JSContext* cx, NativeObject* dbg) - objects(cx), - environments(cx), - #ifdef NIGHTLY_BUILD -- traceLoggerLastDrainedId(0), -+ traceLoggerLastDrainedSize(0), - traceLoggerLastDrainedIteration(0), - #endif -- traceLoggerScriptedCallsLastDrainedId(0), -+ traceLoggerScriptedCallsLastDrainedSize(0), - traceLoggerScriptedCallsLastDrainedIteration(0) - { - assertSameCompartment(cx, dbg); -@@ -3907,9 +3907,9 @@ Debugger::drainTraceLogger(JSContext* cx, unsigned argc, Value* vp) - size_t num; - TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime()); - bool lostEvents = logger->lostEvents(dbg->traceLoggerLastDrainedIteration, -- dbg->traceLoggerLastDrainedId); -+ dbg->traceLoggerLastDrainedSize); - EventEntry* events = logger->getEventsStartingAt(&dbg->traceLoggerLastDrainedIteration, -- &dbg->traceLoggerLastDrainedId, -+ &dbg->traceLoggerLastDrainedSize, - &num); - - RootedObject array(cx, NewDenseEmptyArray(cx)); -@@ -4002,10 +4002,10 @@ Debugger::drainTraceLoggerScriptCalls(JSContext* cx, unsigned argc, Value* vp) - size_t num; - TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime()); - bool lostEvents = logger->lostEvents(dbg->traceLoggerScriptedCallsLastDrainedIteration, -- dbg->traceLoggerScriptedCallsLastDrainedId); -+ dbg->traceLoggerScriptedCallsLastDrainedSize); - EventEntry* events = logger->getEventsStartingAt( - &dbg->traceLoggerScriptedCallsLastDrainedIteration, -- &dbg->traceLoggerScriptedCallsLastDrainedId, -+ &dbg->traceLoggerScriptedCallsLastDrainedSize, - &num); - - RootedObject array(cx, NewDenseEmptyArray(cx)); -diff --git a/js/src/vm/Debugger.h b/js/src/vm/Debugger.h -index 8cac36a..c92d685 100644 ---- a/js/src/vm/Debugger.h -+++ b/js/src/vm/Debugger.h -@@ -314,10 +314,10 @@ class Debugger : private mozilla::LinkedListElement<Debugger> - * lost events. - */ - #ifdef NIGHTLY_BUILD -- uint32_t traceLoggerLastDrainedId; -+ uint32_t traceLoggerLastDrainedSize; - uint32_t traceLoggerLastDrainedIteration; - #endif -- uint32_t traceLoggerScriptedCallsLastDrainedId; -+ uint32_t traceLoggerScriptedCallsLastDrainedSize; - uint32_t traceLoggerScriptedCallsLastDrainedIteration; - - class FrameRange; -diff --git a/js/src/vm/TraceLogging.cpp b/js/src/vm/TraceLogging.cpp -index 6715b36..9766a6f 100644 ---- a/js/src/vm/TraceLogging.cpp -+++ b/js/src/vm/TraceLogging.cpp -@@ -131,7 +131,7 @@ TraceLoggerThread::init() - { - if (!pointerMap.init()) - return false; -- if (!extraTextId.init()) -+ if (!textIdPayloads.init()) - return false; - if (!events.init()) - return false; -@@ -185,10 +185,10 @@ TraceLoggerThread::~TraceLoggerThread() - graph = nullptr; - } - -- for (TextIdHashMap::Range r = extraTextId.all(); !r.empty(); r.popFront()) -- js_delete(r.front().value()); -- extraTextId.finish(); -- pointerMap.finish(); -+ if (textIdPayloads.initialized()) { -+ for (TextIdHashMap::Range r = textIdPayloads.all(); !r.empty(); r.popFront()) -+ js_delete(r.front().value()); -+ } - } - - bool -@@ -287,7 +287,7 @@ TraceLoggerThread::eventText(uint32_t id) - if (id < TraceLogger_Last) - return TLTextIdString(static_cast<TraceLoggerTextId>(id)); - -- TextIdHashMap::Ptr p = extraTextId.lookup(id); -+ TextIdHashMap::Ptr p = textIdPayloads.lookup(id); - MOZ_ASSERT(p); - - return p->value()->string(); -@@ -341,13 +341,15 @@ TraceLoggerThread::extractScriptDetails(uint32_t textId, const char** filename, - TraceLoggerEventPayload* - TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId textId) - { -- TextIdHashMap::AddPtr p = extraTextId.lookupForAdd(textId); -- if (p) -+ TextIdHashMap::AddPtr p = textIdPayloads.lookupForAdd(textId); -+ if (p) { -+ MOZ_ASSERT(p->value()->textId() == textId); // Sanity check. - return p->value(); -+ } - - TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, (char*)nullptr); - -- if (!extraTextId.add(p, textId, payload)) -+ if (!textIdPayloads.add(p, textId, payload)) - return nullptr; - - return payload; -@@ -357,8 +359,10 @@ TraceLoggerEventPayload* - TraceLoggerThread::getOrCreateEventPayload(const char* text) - { - PointerHashMap::AddPtr p = pointerMap.lookupForAdd((const void*)text); -- if (p) -+ if (p) { -+ MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check. - return p->value(); -+ } - - size_t len = strlen(text); - char* str = js_pod_malloc<char>(len + 1); -@@ -369,7 +373,7 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text) - MOZ_ASSERT(ret == len); - MOZ_ASSERT(strlen(str) == len); - -- uint32_t textId = extraTextId.count() + TraceLogger_Last; -+ uint32_t textId = nextTextId; - - TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, str); - if (!payload) { -@@ -377,17 +381,19 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text) - return nullptr; - } - -- if (!extraTextId.putNew(textId, payload)) { -+ if (!textIdPayloads.putNew(textId, payload)) { - js_delete(payload); - return nullptr; - } - -- if (!pointerMap.add(p, text, payload)) -- return nullptr; -- - if (graph.get()) - graph->addTextId(textId, str); - -+ nextTextId++; -+ -+ if (!pointerMap.add(p, text, payload)) -+ return nullptr; -+ - return payload; - } - -@@ -407,9 +413,14 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f - if (!traceLoggerState->isTextIdEnabled(type)) - return getOrCreateEventPayload(type); - -- PointerHashMap::AddPtr p = pointerMap.lookupForAdd(ptr); -- if (p) -- return p->value(); -+ PointerHashMap::AddPtr p; -+ if (ptr) { -+ p = pointerMap.lookupForAdd(ptr); -+ if (p) { -+ MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check. -+ return p->value(); -+ } -+ } - - // Compute the length of the string to create. - size_t lenFilename = strlen(filename); -@@ -428,24 +439,28 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f - MOZ_ASSERT(ret == len); - MOZ_ASSERT(strlen(str) == len); - -- uint32_t textId = extraTextId.count() + TraceLogger_Last; -+ uint32_t textId = nextTextId; - TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, str); - if (!payload) { - js_free(str); - return nullptr; - } - -- if (!extraTextId.putNew(textId, payload)) { -+ if (!textIdPayloads.putNew(textId, payload)) { - js_delete(payload); - return nullptr; - } - -- if (!pointerMap.add(p, ptr, payload)) -- return nullptr; -- - if (graph.get()) - graph->addTextId(textId, str); - -+ nextTextId++; -+ -+ if (ptr) { -+ if (!pointerMap.add(p, ptr, payload)) -+ return nullptr; -+ } -+ - return payload; - } - -@@ -453,14 +468,14 @@ TraceLoggerEventPayload* - TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, JSScript* script) - { - return getOrCreateEventPayload(type, script->filename(), script->lineno(), script->column(), -- script); -+ nullptr); - } - - TraceLoggerEventPayload* - TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, - const JS::ReadOnlyCompileOptions& script) - { -- return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, &script); -+ return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, nullptr); - } - - void -@@ -485,7 +500,7 @@ TraceLoggerThread::startEvent(uint32_t id) - if (!traceLoggerState->isTextIdEnabled(id)) - return; - -- logTimestamp(id); -+ log(id); - } - - void -@@ -510,7 +525,7 @@ TraceLoggerThread::stopEvent(uint32_t id) - if (!traceLoggerState->isTextIdEnabled(id)) - return; - -- logTimestamp(TraceLogger_Stop); -+ log(TraceLogger_Stop); - } - - void -@@ -522,23 +537,57 @@ TraceLoggerThread::logTimestamp(TraceLoggerTextId id) - void - TraceLoggerThread::logTimestamp(uint32_t id) - { -+ MOZ_ASSERT(id > TraceLogger_LastTreeItem && id < TraceLogger_Last); -+ log(id); -+} -+ -+void -+TraceLoggerThread::log(uint32_t id) -+{ - if (enabled == 0) - return; - - MOZ_ASSERT(traceLoggerState); -- if (!events.ensureSpaceBeforeAdd()) { -+ -+ // We request for 3 items to add, since if we don't have enough room -+ // we record the time it took to make more place. To log this information -+ // we need 2 extra free entries. -+ if (!events.hasSpaceForAdd(3)) { - uint64_t start = rdtsc() - traceLoggerState->startupTime; - -- if (graph.get()) -- graph->log(events); -+ if (!events.ensureSpaceBeforeAdd(3)) { -+ if (graph.get()) -+ graph->log(events); -+ -+ iteration_++; -+ events.clear(); -+ -+ // Remove the item in the pointerMap for which the payloads -+ // have no uses anymore -+ for (PointerHashMap::Enum e(pointerMap); !e.empty(); e.popFront()) { -+ if (e.front().value()->uses() != 0) -+ continue; -+ -+ TextIdHashMap::Ptr p = textIdPayloads.lookup(e.front().value()->textId()); -+ MOZ_ASSERT(p); -+ textIdPayloads.remove(p); -+ -+ e.removeFront(); -+ } - -- iteration_++; -- events.clear(); -+ // Free all payloads that have no uses anymore. -+ for (TextIdHashMap::Enum e(textIdPayloads); !e.empty(); e.popFront()) { -+ if (e.front().value()->uses() == 0) { -+ js_delete(e.front().value()); -+ e.removeFront(); -+ } -+ } -+ } - - // Log the time it took to flush the events as being from the - // Tracelogger. - if (graph.get()) { -- MOZ_ASSERT(events.capacity() > 2); -+ MOZ_ASSERT(events.hasSpaceForAdd(2)); - EventEntry& entryStart = events.pushUninitialized(); - entryStart.time = start; - entryStart.textId = TraceLogger_Internal; -@@ -548,13 +597,6 @@ TraceLoggerThread::logTimestamp(uint32_t id) - entryStop.textId = TraceLogger_Stop; - } - -- // Free all TextEvents that have no uses anymore. -- for (TextIdHashMap::Enum e(extraTextId); !e.empty(); e.popFront()) { -- if (e.front().value()->uses() == 0) { -- js_delete(e.front().value()); -- e.removeFront(); -- } -- } - } - - uint64_t time = rdtsc() - traceLoggerState->startupTime; -@@ -956,3 +998,16 @@ TraceLoggerEvent::~TraceLoggerEvent() - if (payload_) - payload_->release(); - } -+ -+TraceLoggerEvent& -+TraceLoggerEvent::operator=(const TraceLoggerEvent& other) -+{ -+ if (hasPayload()) -+ payload()->release(); -+ if (other.hasPayload()) -+ other.payload()->use(); -+ -+ payload_ = other.payload_; -+ -+ return *this; -+} -diff --git a/js/src/vm/TraceLogging.h b/js/src/vm/TraceLogging.h -index a124dcb..91a1eb0 100644 ---- a/js/src/vm/TraceLogging.h -+++ b/js/src/vm/TraceLogging.h -@@ -110,6 +110,9 @@ class TraceLoggerEvent { - bool hasPayload() const { - return !!payload_; - } -+ -+ TraceLoggerEvent& operator=(const TraceLoggerEvent& other); -+ TraceLoggerEvent(const TraceLoggerEvent& event) = delete; - }; - - /** -@@ -130,6 +133,10 @@ class TraceLoggerEventPayload { - uses_(0) - { } - -+ ~TraceLoggerEventPayload() { -+ MOZ_ASSERT(uses_ == 0); -+ } -+ - uint32_t textId() { - return textId_; - } -@@ -166,7 +173,8 @@ class TraceLoggerThread - mozilla::UniquePtr<TraceLoggerGraph> graph; - - PointerHashMap pointerMap; -- TextIdHashMap extraTextId; -+ TextIdHashMap textIdPayloads; -+ uint32_t nextTextId; - - ContinuousSpace<EventEntry> events; - -@@ -181,6 +189,7 @@ class TraceLoggerThread - : enabled(0), - failed(false), - graph(), -+ nextTextId(TraceLogger_Last), - iteration_(0), - top(nullptr) - { } -@@ -195,22 +204,22 @@ class TraceLoggerThread - bool enable(JSContext* cx); - bool disable(); - -- // Given the previous iteration and lastEntryId, return an array of events -+ // Given the previous iteration and size, return an array of events - // (there could be lost events). At the same time update the iteration and -- // lastEntry and gives back how many events there are. -- EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastEntryId, size_t* num) { -+ // size and gives back how many events there are. -+ EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastSize, size_t* num) { - EventEntry* start; - if (iteration_ == *lastIteration) { -- MOZ_ASSERT(events.lastEntryId() >= *lastEntryId); -- *num = events.lastEntryId() - *lastEntryId; -- start = events.data() + *lastEntryId + 1; -+ MOZ_ASSERT(*lastSize <= events.size()); -+ *num = events.size() - *lastSize; -+ start = events.data() + *lastSize; - } else { -- *num = events.lastEntryId() + 1; -+ *num = events.size(); - start = events.data(); - } - - *lastIteration = iteration_; -- *lastEntryId = events.lastEntryId(); -+ *lastSize = events.size(); - return start; - } - -@@ -220,16 +229,16 @@ class TraceLoggerThread - const char** lineno, size_t* lineno_len, const char** colno, - size_t* colno_len); - -- bool lostEvents(uint32_t lastIteration, uint32_t lastEntryId) { -+ bool lostEvents(uint32_t lastIteration, uint32_t lastSize) { - // If still logging in the same iteration, there are no lost events. - if (lastIteration == iteration_) { -- MOZ_ASSERT(lastEntryId <= events.lastEntryId()); -+ MOZ_ASSERT(lastSize <= events.size()); - return false; - } - -- // When proceeded to the next iteration and lastEntryId points to -- // the maximum capacity there are no logs that are lost. -- if (lastIteration + 1 == iteration_ && lastEntryId == events.capacity()) -+ // If we are in a consecutive iteration we are only sure we didn't lose any events, -+ // when the lastSize equals the maximum size 'events' can get. -+ if (lastIteration == iteration_ - 1 && lastSize == events.maxSize()) - return false; - - return true; -@@ -268,6 +277,7 @@ class TraceLoggerThread - void stopEvent(uint32_t id); - private: - void stopEvent(); -+ void log(uint32_t id); - - public: - static unsigned offsetOfEnabled() { -diff --git a/js/src/vm/TraceLoggingGraph.cpp b/js/src/vm/TraceLoggingGraph.cpp -index d1b7f2e..a4eb273 100644 ---- a/js/src/vm/TraceLoggingGraph.cpp -+++ b/js/src/vm/TraceLoggingGraph.cpp -@@ -276,7 +276,7 @@ TraceLoggerGraph::flush() - if (bytesWritten < tree.size()) - return false; - -- treeOffset += tree.lastEntryId(); -+ treeOffset += tree.size(); - tree.clear(); - } - -@@ -359,7 +359,7 @@ TraceLoggerGraph::startEventInternal(uint32_t id, uint64_t timestamp) - - if (parent.lastChildId() == 0) { - MOZ_ASSERT(!entry.hasChildren()); -- MOZ_ASSERT(parent.treeId() == tree.lastEntryId() + treeOffset); -+ MOZ_ASSERT(parent.treeId() == treeOffset + tree.size() - 1); - - if (!updateHasChildren(parent.treeId())) - return false; -diff --git a/js/src/vm/TraceLoggingTypes.h b/js/src/vm/TraceLoggingTypes.h -index f1c9d0c..10b76d6 100644 ---- a/js/src/vm/TraceLoggingTypes.h -+++ b/js/src/vm/TraceLoggingTypes.h -@@ -21,7 +21,6 @@ - _(Internal) \ - _(Interpreter) \ - _(InlinedScripts) \ -- _(Invalidation) \ - _(IonCompilation) \ - _(IonCompilationPaused) \ - _(IonLinking) \ -@@ -60,6 +59,7 @@ - - #define TRACELOGGER_LOG_ITEMS(_) \ - _(Bailout) \ -+ _(Invalidation) \ - _(Disable) \ - _(Enable) \ - _(Stop) -@@ -130,6 +130,9 @@ class ContinuousSpace { - uint32_t size_; - uint32_t capacity_; - -+ // The maximum amount of ram memory a continuous space structure can take (in bytes). -+ static const uint32_t LIMIT = 200 * 1024 * 1024; -+ - public: - ContinuousSpace () - : data_(nullptr) -@@ -151,6 +154,10 @@ class ContinuousSpace { - data_ = nullptr; - } - -+ static uint32_t maxSize() { -+ return LIMIT / sizeof(T); -+ } -+ - T* data() { - return data_; - } -@@ -187,11 +194,14 @@ class ContinuousSpace { - if (hasSpaceForAdd(count)) - return true; - -+ // Limit the size of a continuous buffer. -+ if (size_ + count > maxSize()) -+ return false; -+ - uint32_t nCapacity = capacity_ * 2; -- if (size_ + count > nCapacity) -- nCapacity = size_ + count; -- T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T)); -+ nCapacity = (nCapacity < maxSize()) ? nCapacity : maxSize(); - -+ T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T)); - if (!entries) - return false; - diff --git a/dev-lang/spidermonkey/files/mozjs38-pkg-config-version.patch b/dev-lang/spidermonkey/files/mozjs38-pkg-config-version.patch deleted file mode 100644 index 34a43d1f6df8..000000000000 --- a/dev-lang/spidermonkey/files/mozjs38-pkg-config-version.patch +++ /dev/null @@ -1,22 +0,0 @@ -Add major version to pkg-config filename. -Author: Rico Tzschichholz <ricotz@ubuntu.com> -Forwarded: no -Last-Update: 2015-05-04 - -Index: b/js/src/Makefile.in -=================================================================== ---- a/js/src/Makefile.in -+++ b/js/src/Makefile.in -@@ -214,10 +214,10 @@ - $(JS_CONFIG_NAME): js-config - cp $^ $@ - --$(LIBRARY_NAME).pc: js.pc -+$(JS_LIBRARY_NAME).pc: js.pc - cp $^ $@ - --install:: $(LIBRARY_NAME).pc -+install:: $(JS_LIBRARY_NAME).pc - $(SYSINSTALL) $^ $(DESTDIR)$(libdir)/pkgconfig - - install:: js-config.h diff --git a/dev-lang/spidermonkey/files/mozjs45-1266366.patch b/dev-lang/spidermonkey/files/mozjs45-1266366.patch deleted file mode 100644 index 590f745d14d4..000000000000 --- a/dev-lang/spidermonkey/files/mozjs45-1266366.patch +++ /dev/null @@ -1,29 +0,0 @@ -# HG changeset patch -# User Nicolas B. Pierron <nicolas.b.pierron@mozilla.com> - -Bug 1266366 - Add branch64 functions to the none-backend MacroAssembler. r= - -diff --git a/js/src/jit/none/MacroAssembler-none.h b/js/src/jit/none/MacroAssembler-none.h -index 512ae81..4441d8d 100644 ---- a/js/src/jit/none/MacroAssembler-none.h -+++ b/js/src/jit/none/MacroAssembler-none.h -@@ -254,16 +254,18 @@ class MacroAssemblerNone : public Assembler - template <typename T, typename S> void branchSub32(Condition, T, S, Label*) { MOZ_CRASH(); } - template <typename T, typename S> void branchPtr(Condition, T, S, Label*) { MOZ_CRASH(); } - template <typename T, typename S> void branchTestPtr(Condition, T, S, Label*) { MOZ_CRASH(); } - template <typename T, typename S> void branchDouble(DoubleCondition, T, S, Label*) { MOZ_CRASH(); } - template <typename T, typename S> void branchFloat(DoubleCondition, T, S, Label*) { MOZ_CRASH(); } - template <typename T, typename S> void branchPrivatePtr(Condition, T, S, Label*) { MOZ_CRASH(); } - template <typename T, typename S> void decBranchPtr(Condition, T, S, Label*) { MOZ_CRASH(); } - template <typename T, typename S> void branchTest64(Condition, T, T, S, Label*) { MOZ_CRASH(); } -+ template <typename T, typename S> void branch64(Condition, T, S, Label*) { MOZ_CRASH(); } -+ template <typename T, typename S> void branch64(Condition, T, T, S, Label*) { MOZ_CRASH(); } - template <typename T, typename S> void mov(T, S) { MOZ_CRASH(); } - template <typename T, typename S> void movq(T, S) { MOZ_CRASH(); } - template <typename T, typename S> void movePtr(T, S) { MOZ_CRASH(); } - template <typename T, typename S> void move32(T, S) { MOZ_CRASH(); } - template <typename T, typename S> void moveFloat32(T, S) { MOZ_CRASH(); } - template <typename T, typename S> void moveDouble(T, S) { MOZ_CRASH(); } - template <typename T, typename S> void move64(T, S) { MOZ_CRASH(); } - template <typename T> CodeOffset movWithPatch(T, Register) { MOZ_CRASH(); } - diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.5-build.patch b/dev-lang/spidermonkey/files/spidermonkey-1.5-build.patch deleted file mode 100644 index a5c4b47db529..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.5-build.patch +++ /dev/null @@ -1,138 +0,0 @@ ---- js/src/Makefile.ref -+++ js/src/Makefile.ref -@@ -127,7 +127,7 @@ endif - ifdef JS_READLINE - # For those platforms with the readline library installed. - DEFINES += -DEDITLINE --PROG_LIBS += -lreadline -ltermcap -+PROG_LIBS += -lreadline - else - ifdef JS_EDITLINE - # Use the editline library, built locally. -@@ -370,3 +370,16 @@ TARFILES = files `cat files` - SUFFIXES: .i - %.i: %.c - $(CC) -C -E $(CFLAGS) $< > $*.i -+ -+DESTDIR := -+PREFIX := /usr -+BINDIR := $(PREFIX)/bin -+MY_LIBDIR := $(PREFIX)/$(LIBDIR) -+INCLUDEDIR := $(PREFIX)/include/js -+INSTALL := install -g 0 -o root -+install: -+ $(INSTALL) -m 755 -d $(DESTDIR)$(INCLUDEDIR) $(DESTDIR)$(MY_LIBDIR) $(DESTDIR)$(BINDIR) -+ $(INSTALL) -m 755 $(SHARED_LIBRARY) $(DESTDIR)$(MY_LIBDIR) -+ $(INSTALL) -m 644 $(LIBRARY) $(DESTDIR)$(MY_LIBDIR) -+ $(INSTALL) -m 755 $(OBJDIR)/js $(OBJDIR)/jscpucfg $(DESTDIR)$(BINDIR) -+ $(INSTALL) -m 644 $(HFILES) $(DESTDIR)$(INCLUDEDIR) ---- js/src/config/Linux_All.mk -+++ js/src/config/Linux_All.mk -@@ -41,37 +41,15 @@ - # Config for all versions of Linux - # - --CC = gcc --CCC = g++ - CFLAGS += -Wall -Wno-format - OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R - - RANLIB = echo --MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS) -+MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS) -soname $(notdir $@) - - #.c.o: - # $(CC) -c -MD $*.d $(CFLAGS) $< - --CPU_ARCH = $(shell uname -m) --# don't filter in x86-64 architecture --ifneq (x86_64,$(CPU_ARCH)) --ifeq (86,$(findstring 86,$(CPU_ARCH))) --CPU_ARCH = x86 --OS_CFLAGS+= -DX86_LINUX -- --ifeq (gcc, $(CC)) --# if using gcc on x86, check version for opt bug --# (http://bugzilla.mozilla.org/show_bug.cgi?id=24892) --GCC_VERSION := $(shell gcc -v 2>&1 | grep version | awk '{ print $$3 }') --GCC_LIST:=$(sort 2.91.66 $(GCC_VERSION) ) -- --ifeq (2.91.66, $(firstword $(GCC_LIST))) --CFLAGS+= -DGCC_OPT_BUG --endif --endif --endif --endif -- - GFX_ARCH = x - - OS_LIBS = -lm -lc -@@ -88,16 +66,6 @@ - endif - - # Use the editline library to provide line-editing support. --JS_EDITLINE = 1 -+JS_READLINE = 1 - --ifeq ($(CPU_ARCH),x86_64) --# Use VA_COPY() standard macro on x86-64 --# FIXME: better use it everywhere - OS_CFLAGS += -DHAVE_VA_COPY -DVA_COPY=va_copy --endif -- --ifeq ($(CPU_ARCH),x86_64) --# We need PIC code for shared libraries --# FIXME: better patch rules.mk & fdlibm/Makefile* --OS_CFLAGS += -DPIC -fPIC --endif ---- js/src/rules.mk -+++ js/src/rules.mk -@@ -82,6 +82,10 @@ $(OBJDIR)/%.o: %.c - @$(MAKE_OBJDIR) - $(CC) -o $@ -c $(CFLAGS) $*.c - -+$(OBJDIR)/%.lo: %.c -+ @$(MAKE_OBJDIR) -+ $(CC) -o $@ -c $(CFLAGS) $*.c -fPIC -+ - $(OBJDIR)/%.o: %.s - @$(MAKE_OBJDIR) - $(AS) -o $@ $(ASFLAGS) $*.s -@@ -111,11 +115,12 @@ $(SHARED_LIBRARY): $(LIB_OBJS) - /implib:"$(OBJDIR)/$(@F:.dll=.lib)" $^ - else - $(LIBRARY): $(LIB_OBJS) -- $(AR) rv $@ $? -+ $(AR) cr $@ $? - $(RANLIB) $@ - --$(SHARED_LIBRARY): $(LIB_OBJS) -- $(MKSHLIB) -o $@ $(LIB_OBJS) $(LDFLAGS) $(OTHER_LIBS) -+SHARED_LIB_OBJS := $(LIB_OBJS:.o=.lo) -+$(SHARED_LIBRARY): $(SHARED_LIB_OBJS) -+ $(MKSHLIB) -o $@ $(SHARED_LIB_OBJS) $(LDFLAGS) $(OTHER_LIBS) - endif - endif - ---- js/src/fdlibm/Makefile.ref -+++ js/src/fdlibm/Makefile.ref -@@ -151,7 +151,7 @@ - - $(OBJDIR)/%.o: %.c - @$(MAKE_OBJDIR) -- $(CC) -o $@ -c $(CFLAGS) $*.c -+ $(CC) -o $@ -c $(CFLAGS) $*.c -fPIC - - $(OBJDIR)/%.o: %.s - @$(MAKE_OBJDIR) ---- js/src/config.mk -+++ js/src/config.mk -@@ -112,6 +112,8 @@ - CP = cp - endif - -+BUILD_OPT := 1 -+ - ifdef BUILD_OPT - OPTIMIZER = -O - DEFINES += -UDEBUG -DNDEBUG -UDEBUG_$(shell whoami) diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.6-header.patch b/dev-lang/spidermonkey/files/spidermonkey-1.6-header.patch deleted file mode 100644 index df4cf7d50744..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.6-header.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: src/Makefile.ref -=================================================================== ---- src.orig/Makefile.ref -+++ src/Makefile.ref -@@ -185,6 +185,8 @@ JS_HFILES = \ - jsstr.h \ - jsxdrapi.h \ - jsxml.h \ -+ jsutil.h \ -+ jsprf.h \ - $(NULL) - - API_HFILES = \ diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.7.0-ldflags.patch b/dev-lang/spidermonkey/files/spidermonkey-1.7.0-ldflags.patch deleted file mode 100644 index 4ddc3461ea11..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.7.0-ldflags.patch +++ /dev/null @@ -1,42 +0,0 @@ -Respect LDFLAGS - -http://bugs.gentoo.org/show_bug.cgi?id=331129 - ---- js/src/Makefile.ref -+++ js/src/Makefile.ref -@@ -87,7 +87,7 @@ - LDFLAGS = $(XLDFLAGS) - - ifndef NO_LIBM --LDFLAGS += -lm -+OTHER_LIBS += -lm - endif - - # Prevent floating point errors caused by VC++ optimizations -@@ -325,7 +325,7 @@ - $(CC) -o $@ -c $(CFLAGS) $< - - $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX): $(OBJDIR)/jskwgen.$(OBJ_SUFFIX) -- $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $^ -+ $(CC) $(HOST_LDFLAGS) -o $@ $(CFLAGS) $(OTHER_LIBS) $^ - - endif - -@@ -338,7 +338,7 @@ - link.exe -out:"$@" $(EXE_LINK_FLAGS) $^ - else - $(PROGRAM): $(PROG_OBJS) $(LIBRARY) -- $(CC) -o $@ $(CFLAGS) $(PROG_OBJS) $(LIBRARY) $(LDFLAGS) $(OTHER_LIBS) \ -+ $(CC) $(HOST_LDFLAGS) -o $@ $(CFLAGS) $(PROG_OBJS) $(LIBRARY) $(OTHER_LIBS) \ - $(PROG_LIBS) - endif - -@@ -355,7 +355,7 @@ - $(OBJDIR)/jscpucfg > $@ - - $(OBJDIR)/jscpucfg: $(OBJDIR)/jscpucfg.o -- $(CC) -o $@ $(OBJDIR)/jscpucfg.o -+ $(CC) $(HOST_LDFLAGS) -o $@ $(OBJDIR)/jscpucfg.o - - # Add to TARGETS for clobber rule - TARGETS += $(OBJDIR)/jsautocfg.h $(OBJDIR)/jscpucfg \ diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.7.0-threadsafe.diff b/dev-lang/spidermonkey/files/spidermonkey-1.7.0-threadsafe.diff deleted file mode 100644 index 8728811fbfc4..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.7.0-threadsafe.diff +++ /dev/null @@ -1,18 +0,0 @@ -Index: src/Makefile.ref -=================================================================== ---- src.orig/Makefile.ref -+++ src/Makefile.ref -@@ -63,11 +63,11 @@ INCLUDES += -I$(OBJDIR) - - ifdef JS_THREADSAFE - DEFINES += -DJS_THREADSAFE --INCLUDES += -I$(DIST)/include/nspr -+INCLUDES += -I/usr/include/nspr - ifdef USE_MSVC - OTHER_LIBS += $(DIST)/lib/libnspr$(NSPR_LIBSUFFIX).lib - else --OTHER_LIBS += -L$(DIST)/lib -lnspr$(NSPR_LIBSUFFIX) -+OTHER_LIBS += -L/usr/$(LIBDIR)/nspr -lnspr$(NSPR_LIBSUFFIX) - endif - endif - diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-arm_respect_cflags-3.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-arm_respect_cflags-3.patch deleted file mode 100644 index ed497ceebb0b..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-arm_respect_cflags-3.patch +++ /dev/null @@ -1,99 +0,0 @@ ---- a/js-1.8.5/js/src/configure.in 2011-03-31 15:08:36.000000000 -0400 -+++ b/js-1.8.5/js/src/configure.in 2012-11-02 15:32:38.000000000 -0400 -@@ -3550,7 +3550,7 @@ - _SAVE_CFLAGS="$CFLAGS" - if test "$GNU_CC"; then - # gcc needs -mfpu=neon to recognize NEON instructions -- CFLAGS="$CFLAGS -mfpu=neon -mfloat-abi=softfp" -+ CFLAGS="$CFLAGS -mfpu=neon" - fi - AC_TRY_COMPILE([], - [asm("vadd.i8 d0, d0, d0");], -@@ -4654,12 +4654,6 @@ - dnl ======================================================== - MOZ_ARG_HEADER(Individual module options) - --dnl Setup default CPU arch for arm target --case "$target_cpu" in -- arm*) -- MOZ_ARM_ARCH=armv7 -- ;; --esac - dnl ======================================================== - dnl = Enable building the Thumb2 instruction set - dnl ======================================================== -@@ -4668,66 +4662,32 @@ - MOZ_THUMB2=1, - MOZ_THUMB2=) - if test -n "$MOZ_THUMB2"; then -- MOZ_ARM_ARCH=armv7 -+ AC_MSG_WARN([thumb2 enabled instead of autodetected -- hope you know what you are doing]) -+else -+ AC_MSG_CHECKING([whether to build for thumb2]) -+ AC_TRY_COMPILE([],[return sizeof(__thumb2__);], -+ [MOZ_THUMB2=1 -+ AC_MSG_RESULT([yes])], -+ [MOZ_THUMB2= -+ AC_MSG_RESULT([no])]) - fi - - dnl ======================================================== - dnl = Enable building for ARM specific CPU features - dnl ======================================================== --MOZ_ARG_WITH_STRING(cpu-arch, --[ --with-cpu-arch=arch Use specific arm architecture CPU features, default armv7], -- MOZ_ARM_ARCH=$withval) -- - if test -n "$MOZ_THUMB2"; then - case "$target_cpu" in - arm*) -- if test "$MOZ_ARM_ARCH" != "armv7"; then -- AC_MSG_ERROR([--enable-thumb2 is not compatible with cpu-arch=$MOZ_ARM_ARCH]) -- fi - if test "$GNU_CC"; then - AC_DEFINE(MOZ_THUMB2) -- AC_DEFINE(MOZ_ARM_ARCH) -- CFLAGS="$CFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" -- CXXFLAGS="$CXXFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" -- ASFLAGS="$ASFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" - else - AC_MSG_ERROR([--enable-thumb2 is not supported for non-GNU toolchains]) - fi - ;; -- *) -- AC_MSG_ERROR([--enable-thumb2 is not supported for non-ARM CPU architectures]) -- ;; -- esac --elif test "$MOZ_ARM_ARCH" = "armv7"; then -- case "$target_cpu" in -- arm*) -- if test "$GNU_CC"; then -- AC_DEFINE(MOZ_ARM_ARCH) -- CFLAGS="$CFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" -- CXXFLAGS="$CXXFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" -- ASFLAGS="$ASFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS" -- else -- AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-GNU toolchains]) -- fi -- ;; -- *) -- AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-ARM CPU architectures]) -- ;; -- esac --else -- case "$target_cpu" in -- arm*) -- if test "$GNU_CC"; then -- CFLAGS="$CFLAGS -march=armv5te -mthumb-interwork -msoft-float" -- CXXFLAGS="$CXXFLAGS -march=armv5te -mthumb-interwork -msoft-float" -- ASFLAGS="$ASFLAGS -march=armv5te -mthumb-interwork -msoft-float" -- fi -- ;; - esac - fi - - AC_SUBST(MOZ_THUMB2) --AC_SUBST(MOZ_ARM_ARCH) - - dnl ======================================================== - dnl = diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-fix-install-symlinks.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-fix-install-symlinks.patch deleted file mode 100644 index c867e45ee4f3..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-fix-install-symlinks.patch +++ /dev/null @@ -1,15 +0,0 @@ -https://bugzilla.mozilla.org/show_bug.cgi?id=628723#c43 - ---- js/src/Makefile.in -+++ js/src/Makefile.in -@@ -888,8 +888,8 @@ - ifeq (,$(HOST_BIN_SUFFIX)) - mv -f $(SHLIB_ANY_VER) $(SHLIB_EXACT_VER) - @[ ! -h $(SHLIB_ABI_VER) ] || rm -f $(SHLIB_ABI_VER) -- ln -s $(SHLIB_EXACT_VER) $(SHLIB_ABI_VER) -- ln -s $(SHLIB_ABI_VER) $(SHLIB_ANY_VER) -+ ln -s $(notdir $(SHLIB_EXACT_VER)) $(SHLIB_ABI_VER) -+ ln -s $(notdir $(SHLIB_ABI_VER)) $(SHLIB_ANY_VER) - endif - endif - ifneq (,$(IMPORT_LIBRARY)) diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-fix-ppc64.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-fix-ppc64.patch deleted file mode 100644 index 3927c8717930..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-fix-ppc64.patch +++ /dev/null @@ -1,61 +0,0 @@ -# HG changeset patch -# User Mike Hommey <mh+mozilla@glandium.org> -# Date 1303461188 -7200 -# Node ID 59771590e9203d48ef8cbcd7eaf2f8ae45dbb1c1 -# Parent c4b82ec27d6d6e1c02ef0abb3b6e805bfdd092ec -Bug 638056 - Avoid "The cacheFlush support is missing on this platform" error on exotic platforms. r=cdleary - -diff --git a/js/src/Makefile.in b/js/src/Makefile.in ---- a/js/src/Makefile.in -+++ b/js/src/Makefile.in -@@ -383,17 +383,17 @@ CPPSRCS += checks.cc \ - platform.cc \ - utils.cc \ - $(NONE) - - # - # END enclude sources for V8 dtoa - ############################################# - --ifeq (,$(filter-out powerpc sparc,$(TARGET_CPU))) -+ifeq (,$(filter arm% %86 x86_64,$(TARGET_CPU))) - - VPATH += $(srcdir)/assembler \ - $(srcdir)/assembler/wtf \ - $(srcdir)/yarr/pcre \ - $(NULL) - - CPPSRCS += pcre_compile.cpp \ - pcre_exec.cpp \ - -# HG changeset patch -# User Luke Wagner <lw@mozilla.com> -# Date 1299520258 28800 -# Node ID 68203913d04cf5be53fd16278816183d5670ba5c -# Parent 27e5814815491ebb68e474e453aff6c2ea908c43 -Bug 618485 - Add missing 64-bit big-endian jsval_layout field (r=luke) - -diff --git a/js/src/jsval.h b/js/src/jsval.h ---- a/js/src/jsval.h -+++ b/js/src/jsval.h -@@ -342,16 +342,17 @@ typedef union jsval_layout - JSValueTag tag : 17; - uint64 payload47 : 47; - } debugView; - struct { - union { - int32 i32; - uint32 u32; - JSWhyMagic why; -+ jsuword word; - } payload; - } s; - double asDouble; - void *asPtr; - } jsval_layout; - # endif /* JS_BITS_PER_WORD */ - #endif /* defined(IS_LITTLE_ENDIAN) */ - - - - diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-gcc6.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-gcc6.patch deleted file mode 100644 index ab2181faf635..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-gcc6.patch +++ /dev/null @@ -1,144 +0,0 @@ -diff -upr a/js/src/jsapi.cpp b/js/src/jsapi.cpp ---- a/js/src/jsapi.cpp 2011-03-31 14:08:36.000000000 -0500 -+++ b/js/src/jsapi.cpp 2016-02-29 18:10:49.302307353 -0600 -@@ -3985,7 +3985,7 @@ JS_Enumerate(JSContext *cx, JSObject *ob - AutoIdVector props(cx); - JSIdArray *ida; - if (!GetPropertyNames(cx, obj, JSITER_OWNONLY, &props) || !VectorToIdArray(cx, props, &ida)) -- return false; -+ return NULL; - for (size_t n = 0; n < size_t(ida->length); ++n) - JS_ASSERT(js_CheckForStringIndex(ida->vector[n]) == ida->vector[n]); - return ida; -diff -upr a/js/src/jsfun.cpp b/js/src/jsfun.cpp ---- a/js/src/jsfun.cpp 2011-03-31 14:08:36.000000000 -0500 -+++ b/js/src/jsfun.cpp 2016-02-29 18:21:45.249674890 -0600 -@@ -2051,7 +2051,7 @@ fun_toStringHelper(JSContext *cx, JSObje - - JSString *str = JS_DecompileFunction(cx, fun, indent); - if (!str) -- return false; -+ return NULL; - - if (!indent) - cx->compartment->toSourceCache.put(fun, str); -@@ -2657,7 +2657,7 @@ LookupInterpretedFunctionPrototype(JSCon - const Shape *shape = funobj->nativeLookup(id); - if (!shape) { - if (!ResolveInterpretedFunctionPrototype(cx, funobj)) -- return false; -+ return NULL; - shape = funobj->nativeLookup(id); - } - JS_ASSERT(!shape->configurable()); -diff -upr a/js/src/jsiter.cpp b/js/src/jsiter.cpp ---- a/js/src/jsiter.cpp 2011-03-31 14:08:36.000000000 -0500 -+++ b/js/src/jsiter.cpp 2016-02-29 18:24:22.494659919 -0600 -@@ -425,7 +425,7 @@ NewIteratorObject(JSContext *cx, uintN f - */ - JSObject *obj = js_NewGCObject(cx, FINALIZE_OBJECT0); - if (!obj) -- return false; -+ return NULL; - obj->init(cx, &js_IteratorClass, NULL, NULL, NULL, false); - obj->setMap(cx->compartment->emptyEnumeratorShape); - return obj; -diff -upr a/js/src/jsparse.cpp b/js/src/jsparse.cpp ---- a/js/src/jsparse.cpp 2011-03-31 14:08:36.000000000 -0500 -+++ b/js/src/jsparse.cpp 2016-02-29 18:29:03.997437475 -0600 -@@ -3352,7 +3352,7 @@ Parser::functionDef(JSAtom *funAtom, Fun - if (!outertc->inFunction() && bodyLevel && funAtom && !lambda && outertc->compiling()) { - JS_ASSERT(pn->pn_cookie.isFree()); - if (!DefineGlobal(pn, outertc->asCodeGenerator(), funAtom)) -- return false; -+ return NULL; - } - - pn->pn_blockid = outertc->blockid(); -diff -upr a/js/src/jsstr.cpp b/js/src/jsstr.cpp ---- a/js/src/jsstr.cpp 2011-03-31 14:08:36.000000000 -0500 -+++ b/js/src/jsstr.cpp 2016-02-29 19:01:45.857779836 -0600 -@@ -1734,7 +1734,7 @@ class RegExpGuard - if (flat) { - patstr = flattenPattern(cx, fm.patstr); - if (!patstr) -- return false; -+ return NULL; - } else { - patstr = fm.patstr; - } -@@ -3400,7 +3400,7 @@ js_InitStringClass(JSContext *cx, JSObje - UndefinedValue(), NULL, NULL, - JSPROP_READONLY | JSPROP_PERMANENT | JSPROP_SHARED, 0, 0, - NULL)) { -- return JS_FALSE; -+ return NULL; - } - - return proto; -diff -upr a/js/src/jstypedarray.cpp b/js/src/jstypedarray.cpp ---- a/js/src/jstypedarray.cpp 2011-03-31 14:08:36.000000000 -0500 -+++ b/js/src/jstypedarray.cpp 2016-02-29 19:08:53.541136191 -0600 -@@ -1334,7 +1334,7 @@ class TypedArrayTemplate - if (size != 0 && count >= INT32_MAX / size) { - JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, - JSMSG_NEED_DIET, "size and count"); -- return false; -+ return NULL; - } - - int32 bytelen = size * count; -@@ -1668,7 +1668,7 @@ TypedArrayConstruct(JSContext *cx, jsint - - default: - JS_NOT_REACHED("shouldn't have gotten here"); -- return false; -+ return NULL; - } - } - -diff -upr a/js/src/jsxml.cpp b/js/src/jsxml.cpp ---- a/js/src/jsxml.cpp 2011-03-31 14:08:36.000000000 -0500 -+++ b/js/src/jsxml.cpp 2016-02-29 19:17:10.363279731 -0600 -@@ -282,7 +282,7 @@ NewXMLNamespace(JSContext *cx, JSLinearS - - obj = NewBuiltinClassInstanceXML(cx, &js_NamespaceClass); - if (!obj) -- return JS_FALSE; -+ return NULL; - JS_ASSERT(JSVAL_IS_VOID(obj->getNamePrefixVal())); - JS_ASSERT(JSVAL_IS_VOID(obj->getNameURIVal())); - JS_ASSERT(JSVAL_IS_VOID(obj->getNamespaceDeclared())); -@@ -431,7 +431,7 @@ ConvertQNameToString(JSContext *cx, JSOb - size_t length = str->length(); - jschar *chars = (jschar *) cx->malloc((length + 2) * sizeof(jschar)); - if (!chars) -- return JS_FALSE; -+ return NULL; - *chars = '@'; - const jschar *strChars = str->getChars(cx); - if (!strChars) { -diff -upr a/js/src/methodjit/InvokeHelpers.cpp b/js/src/methodjit/InvokeHelpers.cpp ---- a/js/src/methodjit/InvokeHelpers.cpp 2011-03-31 14:08:36.000000000 -0500 -+++ b/js/src/methodjit/InvokeHelpers.cpp 2016-02-29 20:34:14.496983346 -0600 -@@ -728,7 +728,7 @@ AtSafePoint(JSContext *cx) - { - JSStackFrame *fp = cx->fp(); - if (fp->hasImacropc()) -- return false; -+ return NULL; - - JSScript *script = fp->script(); - return script->maybeNativeCodeForPC(fp->isConstructing(), cx->regs->pc); -diff -upr a/js/src/nanojit/NativeX64.cpp b/js/src/nanojit/NativeX64.cpp ---- a/js/src/nanojit/NativeX64.cpp 2011-03-31 14:08:36.000000000 -0500 -+++ b/js/src/nanojit/NativeX64.cpp 2016-02-29 20:19:56.487934808 -0600 -@@ -1899,7 +1899,7 @@ namespace nanojit - } - } - -- static const AVMPLUS_ALIGN16(int64_t) negateMask[] = {0x8000000000000000LL,0}; -+ static const AVMPLUS_ALIGN16(int64_t) negateMask[] = {int64_t(0x8000000000000000LL),0}; - - void Assembler::asm_fneg(LIns *ins) { - Register rr, ra; diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-ia64-fix.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-ia64-fix.patch deleted file mode 100644 index bebe5587180f..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-ia64-fix.patch +++ /dev/null @@ -1,53 +0,0 @@ -https://bugzilla.mozilla.org/show_bug.cgi?id=589735 - ---- a/js/src/jsgcchunk.cpp 2011-03-31 21:08:36.000000000 +0200 -+++ b/js/src/jsgcchunk.cpp 2012-11-02 10:36:08.324453878 +0100 -@@ -318,15 +318,48 @@ - static void * - MapPages(void *addr, size_t size) - { -+#if defined(__ia64__) -+ /* -+ * The JS engine assumes that all allocated pointers have their high 17 bits clear, -+ * which ia64's mmap doesn't support directly. However, we can emulate it by passing -+ * mmap an "addr" parameter with those bits clear. The mmap will return that address, -+ * or the nearest available memory above that address, providing a near-guarantee -+ * that those bits are clear. If they are not, we return NULL below to indicate -+ * out-of-memory. -+ * -+ * The addr is chosen as 0x0000070000000000, which still allows about 120TB of virtual -+ * address space. -+ * -+ * See Bug 589735 for more information. -+ */ -+#endif -+ - /* - * We don't use MAP_FIXED here, because it can cause the *replacement* - * of existing mappings, and we only want to create new mappings. - */ -+#if defined(__ia64__) -+ void *p = mmap(addr ? addr : (void*)0x0000070000000000, -+ size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -+ -1, 0); -+#else - void *p = mmap(addr, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, - -1, 0); -+#endif - if (p == MAP_FAILED) - return NULL; -+#if defined(__ia64__) -+ /* -+ * If the caller requested a specific memory location, verify that's what mmap returned. -+ * Otherwise: If the allocated memory doesn't have its upper 17 bits clear, consider it -+ * as out of memory. -+ */ -+ if (addr && p != addr -+ || !addr && ((long long)p & 0xffff800000000000)) { -+#else -+ /* If the caller requested a specific memory location, verify that's what mmap returned. */ - if (addr && p != addr) { -+#endif - /* We succeeded in mapping memory, but not in the right place. */ - JS_ALWAYS_TRUE(munmap(p, size) == 0); - return NULL; diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-ia64-static-strings.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-ia64-static-strings.patch deleted file mode 100644 index 5cfed32ae68e..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-ia64-static-strings.patch +++ /dev/null @@ -1,381 +0,0 @@ -https://bugzilla.mozilla.org/show_bug.cgi?id=589735 - ---- a/js/src/jsatom.cpp 2011-03-31 21:08:36.000000000 +0200 -+++ b/js/src/jsatom.cpp 2012-11-02 10:43:16.970562590 +0100 -@@ -603,11 +603,13 @@ - JSString str, *str2; - JSAtomState *state; - -+#ifdef JS_HAS_STATIC_STRINGS - if (length == 1) { - jschar c = *chars; - if (c < UNIT_STRING_LIMIT) - return STRING_TO_ATOM(JSString::unitString(c)); - } -+#endif - - str.initFlatNotTerminated((jschar *)chars, length); - state = &cx->runtime->atomState; ---- a/js/src/jsiter.cpp 2011-03-31 21:08:36.000000000 +0200 -+++ b/js/src/jsiter.cpp 2012-11-02 10:43:16.974562590 +0100 -@@ -1002,9 +1002,12 @@ - - JSString *str; - jsint i; -+#ifdef JS_HAS_STATIC_STRINGS - if (rval->isInt32() && (jsuint(i = rval->toInt32()) < INT_STRING_LIMIT)) { - str = JSString::intString(i); -- } else { -+ } else -+#endif -+ { - str = js_ValueToString(cx, *rval); - if (!str) - return false; ---- a/js/src/jsnum.cpp 2011-03-31 21:08:36.000000000 +0200 -+++ b/js/src/jsnum.cpp 2012-11-02 10:43:16.982562589 +0100 -@@ -605,8 +605,10 @@ - { - uint32 ui; - if (si >= 0) { -+#ifdef JS_HAS_STATIC_STRINGS - if (si < INT_STRING_LIMIT) - return JSString::intString(si); -+#endif - ui = si; - } else { - ui = uint32(-si); -@@ -1169,6 +1171,7 @@ - - int32_t i; - if (JSDOUBLE_IS_INT32(d, &i)) { -+#ifdef JS_HAS_STATIC_STRINGS - if (base == 10 && jsuint(i) < INT_STRING_LIMIT) - return JSString::intString(i); - if (jsuint(i) < jsuint(base)) { -@@ -1176,6 +1179,7 @@ - return JSString::intString(i); - return JSString::unitString(jschar('a' + i - 10)); - } -+#endif - - if (JSString *str = c->dtoaCache.lookup(base, d)) - return str; ---- a/js/src/jsstr.cpp 2011-03-31 21:08:36.000000000 +0200 -+++ b/js/src/jsstr.cpp 2012-11-02 10:43:16.990562588 +0100 -@@ -3121,6 +3121,8 @@ - JS_FS_END - }; - -+#ifdef JS_HAS_STATIC_STRINGS -+ - /* - * Set up some tools to make it easier to generate large tables. After constant - * folding, for each n, Rn(0) is the comma-separated list R(0), R(1), ..., R(2^n-1). -@@ -3291,6 +3293,8 @@ - #undef R3 - #undef R7 - -+#endif /* defined(JS_HAS_STATIC_STRINGS) */ -+ - JSBool - js_String(JSContext *cx, uintN argc, Value *vp) - { -@@ -3331,6 +3335,7 @@ - uint16_t code; - if (!ValueToUint16(cx, argv[0], &code)) - return JS_FALSE; -+#ifdef JS_HAS_STATIC_STRINGS - if (code < UNIT_STRING_LIMIT) { - str = JSString::unitString(code); - if (!str) -@@ -3338,6 +3343,7 @@ - vp->setString(str); - return JS_TRUE; - } -+#endif - argv[0].setInt32(code); - } - chars = (jschar *) cx->malloc((argc + 1) * sizeof(jschar)); -@@ -3367,8 +3373,10 @@ - { - JS_ASSERT(JS_ON_TRACE(cx)); - jschar c = (jschar)i; -+#ifdef JS_HAS_STATIC_STRINGS - if (c < UNIT_STRING_LIMIT) - return JSString::unitString(c); -+#endif - return js_NewStringCopyN(cx, &c, 1); - } - #endif ---- a/js/src/jsstr.h 2011-03-31 21:08:36.000000000 +0200 -+++ b/js/src/jsstr.h 2012-11-02 10:43:16.998562587 +0100 -@@ -57,6 +57,15 @@ - #include "jsvalue.h" - #include "jscell.h" - -+#if !defined(__ia64__) -+/* -+ * Don't use static strings on ia64 since the compiler may put the static -+ * memory out of the acceptable 47-bit jsval pointer range. -+ */ -+# define JS_HAS_STATIC_STRINGS -+#endif -+ -+#ifdef JS_HAS_STATIC_STRINGS - enum { - UNIT_STRING_LIMIT = 256U, - SMALL_CHAR_LIMIT = 128U, /* Bigger chars cannot be in a length-2 string. */ -@@ -64,6 +73,7 @@ - INT_STRING_LIMIT = 256U, - NUM_HUNDRED_STRINGS = 156U - }; -+#endif - - extern jschar * - js_GetDependentStringChars(JSString *str); -@@ -380,10 +390,15 @@ - typedef uint8 SmallChar; - - static inline bool fitsInSmallChar(jschar c) { -+#ifdef JS_HAS_STATIC_STRINGS - return c < SMALL_CHAR_LIMIT && toSmallChar[c] != INVALID_SMALL_CHAR; -+#else -+ return false; -+#endif - } - - static inline bool isUnitString(void *ptr) { -+#ifdef JS_HAS_STATIC_STRINGS - jsuword delta = reinterpret_cast<jsuword>(ptr) - - reinterpret_cast<jsuword>(unitStringTable); - if (delta >= UNIT_STRING_LIMIT * sizeof(JSString)) -@@ -392,9 +407,13 @@ - /* If ptr points inside the static array, it must be well-aligned. */ - JS_ASSERT(delta % sizeof(JSString) == 0); - return true; -+#else -+ return false; -+#endif - } - - static inline bool isLength2String(void *ptr) { -+#ifdef JS_HAS_STATIC_STRINGS - jsuword delta = reinterpret_cast<jsuword>(ptr) - - reinterpret_cast<jsuword>(length2StringTable); - if (delta >= NUM_SMALL_CHARS * NUM_SMALL_CHARS * sizeof(JSString)) -@@ -403,9 +422,13 @@ - /* If ptr points inside the static array, it must be well-aligned. */ - JS_ASSERT(delta % sizeof(JSString) == 0); - return true; -+#else -+ return false; -+#endif - } - - static inline bool isHundredString(void *ptr) { -+#ifdef JS_HAS_STATIC_STRINGS - jsuword delta = reinterpret_cast<jsuword>(ptr) - - reinterpret_cast<jsuword>(hundredStringTable); - if (delta >= NUM_HUNDRED_STRINGS * sizeof(JSString)) -@@ -414,6 +437,9 @@ - /* If ptr points inside the static array, it must be well-aligned. */ - JS_ASSERT(delta % sizeof(JSString) == 0); - return true; -+#else -+ return false; -+#endif - } - - static inline bool isStatic(void *ptr) { -@@ -424,6 +450,7 @@ - #pragma align 8 (__1cIJSStringPunitStringTable_, __1cIJSStringSlength2StringTable_, __1cIJSStringShundredStringTable_) - #endif - -+#ifdef JS_HAS_STATIC_STRINGS - static const SmallChar INVALID_SMALL_CHAR = -1; - - static const jschar fromSmallChar[]; -@@ -436,6 +463,7 @@ - * strings, we keep a table to map from integer to the correct string. - */ - static const JSString *const intStringTable[]; -+#endif - - static JSFlatString *unitString(jschar c); - static JSLinearString *getUnitString(JSContext *cx, JSString *str, size_t index); ---- a/js/src/jsstrinlines.h 2011-03-31 21:08:36.000000000 +0200 -+++ b/js/src/jsstrinlines.h 2012-11-02 10:43:17.010562586 +0100 -@@ -215,52 +215,75 @@ - inline JSFlatString * - JSString::unitString(jschar c) - { -+#ifdef JS_HAS_STATIC_STRINGS - JS_ASSERT(c < UNIT_STRING_LIMIT); - return const_cast<JSString *>(&unitStringTable[c])->assertIsFlat(); -+#else -+ JS_NOT_REACHED("no static strings"); -+ return NULL; -+#endif - } - - inline JSLinearString * - JSString::getUnitString(JSContext *cx, JSString *str, size_t index) - { - JS_ASSERT(index < str->length()); -+#ifdef JS_HAS_STATIC_STRINGS - const jschar *chars = str->getChars(cx); - if (!chars) - return NULL; - jschar c = chars[index]; - if (c < UNIT_STRING_LIMIT) - return unitString(c); -+#endif - return js_NewDependentString(cx, str, index, 1); - } - - inline JSFlatString * - JSString::length2String(jschar c1, jschar c2) - { -+#ifdef JS_HAS_STATIC_STRINGS - JS_ASSERT(fitsInSmallChar(c1)); - JS_ASSERT(fitsInSmallChar(c2)); - return const_cast<JSString *> ( - &length2StringTable[(((size_t)toSmallChar[c1]) << 6) + toSmallChar[c2]] - )->assertIsFlat(); -+#else -+ JS_NOT_REACHED("no static strings"); -+ return NULL; -+#endif - } - - inline JSFlatString * - JSString::length2String(uint32 i) - { -+#ifdef JS_HAS_STATIC_STRINGS - JS_ASSERT(i < 100); - return length2String('0' + i / 10, '0' + i % 10); -+#else -+ JS_NOT_REACHED("no static strings"); -+ return NULL; -+#endif - } - - inline JSFlatString * - JSString::intString(jsint i) - { -+#ifdef JS_HAS_STATIC_STRINGS - jsuint u = jsuint(i); - JS_ASSERT(u < INT_STRING_LIMIT); - return const_cast<JSString *>(JSString::intStringTable[u])->assertIsFlat(); -+#else -+ JS_NOT_REACHED("no static strings"); -+ return NULL; -+#endif - } - - /* Get a static atomized string for chars if possible. */ - inline JSFlatString * - JSString::lookupStaticString(const jschar *chars, size_t length) - { -+#ifdef JS_HAS_STATIC_STRINGS - if (length == 1) { - if (chars[0] < UNIT_STRING_LIMIT) - return unitString(chars[0]); -@@ -290,6 +313,7 @@ - return intString(i); - } - } -+#endif - - return NULL; - } ---- a/js/src/jstracer.cpp 2011-03-31 21:08:36.000000000 +0200 -+++ b/js/src/jstracer.cpp 2012-11-02 10:43:17.022562584 +0100 -@@ -11505,6 +11505,7 @@ - } - if (vp[1].isString()) { - JSString *str = vp[1].toString(); -+#ifdef JS_HAS_STATIC_STRINGS - if (native == js_str_charAt) { - jsdouble i = vp[2].toNumber(); - if (JSDOUBLE_IS_NaN(i)) -@@ -11518,7 +11519,9 @@ - set(&vp[0], char_ins); - pendingSpecializedNative = IGNORE_NATIVE_CALL_COMPLETE_CALLBACK; - return RECORD_CONTINUE; -- } else if (native == js_str_charCodeAt) { -+ } else -+#endif -+ if (native == js_str_charCodeAt) { - jsdouble i = vp[2].toNumber(); - if (JSDOUBLE_IS_NaN(i)) - i = 0; -@@ -12967,6 +12970,7 @@ - JS_STATIC_ASSERT(sizeof(JSString) == 16 || sizeof(JSString) == 32); - - -+#ifdef JS_HAS_STATIC_STRINGS - JS_REQUIRES_STACK LIns* - TraceRecorder::getUnitString(LIns* str_ins, LIns* idx_ins) - { -@@ -13010,6 +13014,7 @@ - } - return RECORD_CONTINUE; - } -+#endif - - // Typed array tracing depends on EXPANDED_LOADSTORE and F2I - #if NJ_EXPANDED_LOADSTORE_SUPPORTED && NJ_F2I_SUPPORTED -@@ -13044,6 +13049,7 @@ - LIns* obj_ins = get(&lval); - LIns* idx_ins = get(&idx); - -+#ifdef JS_HAS_STATIC_STRINGS - // Special case for array-like access of strings. - if (lval.isString() && hasInt32Repr(idx)) { - if (call) -@@ -13056,6 +13062,7 @@ - set(&lval, char_ins); - return ARECORD_CONTINUE; - } -+#endif - - if (lval.isPrimitive()) - RETURN_STOP_A("JSOP_GETLEM on a primitive"); ---- a/js/src/jstracer.h 2011-03-31 21:08:36.000000000 +0200 -+++ b/js/src/jstracer.h 2012-11-02 10:43:17.034562582 +0100 -@@ -1394,10 +1394,12 @@ - JS_REQUIRES_STACK RecordingStatus getCharCodeAt(JSString *str, - nanojit::LIns* str_ins, nanojit::LIns* idx_ins, - nanojit::LIns** out_ins); -+#ifdef JS_HAS_STATIC_STRINGS - JS_REQUIRES_STACK nanojit::LIns* getUnitString(nanojit::LIns* str_ins, nanojit::LIns* idx_ins); - JS_REQUIRES_STACK RecordingStatus getCharAt(JSString *str, - nanojit::LIns* str_ins, nanojit::LIns* idx_ins, - JSOp mode, nanojit::LIns** out_ins); -+#endif - - JS_REQUIRES_STACK RecordingStatus initOrSetPropertyByName(nanojit::LIns* obj_ins, - Value* idvalp, Value* rvalp, ---- a/js/src/tracejit/Writer.cpp 2011-03-31 21:08:36.000000000 +0200 -+++ b/js/src/tracejit/Writer.cpp 2012-11-02 10:43:17.038562582 +0100 -@@ -246,7 +246,9 @@ - // ins = andq ins_oprnd1, ins_oprnd2 - ret = true; - #endif -- } else if (ins->isop(LIR_addp) && -+ } -+#ifdef JS_HAS_STATIC_STRINGS -+ else if (ins->isop(LIR_addp) && - ((ins->oprnd1()->isImmP() && - (void *)ins->oprnd1()->immP() == JSString::unitStringTable) || - (ins->oprnd2()->isImmP() && -@@ -258,6 +260,7 @@ - // ins = addp JSString::unitStringTable, ... - ret = true; - } -+#endif - - return ret; - } diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-isfinite.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-isfinite.patch deleted file mode 100644 index edf4d01e64bd..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-isfinite.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- js/src/jsnum.h 2011-03-03 05:43:06.000000000 -0500 -+++ js/src/jsnum.h.new 2012-08-16 14:58:04.000000000 -0400 -@@ -97,6 +97,8 @@ - { - #ifdef WIN32 - return _finite(d); -+#elif defined(__UCLIBC__) -+ return isfinite(d); - #else - return finite(d); - #endif diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-perf_event-check.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-perf_event-check.patch deleted file mode 100644 index 66475b6c34c4..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-perf_event-check.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/js/src/configure.in 2012-11-01 19:42:20.130330321 +0100 -+++ b/js/src/configure.in 2012-11-01 20:34:03.561351492 +0100 -@@ -3477,7 +3477,16 @@ - esac - - dnl Performance measurement headers. --AC_CHECK_HEADER(linux/perf_event.h, HAVE_LINUX_PERF_EVENT_H=1) -+AC_CHECK_HEADER(linux/perf_event.h, -+ [AC_CACHE_CHECK(for perf_event_open system call,ac_cv_perf_event_open, -+ [AC_TRY_COMPILE([#include <sys/syscall.h>],[return sizeof(__NR_perf_event_open);], -+ ac_cv_perf_event_open=yes, -+ ac_cv_perf_event_open=no)])]) -+if test "$ac_cv_perf_event_open" = "yes"; then -+ HAVE_LINUX_PERF_EVENT_H=1 -+else -+ HAVE_LINUX_PERF_EVENT_H= -+fi - AC_SUBST(HAVE_LINUX_PERF_EVENT_H) - - dnl Checks for libraries. - diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-symbol-versions.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-symbol-versions.patch deleted file mode 100644 index 460394d33f13..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-symbol-versions.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -Naur js/src/configure.in js.new/src/configure.in ---- a/js/src/symverscript.in 2012-11-07 09:36:16.000000000 -0500 -+++ b/js/src/symverscript.in 2012-11-07 09:37:05.000000000 -0500 -@@ -0,0 +1,4 @@ -+mozjs185 { -+ global: *; -+}; -+ -diff -Naur js/src/Makefile.in js.new/src/Makefile.in ---- a/js/src/Makefile.in 2012-11-07 09:36:16.000000000 -0500 -+++ b/js/src/Makefile.in 2012-11-07 09:37:09.000000000 -0500 -@@ -837,7 +837,10 @@ - mozjs185.pc \ - $(NULL) - --GARBAGE += $(pkg_config_files) -+symverscript: symverscript.in -+ cat $< > $@ -+ -+GARBAGE += $(pkg_config_files) symverscript - - %.pc: $(srcdir)/%.pc.in Makefile - cat $< | sed \ -@@ -872,6 +875,8 @@ - SHLIB_ABI_VER := $(DESTDIR)$(libdir)/$(SHARED_LIBRARY).$(SRCREL_ABI_VERSION) - SHLIB_EXACT_VER := $(DESTDIR)$(libdir)/$(SHARED_LIBRARY).$(SRCREL_VERSION) - $(SHARED_LIBRARY): EXTRA_DSO_LDOPTS += -Wl,-soname,$(notdir $(SHLIB_ABI_VER)) -+$(SHARED_LIBRARY): EXTRA_DSO_LDOPTS += -Wl,-version-script,symverscript -+$(SHARED_LIBRARY): symverscript - endif - endif - diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.7-freebsd-pthreads.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.7-freebsd-pthreads.patch deleted file mode 100644 index 4324df0d6093..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.8.7-freebsd-pthreads.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/js/src/config/system-headers -+++ b/js/src/config/system-headers -@@ -595,6 +595,7 @@ proto/exec.h - psap.h - Pt.h - pthread.h -+pthread_np.h - pwd.h - Python.h - QDOffscreen.h - diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.7-x32.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.7-x32.patch deleted file mode 100644 index f14a269ee3fc..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-1.8.7-x32.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- a/js/src/jslock.cpp 2012-04-06 16:24:51.000000000 -0500 -+++ b/js/src/jslock.cpp 2012-06-21 20:57:00.877937542 -0500 -@@ -150,17 +150,22 @@ - - static JS_ALWAYS_INLINE int - NativeCompareAndSwap(volatile jsword *w, jsword ov, jsword nv) - { - unsigned int res; - - __asm__ __volatile__ ( - "lock\n" -+/* GCC's x32 abi support */ -+#if defined(__LP64__) - "cmpxchgq %2, (%1)\n" -+#else -+ "cmpxchg %2, (%1)\n" -+#endif - "sete %%al\n" - "movzbl %%al, %%eax\n" - : "=a" (res) - : "r" (w), "r" (nv), "a" (ov) - : "cc", "memory"); - return (int)res; - } - diff --git a/dev-lang/spidermonkey/files/spidermonkey-17-clang.patch b/dev-lang/spidermonkey/files/spidermonkey-17-clang.patch deleted file mode 100644 index 062bd06b7772..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-17-clang.patch +++ /dev/null @@ -1,18 +0,0 @@ -Fix compilation of spidermonkey-17 with clang - -Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=458142 -Upstream-Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=887645 - -b/js/src/js-config.in ---- a/js/src/jsinterp.cpp 2016-06-03 00:08:04.376312080 -0500 -+++ b/js/src/jsinterp.cpp 2016-06-03 00:12:17.740329180 -0500 -@@ -3664,7 +3664,9 @@ - BEGIN_CASE(JSOP_LEAVEFORLETIN) - BEGIN_CASE(JSOP_LEAVEBLOCKEXPR) - { -+ #ifdef DEBUG - DebugOnly<uint32_t> blockDepth = regs.fp()->blockChain().stackDepth(); -+ #endif - - regs.fp()->popBlock(cx); - diff --git a/dev-lang/spidermonkey/files/spidermonkey-17-fix_pointer_dereference.patch b/dev-lang/spidermonkey/files/spidermonkey-17-fix_pointer_dereference.patch deleted file mode 100644 index da6a49f637cd..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-17-fix_pointer_dereference.patch +++ /dev/null @@ -1,30 +0,0 @@ -# HG changeset patch -# User Mike Hommey <mh+mozilla@glandium.org> -# Date 1373958382 -32400 -# Tue Jul 16 16:06:22 2013 +0900 -# Node ID 1880537f26d2ce22866974a8cdf1927dc66f6dbc -# Parent 673ea5cd6ba7fc37086d1dab71ee4a6d6a77a1ab -Bug 894240 - Fix pointer dereference in js::cli::OptionParser::extractValue - -diff --git a/js/src/shell/jsoptparse.cpp b/js/src/shell/jsoptparse.cpp ---- a/js/src/shell/jsoptparse.cpp -+++ b/js/src/shell/jsoptparse.cpp -@@ -248,17 +248,17 @@ OptionParser::printHelp(const char *prog - - OptionParser::Result - OptionParser::extractValue(size_t argc, char **argv, size_t *i, char **value) - { - JS_ASSERT(*i < argc); - char *eq = strchr(argv[*i], '='); - if (eq) { - *value = eq + 1; -- if (value[0] == '\0') -+ if (*value[0] == '\0') - return error("A value is required for option %.*s", eq - argv[*i], argv[*i]); - return Okay; - } - - if (argc == *i + 1) - return error("Expected a value for option %s", argv[*i]); - - *i += 1; diff --git a/dev-lang/spidermonkey/files/spidermonkey-17-ia64-mmap.patch b/dev-lang/spidermonkey/files/spidermonkey-17-ia64-mmap.patch deleted file mode 100644 index 7adbd118d408..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-17-ia64-mmap.patch +++ /dev/null @@ -1,67 +0,0 @@ ---- a/js/src/gc/Memory.cpp 2013-02-11 17:33:22.000000000 -0500 -+++ b/js/src/gc/Memory.cpp 2014-01-08 12:36:29.406851422 -0500 -@@ -302,10 +302,46 @@ - void - InitMemorySubsystem() - { -+#if !defined(__ia64__) - if (size_t(sysconf(_SC_PAGESIZE)) != PageSize) - MOZ_CRASH(); -+#endif - } - -+static inline void * -+MapMemory(size_t length, int prot, int flags, int fd, off_t offset) -+{ -+#if defined(__ia64__) -+ /* -+ * The JS engine assumes that all allocated pointers have their high 17 bits clear, -+ * which ia64's mmap doesn't support directly. However, we can emulate it by passing -+ * mmap an "addr" parameter with those bits clear. The mmap will return that address, -+ * or the nearest available memory above that address, providing a near-guarantee -+ * that those bits are clear. If they are not, we return NULL below to indicate -+ * out-of-memory. -+ * -+ * The addr is chosen as 0x0000070000000000, which still allows about 120TB of virtual -+ * address space. -+ * -+ * See Bug 589735 for more information. -+ */ -+ void *region = mmap((void*)0x0000070000000000, length, prot, flags, fd, offset); -+ if (region == MAP_FAILED) -+ return MAP_FAILED; -+ /* -+ * If the allocated memory doesn't have its upper 17 bits clear, consider it -+ * as out of memory. -+ */ -+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) { -+ JS_ALWAYS_TRUE(0 == munmap(region, length)); -+ return MAP_FAILED; -+ } -+ return region; -+#else -+ return mmap(NULL, length, prot, flags, fd, offset); -+#endif -+} -+ - void * - MapAlignedPages(size_t size, size_t alignment) - { -@@ -319,12 +353,15 @@ - - /* Special case: If we want page alignment, no further work is needed. */ - if (alignment == PageSize) { -- return mmap(NULL, size, prot, flags, -1, 0); -+ void *region = MapMemory(size, prot, flags, -1, 0); -+ if (region == MAP_FAILED) -+ return NULL; -+ return region; - } - - /* Overallocate and unmap the region's edges. */ - size_t reqSize = Min(size + 2 * alignment, 2 * size); -- void *region = mmap(NULL, reqSize, prot, flags, -1, 0); -+ void *region = MapMemory(reqSize, prot, flags, -1, 0); - if (region == MAP_FAILED) - return NULL; - diff --git a/dev-lang/spidermonkey/files/spidermonkey-17-js-config-shebang.patch b/dev-lang/spidermonkey/files/spidermonkey-17-js-config-shebang.patch deleted file mode 100644 index ec77b2368289..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-17-js-config-shebang.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/js/src/js-config.in 2013-03-25 16:34:20.000000000 -0400 -+++ b/js/src/js-config.in 2013-08-09 22:15:29.000901763 -0400 -@@ -2,7 +2,7 @@ - # This Source Code Form is subject to the terms of the Mozilla Public - # License, v. 2.0. If a copy of the MPL was not distributed with this - # file, You can obtain one at http://mozilla.org/MPL/2.0/. --#filter substitution -+%filter substitution - - prefix='@prefix@' - mozilla_version='@MOZILLA_VERSION@' ---- a/js/src/Makefile.in 2013-03-25 16:34:20.000000000 -0400 -+++ b/js/src/Makefile.in 2013-08-09 22:17:20.211903793 -0400 -@@ -778,7 +778,7 @@ - - $(JS_CONFIG_NAME): js-config.in Makefile $(DEPTH)/config/autoconf.mk $(topsrcdir)/config/config.mk $(topsrcdir)/config/rules.mk - $(RM) $@.tmp -- $(PYTHON) $(topsrcdir)/config/Preprocessor.py $(JS_CONFIG_SUBSTITUTIONS) $< > $@.tmp \ -+ $(PYTHON) $(topsrcdir)/config/Preprocessor.py --marker="%" $(JS_CONFIG_SUBSTITUTIONS) $< > $@.tmp \ - && mv $@.tmp $@ && chmod +x $@ - - SCRIPTS = $(JS_CONFIG_NAME) diff --git a/dev-lang/spidermonkey/files/spidermonkey-17.0.0-fix-file-permissions.patch b/dev-lang/spidermonkey/files/spidermonkey-17.0.0-fix-file-permissions.patch deleted file mode 100644 index f4eee9305425..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-17.0.0-fix-file-permissions.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -urN a/js/src/Makefile.in b/js/src/Makefile.in ---- a/js/src/Makefile.in 2013-03-25 15:34:20.000000000 -0500 -+++ b/js/src/Makefile.in 2014-03-08 08:26:36.726979744 -0600 -@@ -788,7 +788,7 @@ - $(PYTHON) $(topsrcdir)/config/Preprocessor.py $(JS_CONFIG_SUBSTITUTIONS) $< > $@ - - install:: $(LIBRARY_NAME).pc -- $(SYSINSTALL) $^ $(DESTDIR)$(libdir)/pkgconfig -+ $(SYSINSTALL) -m 0644 $^ $(DESTDIR)$(libdir)/pkgconfig - - ###################################################### - # BEGIN SpiderMonkey header installation -@@ -836,19 +836,19 @@ - # - - install:: $(INSTALLED_HEADERS) -- $(SYSINSTALL) $^ $(DESTDIR)$(includedir)/$(MODULE) -+ $(SYSINSTALL) -m 0644 $^ $(DESTDIR)$(includedir)/$(MODULE) - - install:: $(EXPORTS_ds) -- $(SYSINSTALL) $^ $(DESTDIR)$(includedir)/$(MODULE)/ds -+ $(SYSINSTALL) -m 0644 $^ $(DESTDIR)$(includedir)/$(MODULE)/ds - - install:: $(EXPORTS_gc) -- $(SYSINSTALL) $^ $(DESTDIR)$(includedir)/$(MODULE)/gc -+ $(SYSINSTALL) -m 0644 $^ $(DESTDIR)$(includedir)/$(MODULE)/gc - - install:: $(EXPORTS_js) -- $(SYSINSTALL) $^ $(DESTDIR)$(includedir)/$(MODULE)/js -+ $(SYSINSTALL) -m 0644 $^ $(DESTDIR)$(includedir)/$(MODULE)/js - - install:: $(EXPORTS_mozilla) -- $(SYSINSTALL) $^ $(DESTDIR)$(includedir)/$(MODULE)/mozilla -+ $(SYSINSTALL) -m 0644 $^ $(DESTDIR)$(includedir)/$(MODULE)/mozilla - - # - # END SpiderMonkey header installation diff --git a/dev-lang/spidermonkey/files/spidermonkey-24-system-icu.patch b/dev-lang/spidermonkey/files/spidermonkey-24-system-icu.patch deleted file mode 100644 index 59ba0c958ea3..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-24-system-icu.patch +++ /dev/null @@ -1,199 +0,0 @@ -diff --git a/js/src/Makefile.in b/js/src/Makefile.in -index 4944d31..4176e14 100644 ---- a/js/src/Makefile.in -+++ b/js/src/Makefile.in -@@ -237,12 +237,17 @@ endif - # ICU headers need to be available whether we build with the complete - # Internationalization API or not - ICU stubs rely on them. - -+ifdef MOZ_NATIVE_ICU -+LOCAL_INCLUDES += $(MOZ_ICU_CFLAGS) -+else - LOCAL_INCLUDES += \ - -I$(topsrcdir)/../../intl/icu/source/common \ - -I$(topsrcdir)/../../intl/icu/source/i18n \ - $(NULL) -+endif - - ifdef ENABLE_INTL_API -+ifndef MOZ_NATIVE_ICU - - ifeq ($(OS_ARCH),WINNT) - # Parallel gmake is buggy on Windows -@@ -271,6 +276,7 @@ distclean clean:: - $(call SUBMAKE,$@,intl/icu) - - endif -+endif - - # - # END ECMAScript Internationalization API -@@ -403,7 +409,11 @@ ifneq (,$(MOZ_ZLIB_LIBS)$(MOZ_GLUE_LDFLAGS)) - DEFINES += -DUSE_ZLIB - endif - --SHARED_LIBRARY_LIBS += $(ICU_LIBS) -+ifdef MOZ_NATIVE_ICU -+EXTRA_DSO_LDOPTS += $(MOZ_ICU_LIBS) -+else -+SHARED_LIBRARY_LIBS += $(MOZ_ICU_LIBS) -+endif - - # Prevent floating point errors caused by VC++ optimizations - ifdef _MSC_VER -diff --git a/js/src/config/Makefile.in b/js/src/config/Makefile.in -index 5f60d15..e1fe1f8 100644 ---- a/js/src/config/Makefile.in -+++ b/js/src/config/Makefile.in -@@ -59,6 +59,7 @@ export:: \ - $(call mkdir_deps,system_wrappers_js) \ - $(NULL) - $(PYTHON) $(srcdir)/Preprocessor.py $(DEFINES) $(ACDEFINES) \ -+ -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ - $(srcdir)/system-headers | $(PERL) $(srcdir)/make-system-wrappers.pl system_wrappers_js - $(INSTALL) system_wrappers_js $(DIST) - -diff --git a/js/src/config/system-headers b/js/src/config/system-headers -index b52aed6..1ca7420 100644 ---- a/js/src/config/system-headers -+++ b/js/src/config/system-headers -@@ -1132,3 +1132,14 @@ kvm.h - spawn.h - err.h - xlocale.h -+#if MOZ_NATIVE_ICU==1 -+unicode/locid.h -+unicode/numsys.h -+unicode/ucal.h -+unicode/ucol.h -+unicode/udat.h -+unicode/udatpg.h -+unicode/uenum.h -+unicode/unum.h -+unicode/ustring.h -+#endif -diff --git a/js/src/configure.in b/js/src/configure.in -index 4bccbe3..d535491 100644 ---- a/js/src/configure.in -+++ b/js/src/configure.in -@@ -4409,6 +4409,16 @@ fi - dnl ======================================================== - dnl ECMAScript Internationalization API Support (uses ICU) - dnl ======================================================== -+ICU_LIB_NAMES= -+MOZ_NATIVE_ICU= -+MOZ_ARG_WITH_BOOL(system-icu, -+[ --with-system-icu -+ Use system icu (located with pkgconfig)], -+ MOZ_NATIVE_ICU=1) -+ -+if test -n "$MOZ_NATIVE_ICU"; then -+ PKG_CHECK_MODULES(MOZ_ICU, icu-i18n >= 50.1) -+fi - - if test -n "$JS_STANDALONE"; then - ENABLE_INTL_API=1 -@@ -4421,37 +4431,34 @@ MOZ_ARG_ENABLE_BOOL(intl-api, - dnl Settings for the implementation of the ECMAScript Internationalization API - if test -n "$ENABLE_INTL_API"; then - AC_DEFINE(ENABLE_INTL_API) -- # We build ICU as a static library. -- AC_DEFINE(U_STATIC_IMPLEMENTATION) -- -- case "$OS_TARGET" in -- WINNT) -- ICU_LIB_NAMES="icuin icuuc icudt" -- ;; -- Darwin|Linux) -- ICU_LIB_NAMES="icui18n icuuc icudata" -- ;; -- *) -- AC_MSG_ERROR([ECMAScript Internationalization API is not yet supported on this platform]) -- esac -- -- ICU_LIBS='$(call EXPAND_LIBNAME_PATH,$(ICU_LIB_NAMES),$(DEPTH)/intl/icu/lib)' --else -- ICU_LIB_NAMES= -- ICU_LIBS= -+ if test -z "$MOZ_NATIVE_ICU"; then -+ case "$OS_TARGET" in -+ WINNT) -+ ICU_LIB_NAMES="icuin icuuc icudt" -+ ;; -+ Darwin|Linux|DragonFly|FreeBSD|NetBSD|OpenBSD) -+ ICU_LIB_NAMES="icui18n icuuc icudata" -+ ;; -+ *) -+ AC_MSG_ERROR([ECMAScript Internationalization API is not yet supported on this platform]) -+ esac -+ MOZ_ICU_LIBS='$(call EXPAND_LIBNAME_PATH,$(ICU_LIB_NAMES),$(DEPTH)/intl/icu/lib)' -+ fi - fi - - AC_SUBST(ENABLE_INTL_API) - AC_SUBST(ICU_LIB_NAMES) --AC_SUBST(ICU_LIBS) -- --dnl Source files that use ICU should have control over which parts of the ICU --dnl namespace they want to use. --AC_DEFINE(U_USING_ICU_NAMESPACE,0) -- -+AC_SUBST(MOZ_ICU_LIBS) -+AC_SUBST(MOZ_NATIVE_ICU) - - dnl Settings for ICU --if test -n "$ENABLE_INTL_API" ; then -+if test -n "$ENABLE_INTL_API" -a -z "$MOZ_NATIVE_ICU"; then -+ dnl We build ICU as a static library. -+ AC_DEFINE(U_STATIC_IMPLEMENTATION) -+ -+ dnl Source files that use ICU should have control over which parts of the ICU -+ dnl namespace they want to use. -+ AC_DEFINE(U_USING_ICU_NAMESPACE,0) - # Set ICU compile options - ICU_CPPFLAGS="" - # don't use icu namespace automatically in client code -diff --git a/js/src/gdb/Makefile.in b/js/src/gdb/Makefile.in -index 288934a..a582dfe 100644 ---- a/js/src/gdb/Makefile.in -+++ b/js/src/gdb/Makefile.in -@@ -19,6 +19,10 @@ LIBS = $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_SUFFIX) $(NSPR_LIBS) $(MOZ_ZLIB_LIB - - LOCAL_INCLUDES += -I$(topsrcdir) -I.. - -+ifdef MOZ_NATIVE_ICU -+EXTRA_LIBS += $(MOZ_ICU_LIBS) -+endif -+ - EXTRA_LIBS += $(MOZ_FFI_LIBS) - - # Place a GDB Python auto-load file next to the gdb-tests executable, both -diff --git a/js/src/jsapi-tests/Makefile.in b/js/src/jsapi-tests/Makefile.in -index 5f7d594..10d7054 100644 ---- a/js/src/jsapi-tests/Makefile.in -+++ b/js/src/jsapi-tests/Makefile.in -@@ -20,6 +20,10 @@ LIBS = $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_SUFFIX) $(NSPR_LIBS) $(MOZ_ZLI - - LOCAL_INCLUDES += -I$(topsrcdir) -I.. - -+ifdef MOZ_NATIVE_ICU -+EXTRA_LIBS += $(MOZ_ICU_LIBS) -+endif -+ - EXTRA_LIBS += $(MOZ_FFI_LIBS) - - ifdef QEMU_EXE -diff --git a/js/src/shell/Makefile.in b/js/src/shell/Makefile.in -index 2e1df09..db66c69 100644 ---- a/js/src/shell/Makefile.in -+++ b/js/src/shell/Makefile.in -@@ -27,6 +27,9 @@ LIBS = $(NSPR_LIBS) $(EDITLINE_LIBS) $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_ - ifdef MOZ_NATIVE_FFI - EXTRA_LIBS += $(MOZ_FFI_LIBS) - endif -+ifdef MOZ_NATIVE_ICU -+EXTRA_LIBS += $(MOZ_ICU_LIBS) -+endif - - LOCAL_INCLUDES += -I$(topsrcdir) -I.. - diff --git a/dev-lang/spidermonkey/files/spidermonkey-24-upward-growing-stack.patch b/dev-lang/spidermonkey/files/spidermonkey-24-upward-growing-stack.patch deleted file mode 100644 index 70963627bcc5..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-24-upward-growing-stack.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff -Naur mozjs-24.2.0/js/src/gc/RootMarking.cpp mozjs-24.2.0.new/js/src/gc/RootMarking.cpp ---- mozjs-24.2.0/js/src/gc/RootMarking.cpp 2013-10-29 16:40:26.000000000 -0400 -+++ mozjs-24.2.0.new/js/src/gc/RootMarking.cpp 2014-05-05 16:16:15.570098309 -0400 -@@ -320,7 +320,7 @@ - - uintptr_t *stackMin, *stackEnd; - #if JS_STACK_GROWTH_DIRECTION > 0 -- stackMin = rt->nativeStackBase; -+ stackMin = reinterpret_cast<uintptr_t *>(rt->nativeStackBase); - stackEnd = cgcd->nativeStackTop; - #else - stackMin = cgcd->nativeStackTop + 1; -diff -Naur mozjs-24.2.0/js/src/jsapi.cpp mozjs-24.2.0.new/js/src/jsapi.cpp ---- mozjs-24.2.0/js/src/jsapi.cpp 2013-12-06 17:52:35.000000000 -0500 -+++ mozjs-24.2.0.new/js/src/jsapi.cpp 2014-05-05 16:17:01.330099145 -0400 -@@ -863,10 +863,6 @@ - - PodZero(&debugHooks); - PodZero(&atomState); -- --#if JS_STACK_GROWTH_DIRECTION > 0 -- nativeStackLimit = UINTPTR_MAX; --#endif - } - - bool -diff -Naur mozjs-24.2.0/js/src/jsfriendapi.cpp mozjs-24.2.0.new/js/src/jsfriendapi.cpp ---- mozjs-24.2.0/js/src/jsfriendapi.cpp 2013-10-29 16:40:20.000000000 -0400 -+++ mozjs-24.2.0.new/js/src/jsfriendapi.cpp 2014-05-05 16:18:30.350100769 -0400 -@@ -32,7 +32,11 @@ - PerThreadDataFriendFields::RuntimeMainThreadOffset); - - PerThreadDataFriendFields::PerThreadDataFriendFields() -+#if JS_STACK_GROWTH_DIRECTION > 0 -+ : nativeStackLimit(UINTPTR_MAX) -+#else - : nativeStackLimit(0) -+#endif - { - #if defined(JSGC_ROOT_ANALYSIS) || defined(JSGC_USE_EXACT_ROOTING) - PodArrayZero(thingGCRooters); diff --git a/dev-lang/spidermonkey/files/spidermonkey-24.2.0-fix-file-permissions.patch b/dev-lang/spidermonkey/files/spidermonkey-24.2.0-fix-file-permissions.patch deleted file mode 100644 index a2247164111a..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-24.2.0-fix-file-permissions.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -urN a/js/src/Makefile.in b/js/src/Makefile.in ---- a/js/src/Makefile.in 2013-11-19 13:42:43.000000000 -0600 -+++ b/js/src/Makefile.in 2014-03-08 08:07:28.331006149 -0600 -@@ -542,7 +542,7 @@ - $(PYTHON) $(topsrcdir)/config/Preprocessor.py $(JS_CONFIG_SUBSTITUTIONS) $< > $@ - - install:: $(LIBRARY_NAME).pc -- $(SYSINSTALL) $^ $(DESTDIR)$(libdir)/pkgconfig -+ $(SYSINSTALL) -m 0644 $^ $(DESTDIR)$(libdir)/pkgconfig - - ###################################################### - # BEGIN SpiderMonkey header installation -@@ -569,13 +569,13 @@ - # - - install:: $(EXPORTS) -- $(SYSINSTALL) $^ $(DESTDIR)$(includedir)/$(LIBRARY_NAME) -+ $(SYSINSTALL) -m 0644 $^ $(DESTDIR)$(includedir)/$(LIBRARY_NAME) - - install:: $(EXPORTS_js) -- $(SYSINSTALL) $^ $(DESTDIR)$(includedir)/$(LIBRARY_NAME)/js -+ $(SYSINSTALL) -m 0644 $^ $(DESTDIR)$(includedir)/$(LIBRARY_NAME)/js - - install:: $(EXPORTS_mozilla) -- $(SYSINSTALL) $^ $(DESTDIR)$(includedir)/$(LIBRARY_NAME)/mozilla -+ $(SYSINSTALL) -m 0644 $^ $(DESTDIR)$(includedir)/$(LIBRARY_NAME)/mozilla - - # - # END SpiderMonkey header installation diff --git a/dev-lang/spidermonkey/files/spidermonkey-38-jsapi-tests.patch b/dev-lang/spidermonkey/files/spidermonkey-38-jsapi-tests.patch deleted file mode 100644 index 8b023fd31807..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-38-jsapi-tests.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/js/src/jsapi-tests/testPreserveJitCode.cpp 2015-09-17 16:12:22.000000000 -0400 -+++ b/js/src/jsapi-tests/testPreserveJitCode.cpp 2017-02-27 16:30:28.899191525 -0500 -@@ -16,8 +16,12 @@ - - BEGIN_TEST(test_PreserveJitCode) - { -+#ifndef JS_CODEGEN_NONE - CHECK(testPreserveJitCode(false, 0)); - CHECK(testPreserveJitCode(true, 1)); -+#else -+ printf("*JIT is disabled, therefore CANNOT preserve jit code - skipping.\n"); -+#endif - return true; - } - - diff --git a/dev-lang/spidermonkey/files/spidermonkey-45-dont-symlink-non-objfiles.patch b/dev-lang/spidermonkey/files/spidermonkey-45-dont-symlink-non-objfiles.patch deleted file mode 100644 index 061e8a572db3..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-45-dont-symlink-non-objfiles.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/python/mozbuild/mozbuild/backend/recursivemake.py 2016-04-14 13:55:21.000000000 -0400 -+++ b/python/mozbuild/mozbuild/backend/recursivemake.py 2017-02-28 14:43:09.431448016 -0500 -@@ -1301,17 +1301,17 @@ - - for path, files in files.walk(): - target_var = (mozpath.join(target, path) - if path else target).replace('/', '_') - have_objdir_files = False - for f in files: - if not isinstance(f, ObjDirPath): - dest = mozpath.join(reltarget, path, mozpath.basename(f)) -- install_manifest.add_symlink(f.full_path, dest) -+ install_manifest.add_copy(f.full_path, dest) - else: - backend_file.write('%s_FILES += %s\n' % ( - target_var, self._pretty_path(f, backend_file))) - have_objdir_files = True - if have_objdir_files: - backend_file.write('%s_DEST := $(DEPTH)/%s\n' - % (target_var, - mozpath.join(target, path))) diff --git a/dev-lang/spidermonkey/spidermonkey-1.7.0-r3.ebuild b/dev-lang/spidermonkey/spidermonkey-1.7.0-r3.ebuild index 7df8506f5120..e66d66acb107 100644 --- a/dev-lang/spidermonkey/spidermonkey-1.7.0-r3.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-1.7.0-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI="5" @@ -8,7 +8,9 @@ inherit eutils toolchain-funcs multilib flag-o-matic MY_P="js-${PV}" DESCRIPTION="Stand-alone JavaScript C library" HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}.tar.gz" +SRC_URI="http://archive.mozilla.org/pub/js/${MY_P}.tar.gz + https://dev.gentoo.org/~axs/distfiles/${PN}-slot0-patches-01.tar.xz + " LICENSE="NPL-1.1" SLOT="0/js" @@ -21,10 +23,10 @@ RDEPEND="threadsafe? ( dev-libs/nspr )" DEPEND="${RDEPEND}" src_prepare() { - epatch "${FILESDIR}/${PN}-1.5-build.patch" - epatch "${FILESDIR}/${PN}-1.6-header.patch" - epatch "${FILESDIR}/${P}-threadsafe.diff" \ - "${FILESDIR}"/${P}-ldflags.patch + epatch "${WORKDIR}"/sm0/${PN}-1.5-build.patch \ + "${WORKDIR}"/sm0/${PN}-1.6-header.patch \ + "${WORKDIR}"/sm0/${P}-threadsafe.diff \ + "${WORKDIR}"/sm0/${P}-ldflags.patch # don't force owner for Prefix sed -i -e '/^INSTALL :=/s/-g 0 -o root//' Makefile.ref || die diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r4.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r4.ebuild index 5d181130fcd4..a5e340c26864 100644 --- a/dev-lang/spidermonkey/spidermonkey-1.8.5-r4.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-1.8.5-r4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI="5" @@ -13,7 +13,8 @@ MY_P="${MY_PN}-${PV}" TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0" DESCRIPTION="Stand-alone JavaScript C library" HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -SRC_URI="https://ftp.mozilla.org/pub/mozilla.org/js/${TARBALL_P}.tar.gz" +SRC_URI="https://archive.mozilla.org/pub/js/${TARBALL_P}.tar.gz + https://dev.gentoo.org/~axs/distfiles/${PN}-slot0-patches-01.tar.xz" LICENSE="NPL-1.1" SLOT="0/mozjs185" @@ -39,23 +40,23 @@ pkg_setup(){ src_prepare() { # https://bugzilla.mozilla.org/show_bug.cgi?id=628723#c43 - epatch "${FILESDIR}/${P}-fix-install-symlinks.patch" + epatch "${WORKDIR}"/sm0/${P}-fix-install-symlinks.patch # https://bugzilla.mozilla.org/show_bug.cgi?id=638056#c9 - epatch "${FILESDIR}/${P}-fix-ppc64.patch" + epatch "${WORKDIR}"/sm0/${P}-fix-ppc64.patch # https://bugs.gentoo.org/show_bug.cgi?id=400727 # https://bugs.gentoo.org/show_bug.cgi?id=420471 - epatch "${FILESDIR}/${P}-arm_respect_cflags-3.patch" + epatch "${WORKDIR}"/sm0/${P}-arm_respect_cflags-3.patch # https://bugs.gentoo.org/show_bug.cgi?id=438746 - epatch "${FILESDIR}"/${PN}-1.8.7-freebsd-pthreads.patch + epatch "${WORKDIR}"/sm0/${PN}-1.8.7-freebsd-pthreads.patch # https://bugs.gentoo.org/show_bug.cgi?id=441928 - epatch "${FILESDIR}"/${PN}-1.8.5-perf_event-check.patch + epatch "${WORKDIR}"/sm0/${PN}-1.8.5-perf_event-check.patch # https://bugs.gentoo.org/show_bug.cgi?id=439260 - epatch "${FILESDIR}"/${P}-symbol-versions.patch + epatch "${WORKDIR}"/sm0/${P}-symbol-versions.patch # https://bugs.gentoo.org/show_bug.cgi?id=441934 - epatch "${FILESDIR}"/${PN}-1.8.5-ia64-fix.patch - epatch "${FILESDIR}"/${PN}-1.8.5-ia64-static-strings.patch + epatch "${WORKDIR}"/sm0/${PN}-1.8.5-ia64-fix.patch + epatch "${WORKDIR}"/sm0/${PN}-1.8.5-ia64-static-strings.patch # https://bugs.gentoo.org/show_bug.cgi?id=431560 - epatch "${FILESDIR}"/${PN}-1.8.5-isfinite.patch + epatch "${WORKDIR}"/sm0/${PN}-1.8.5-isfinite.patch # https://bugs.gentoo.org/show_bug.cgi?id=552786 epatch "${FILESDIR}"/${PN}-perl-defined-array-check.patch diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r5.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r5.ebuild deleted file mode 100644 index c9ca487769f7..000000000000 --- a/dev-lang/spidermonkey/spidermonkey-1.8.5-r5.ebuild +++ /dev/null @@ -1,146 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" -WANT_AUTOCONF="2.1" -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" -inherit autotools eutils toolchain-funcs multilib python-any-r1 versionator pax-utils - -MY_PN="js" -TARBALL_PV="$(replace_all_version_separators '' $(get_version_component_range 1-3))" -MY_P="${MY_PN}-${PV}" -TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0" -DESCRIPTION="Stand-alone JavaScript C library" -HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -SRC_URI="https://ftp.mozilla.org/pub/mozilla.org/js/${TARBALL_P}.tar.gz" - -LICENSE="NPL-1.1" -SLOT="0/mozjs185" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-macos" -IUSE="debug minimal static-libs test" - -S="${WORKDIR}/${MY_P}" -BUILDDIR="${S}/js/src" - -RDEPEND=">=dev-libs/nspr-4.7.0 - sys-libs/readline:0= - x64-macos? ( dev-libs/jemalloc )" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - app-arch/zip - virtual/pkgconfig" - -pkg_setup(){ - if [[ ${MERGE_TYPE} != "binary" ]]; then - export LC_ALL="C" - fi -} - -src_prepare() { - # https://bugzilla.mozilla.org/show_bug.cgi?id=628723#c43 - epatch "${FILESDIR}/${P}-fix-install-symlinks.patch" - # https://bugzilla.mozilla.org/show_bug.cgi?id=638056#c9 - epatch "${FILESDIR}/${P}-fix-ppc64.patch" - # https://bugs.gentoo.org/show_bug.cgi?id=400727 - # https://bugs.gentoo.org/show_bug.cgi?id=420471 - epatch "${FILESDIR}/${P}-arm_respect_cflags-3.patch" - # https://bugs.gentoo.org/show_bug.cgi?id=438746 - epatch "${FILESDIR}"/${PN}-1.8.7-freebsd-pthreads.patch - # https://bugs.gentoo.org/show_bug.cgi?id=441928 - epatch "${FILESDIR}"/${PN}-1.8.5-perf_event-check.patch - # https://bugs.gentoo.org/show_bug.cgi?id=439260 - epatch "${FILESDIR}"/${P}-symbol-versions.patch - # https://bugs.gentoo.org/show_bug.cgi?id=441934 - epatch "${FILESDIR}"/${PN}-1.8.5-ia64-fix.patch - epatch "${FILESDIR}"/${PN}-1.8.5-ia64-static-strings.patch - # https://bugs.gentoo.org/show_bug.cgi?id=431560 - epatch "${FILESDIR}"/${PN}-1.8.5-isfinite.patch - # https://bugs.gentoo.org/show_bug.cgi?id=552786 - epatch "${FILESDIR}"/${PN}-perl-defined-array-check.patch - # https://bugs.gentoo.org/show_bug.cgi?id=439558 - epatch "${FILESDIR}"/${PN}-1.8.7-x32.patch - - epatch_user - - cd "${BUILDDIR}" || die - eautoconf -} - -src_configure() { - cd "${BUILDDIR}" || die - - CC="$(tc-getCC)" CXX="$(tc-getCXX)" \ - AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \ - LD="$(tc-getLD)" \ - econf \ - ${myopts} \ - --enable-jemalloc \ - --enable-readline \ - --enable-threadsafe \ - --with-system-nspr \ - --disable-optimize \ - --disable-profile-guided-optimization \ - $(use_enable debug) \ - $(use_enable static-libs static) \ - $(use_enable test tests) -} - -cross_make() { - emake \ - CFLAGS="${BUILD_CFLAGS}" \ - CXXFLAGS="${BUILD_CXXFLAGS}" \ - AR="${BUILD_AR}" \ - CC="${BUILD_CC}" \ - CXX="${BUILD_CXX}" \ - RANLIB="${BUILD_RANLIB}" \ - "$@" -} -src_compile() { - cd "${BUILDDIR}" || die - if tc-is-cross-compiler; then - tc-export_build_env BUILD_{AR,CC,CXX,RANLIB} - cross_make jscpucfg host_jsoplengen host_jskwgen - cross_make -C config nsinstall - mv {,native-}jscpucfg || die - mv {,native-}host_jskwgen || die - mv {,native-}host_jsoplengen || die - mv config/{,native-}nsinstall || die - sed -i \ - -e 's@./jscpucfg@./native-jscpucfg@' \ - -e 's@./host_jskwgen@./native-host_jskwgen@' \ - -e 's@./host_jsoplengen@./native-host_jsoplengen@' \ - Makefile || die - sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die - rm -f config/host_nsinstall.o \ - config/host_pathsub.o \ - host_jskwgen.o \ - host_jsoplengen.o || die - fi - emake -} - -src_test() { - cd "${BUILDDIR}/jsapi-tests" || die - # for bug 415791 - pax-mark mr jsapi-tests - emake check -} - -src_install() { - cd "${BUILDDIR}" || die - emake DESTDIR="${D}" install - # bug 437520 , exclude js shell for small systems - if ! use minimal ; then - dobin shell/js - pax-mark m "${ED}/usr/bin/js" - fi - dodoc ../../README - dohtml README.html - - if ! use static-libs; then - # We can't actually disable building of static libraries - # They're used by the tests and in a few other places - find "${D}" -iname '*.a' -delete || die - fi -} diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild index 1ae283e263ab..7cb19fe5087f 100644 --- a/dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild @@ -13,7 +13,9 @@ MY_P="${MY_PN}-${PV}" TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0" DESCRIPTION="Stand-alone JavaScript C library" HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -SRC_URI="https://ftp.mozilla.org/pub/mozilla.org/js/${TARBALL_P}.tar.gz" +SRC_URI="https://archive.mozilla.org/pub/js/${TARBALL_P}.tar.gz + https://dev.gentoo.org/~axs/distfiles/${PN}-slot0-patches-01.tar.xz + " LICENSE="NPL-1.1" SLOT="0/mozjs185" @@ -39,29 +41,29 @@ pkg_setup(){ src_prepare() { # https://bugzilla.mozilla.org/show_bug.cgi?id=628723#c43 - epatch "${FILESDIR}/${P}-fix-install-symlinks.patch" + epatch "${WORKDIR}"/sm0/${P}-fix-install-symlinks.patch # https://bugzilla.mozilla.org/show_bug.cgi?id=638056#c9 - epatch "${FILESDIR}/${P}-fix-ppc64.patch" + epatch "${WORKDIR}"/sm0/${P}-fix-ppc64.patch # https://bugs.gentoo.org/show_bug.cgi?id=400727 # https://bugs.gentoo.org/show_bug.cgi?id=420471 - epatch "${FILESDIR}/${P}-arm_respect_cflags-3.patch" + epatch "${WORKDIR}"/sm0/${P}-arm_respect_cflags-3.patch # https://bugs.gentoo.org/show_bug.cgi?id=438746 - epatch "${FILESDIR}"/${PN}-1.8.7-freebsd-pthreads.patch + epatch "${WORKDIR}"/sm0/${PN}-1.8.7-freebsd-pthreads.patch # https://bugs.gentoo.org/show_bug.cgi?id=441928 - epatch "${FILESDIR}"/${PN}-1.8.5-perf_event-check.patch + epatch "${WORKDIR}"/sm0/${PN}-1.8.5-perf_event-check.patch # https://bugs.gentoo.org/show_bug.cgi?id=439260 - epatch "${FILESDIR}"/${P}-symbol-versions.patch + epatch "${WORKDIR}"/sm0/${P}-symbol-versions.patch # https://bugs.gentoo.org/show_bug.cgi?id=441934 - epatch "${FILESDIR}"/${PN}-1.8.5-ia64-fix.patch - epatch "${FILESDIR}"/${PN}-1.8.5-ia64-static-strings.patch + epatch "${WORKDIR}"/sm0/${PN}-1.8.5-ia64-fix.patch + epatch "${WORKDIR}"/sm0/${PN}-1.8.5-ia64-static-strings.patch # https://bugs.gentoo.org/show_bug.cgi?id=431560 - epatch "${FILESDIR}"/${PN}-1.8.5-isfinite.patch + epatch "${WORKDIR}"/sm0/${PN}-1.8.5-isfinite.patch # https://bugs.gentoo.org/show_bug.cgi?id=552786 epatch "${FILESDIR}"/${PN}-perl-defined-array-check.patch # https://bugs.gentoo.org/show_bug.cgi?id=439558 - epatch "${FILESDIR}"/${PN}-1.8.7-x32.patch + epatch "${WORKDIR}"/sm0/${PN}-1.8.7-x32.patch # https://bugs.gentoo.org/show_bug.cgi?id=582478 - epatch "${FILESDIR}"/${PN}-1.8.5-gcc6.patch + epatch "${WORKDIR}"/sm0/${PN}-1.8.5-gcc6.patch epatch_user diff --git a/dev-lang/spidermonkey/spidermonkey-17.0.0-r4.ebuild b/dev-lang/spidermonkey/spidermonkey-17.0.0-r4.ebuild index 3a77b7146655..06416bed5282 100644 --- a/dev-lang/spidermonkey/spidermonkey-17.0.0-r4.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-17.0.0-r4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI="5" @@ -11,7 +11,8 @@ MY_PN="mozjs" MY_P="${MY_PN}${PV}" DESCRIPTION="Stand-alone JavaScript C library" HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/js/${MY_PN}${PV}.tar.gz" +SRC_URI="http://archive.mozilla.org/pub/js/${MY_PN}${PV}.tar.gz + https://dev.gentoo.org/~axs/distfiles/${PN}-slot17-patches-01.tar.xz" LICENSE="NPL-1.1" SLOT="17" @@ -42,9 +43,9 @@ pkg_setup(){ } src_prepare() { - epatch "${FILESDIR}"/${PN}-${SLOT}-js-config-shebang.patch - epatch "${FILESDIR}"/${PN}-${SLOT}-ia64-mmap.patch - epatch "${FILESDIR}"/${PN}-17.0.0-fix-file-permissions.patch + epatch "${WORKDIR}"/sm17/${PN}-${SLOT}-js-config-shebang.patch + epatch "${WORKDIR}"/sm17/${PN}-${SLOT}-ia64-mmap.patch + epatch "${WORKDIR}"/sm17/${PN}-17.0.0-fix-file-permissions.patch # https://bugs.gentoo.org/show_bug.cgi?id=552786 epatch "${FILESDIR}"/${PN}-perl-defined-array-check.patch diff --git a/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild b/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild index 24aaa1cd2279..6a67fe8f8d5a 100644 --- a/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild @@ -11,7 +11,8 @@ MY_PN="mozjs" MY_P="${MY_PN}${PV}" DESCRIPTION="Stand-alone JavaScript C library" HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/js/${MY_PN}${PV}.tar.gz" +SRC_URI="http://archive.mozilla.org/pub/js/${MY_PN}${PV}.tar.gz + https://dev.gentoo.org/~axs/distfiles/${PN}-slot17-patches-01.tar.xz" LICENSE="NPL-1.1" SLOT="17" @@ -42,12 +43,12 @@ pkg_setup(){ } PATCHES=( - "${FILESDIR}"/${PN}-${SLOT}-js-config-shebang.patch - "${FILESDIR}"/${PN}-${SLOT}-ia64-mmap.patch - "${FILESDIR}"/${PN}-17.0.0-fix-file-permissions.patch - "${FILESDIR}"/${PN}-17-clang.patch + "${WORKDIR}"/sm17/${PN}-${SLOT}-js-config-shebang.patch + "${WORKDIR}"/sm17/${PN}-${SLOT}-ia64-mmap.patch + "${WORKDIR}"/sm17/${PN}-17.0.0-fix-file-permissions.patch + "${WORKDIR}"/sm17/${PN}-17-clang.patch "${FILESDIR}"/${PN}-perl-defined-array-check.patch - "${FILESDIR}"/${PN}-17-fix_pointer_dereference.patch + "${WORKDIR}"/sm17/${PN}-17-fix_pointer_dereference.patch ) src_prepare() { diff --git a/dev-lang/spidermonkey/spidermonkey-24.2.0-r3.ebuild b/dev-lang/spidermonkey/spidermonkey-24.2.0-r3.ebuild index 9779ba987f80..3d94feba95d4 100644 --- a/dev-lang/spidermonkey/spidermonkey-24.2.0-r3.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-24.2.0-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI="5" @@ -11,7 +11,8 @@ MY_PN="mozjs" MY_P="${MY_PN}-${PV/_/.}" DESCRIPTION="Stand-alone JavaScript C library" HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -SRC_URI="https://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}.tar.bz2" +SRC_URI="https://archive.mozilla.org/pub/js/${MY_P}.tar.bz2 + https://dev.gentoo.org/~axs/distfiles/${PN}-slot24-patches-01.tar.xz" LICENSE="NPL-1.1" SLOT="24" @@ -41,9 +42,9 @@ pkg_setup(){ } src_prepare() { - epatch "${FILESDIR}"/${PN}-${SLOT}-system-icu.patch - epatch "${FILESDIR}"/${PN}-24.2.0-fix-file-permissions.patch - epatch "${FILESDIR}"/${PN}-${SLOT}-upward-growing-stack.patch + epatch "${WORKDIR}"/sm24/${PN}-${SLOT}-system-icu.patch + epatch "${WORKDIR}"/sm24/${PN}-24.2.0-fix-file-permissions.patch + epatch "${WORKDIR}"/sm24/${PN}-${SLOT}-upward-growing-stack.patch # https://bugs.gentoo.org/show_bug.cgi?id=552786 epatch "${FILESDIR}"/${PN}-perl-defined-array-check.patch epatch_user diff --git a/dev-lang/spidermonkey/spidermonkey-24.2.0-r4.ebuild b/dev-lang/spidermonkey/spidermonkey-24.2.0-r4.ebuild index 1e3f7b5b0404..edee003c55b7 100644 --- a/dev-lang/spidermonkey/spidermonkey-24.2.0-r4.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-24.2.0-r4.ebuild @@ -11,7 +11,8 @@ MY_PN="mozjs" MY_P="${MY_PN}-${PV/_/.}" DESCRIPTION="Stand-alone JavaScript C library" HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -SRC_URI="https://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}.tar.bz2" +SRC_URI="https://archive.mozilla.org/pub/js/${MY_P}.tar.bz2 + https://dev.gentoo.org/~axs/distfiles/${PN}-slot24-patches-01.tar.xz" LICENSE="NPL-1.1" SLOT="24" @@ -34,11 +35,11 @@ DEPEND="${RDEPEND} virtual/pkgconfig" PATCHES=( - "${FILESDIR}"/${PN}-${SLOT}-system-icu.patch - "${FILESDIR}"/${PN}-24.2.0-fix-file-permissions.patch - "${FILESDIR}"/${PN}-${SLOT}-upward-growing-stack.patch + "${WORKDIR}"/sm24/${PN}-${SLOT}-system-icu.patch + "${WORKDIR}"/sm24/${PN}-24.2.0-fix-file-permissions.patch + "${WORKDIR}"/sm24/${PN}-${SLOT}-upward-growing-stack.patch "${FILESDIR}"/${PN}-perl-defined-array-check.patch - "${FILESDIR}"/${PN}-17-fix_pointer_dereference.patch + "${WORKDIR}"/sm24/${PN}-17-fix_pointer_dereference.patch ) pkg_setup(){ diff --git a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild index 42e2c0460c41..c55476923b0c 100644 --- a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild @@ -9,7 +9,8 @@ MY_PN="mozjs" MY_P="${MY_PN}-${PV/_/.}" DESCRIPTION="Stand-alone JavaScript C library" HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -SRC_URI="https://people.mozilla.org/~sstangl/${MY_P}.tar.bz2" +SRC_URI="https://people.mozilla.org/~sstangl/${MY_P}.tar.bz2 + https://dev.gentoo.org/~axs/distfiles/${PN}-slot38-patches-01.tar.xz" LICENSE="NPL-1.1" SLOT="38" @@ -36,12 +37,12 @@ pkg_setup(){ } src_prepare() { - eapply "${FILESDIR}"/${PN}-38-jsapi-tests.patch \ - "${FILESDIR}"/mozjs38-1269317.patch \ - "${FILESDIR}"/mozjs38-fix-tracelogger.patch \ - "${FILESDIR}"/mozjs38-copy-headers.patch \ - "${FILESDIR}"/mozjs38-pkg-config-version.patch \ - "${FILESDIR}"/mozilla_configure_regexp_esr38.patch + eapply "${WORKDIR}"/sm38/${PN}-38-jsapi-tests.patch \ + "${WORKDIR}"/sm38/mozjs38-1269317.patch \ + "${WORKDIR}"/sm38/mozjs38-fix-tracelogger.patch \ + "${WORKDIR}"/sm38/mozjs38-copy-headers.patch \ + "${WORKDIR}"/sm38/mozjs38-pkg-config-version.patch \ + "${WORKDIR}"/sm38/mozilla_configure_regexp_esr38.patch eapply_user diff --git a/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild b/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild index 26f88cce97ff..2602ecc5e97c 100644 --- a/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild @@ -9,7 +9,8 @@ MY_PN="mozjs" MY_P="${MY_PN}-${PV/_/.}" DESCRIPTION="Stand-alone JavaScript C library" HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -SRC_URI="https://people.mozilla.org/~sfink/${MY_P}.tar.bz2" +SRC_URI="https://people.mozilla.org/~sfink/${MY_P}.tar.bz2 + https://dev.gentoo.org/~axs/distfiles/${PN}-slot45-patches-01.tar.xz" LICENSE="NPL-1.1" SLOT="45" @@ -35,14 +36,14 @@ pkg_setup(){ } src_prepare() { - eapply "${FILESDIR}"/${PN}-38-jsapi-tests.patch \ - "${FILESDIR}"/mozjs45-1266366.patch \ - "${FILESDIR}"/mozjs38-pkg-config-version.patch \ - "${FILESDIR}"/mozilla_configure_regexp_esr.patch \ - "${FILESDIR}"/${PN}-${SLOT}-dont-symlink-non-objfiles.patch + eapply "${WORKDIR}"/sm45/${PN}-38-jsapi-tests.patch \ + "${WORKDIR}"/sm45/mozjs45-1266366.patch \ + "${WORKDIR}"/sm45/mozjs38-pkg-config-version.patch \ + "${WORKDIR}"/sm45/mozilla_configure_regexp_esr.patch \ + "${WORKDIR}"/sm45/${PN}-${SLOT}-dont-symlink-non-objfiles.patch # apply relevant (modified) patches from gentoo's firefox-45 patchset - eapply "${FILESDIR}"/ff45 + eapply "${WORKDIR}"/sm45/ff45 eapply_user |