The package rpms/mozjs52.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/mozjs52.git/commit/?id=589dba8116...
https://src.fedoraproject.org/cgit/rpms/mozjs52.git/commit/?id=f893fb0221....
Change:
-%ifarch s390
+%ifarch %{ix86} x86_64 %{arm} aarch64
Thanks.
Full change:
============
commit 7f41c5a884f0fc6f3cd6a48b6f806e77239a3384
Author: Kalev Lember <klember(a)redhat.com>
Date: Tue Nov 14 12:00:22 2017 +0100
Update to 52.5.0
diff --git a/.gitignore b/.gitignore
index bb1dfc5..cf1570b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/firefox-52.3.0esr.source.tar.xz
/firefox-52.4.0esr.source.tar.xz
+/firefox-52.5.0esr.source.tar.xz
diff --git a/mozjs52.spec b/mozjs52.spec
index a2447fc..a828c3b 100644
--- a/mozjs52.spec
+++ b/mozjs52.spec
@@ -6,8 +6,8 @@
%endif
Name: mozjs%{major}
-Version: 52.4.0
-Release: 3%{?dist}
+Version: 52.5.0
+Release: 1%{?dist}
Summary: SpiderMonkey JavaScript library
License: MPLv2.0 and MPLv1.1 and BSD and GPLv2+ and GPLv3+ and LGPLv2.1 and
LGPLv2.1+ and AFL and ASL 2.0
@@ -20,7 +20,6 @@ Patch0002: copy-headers.patch
# Patches from
https://github.com/ptomato/mozjs / Debian mozjs52_52.3.1-4.debian.tar.xz
Patch0101: disable-mozglue.patch
-Patch0103: tests-skip-on-all-64-bit-archs.patch
Patch0104: include-configure-script.patch
# Patches from Fedora firefox package:
@@ -62,7 +61,6 @@ pushd ../..
%patch0002 -p1
%patch0101 -p1
-%patch0103 -p1
%patch0104 -p1
%patch18 -p1 -b .jemalloc-ppc
@@ -162,6 +160,9 @@ jit-test/jit_test.py -s -t 1800 --no-progress
../../js/src/js/src/shell/js basic
%{_includedir}/mozjs-%{major}/
%changelog
+* Tue Nov 14 2017 Kalev Lember <klember(a)redhat.com> - 52.5.0-1
+- Update to 52.5.0
+
* Tue Oct 31 2017 Kalev Lember <klember(a)redhat.com> - 52.4.0-3
- Include standalone /usr/bin/js52 interpreter
diff --git a/sources b/sources
index 3e50271..5b10490 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (firefox-52.4.0esr.source.tar.xz) =
be3be7f9dbf4bd0344d5d76f26d1a5090bb012154d25833d5cd58e5e707c080515b42ed751e1f7e58b15b96939d7da634cafb6e8aa9bb1627ff420836b802183
+SHA512 (firefox-52.5.0esr.source.tar.xz) =
fe724108ba538e590b87a5c1b817471d3cca9b038ba2755642e4d7b8ebb6174322be1fe074f24ef181946f9a027106b50b500d2fa541d8a99ef44905822eda18
diff --git a/tests-skip-on-all-64-bit-archs.patch b/tests-skip-on-all-64-bit-archs.patch
deleted file mode 100644
index 8630b54..0000000
--- a/tests-skip-on-all-64-bit-archs.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 8e7f8d3c651028a2fd1e6e8eb8960f2ca0d3e266 Mon Sep 17 00:00:00 2001
-From: Marcin Juszkiewicz <mjuszkiewicz(a)redhat.com>
-Date: Wed, 5 Jul 2017 21:05:27 -0700
-Subject: [PATCH] tests: Skip on all 64-bit archs
-
-Tests that are skipped on x86_64 should be skipped on all 64-bit
-architectures.
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1357593
-
-Taken from Fedora:
-http://pkgs.fedoraproject.org/cgit/rpms/mozjs38.git/tree/fix-64bit-archs.patch
----
- js/src/tests/js1_5/Array/regress-157652.js | 2 +-
- js/src/tests/js1_5/Array/regress-330812.js | 2 +-
- js/src/tests/js1_5/Regress/regress-422348.js | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/js/src/tests/js1_5/Array/regress-157652.js
b/js/src/tests/js1_5/Array/regress-157652.js
-index 0bdba8fd..9d77802c 100644
---- a/js/src/tests/js1_5/Array/regress-157652.js
-+++ b/js/src/tests/js1_5/Array/regress-157652.js
-@@ -1,4 +1,4 @@
--// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)||Android) -- No test results
-+// |reftest|
skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No
test results
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* 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
-diff --git a/js/src/tests/js1_5/Array/regress-330812.js
b/js/src/tests/js1_5/Array/regress-330812.js
-index 3a392976..c48f4c88 100644
---- a/js/src/tests/js1_5/Array/regress-330812.js
-+++ b/js/src/tests/js1_5/Array/regress-330812.js
-@@ -1,4 +1,4 @@
--// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)||Android) -- No test results
-+// |reftest|
skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No
test results
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* 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
-diff --git a/js/src/tests/js1_5/Regress/regress-422348.js
b/js/src/tests/js1_5/Regress/regress-422348.js
-index f2443c28..7ae83f4a 100644
---- a/js/src/tests/js1_5/Regress/regress-422348.js
-+++ b/js/src/tests/js1_5/Regress/regress-422348.js
-@@ -1,4 +1,4 @@
--// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)) -- On 64-bit, takes forever
rather than throwing
-+// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)) --
On 64-bit, takes forever rather than throwing
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* 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
-
commit c4fc1def71db27794eaeb67ee45dc2473a752646
Author: Kalev Lember <klember(a)redhat.com>
Date: Tue Oct 31 16:52:36 2017 +0100
Include standalone /usr/bin/js52 interpreter
Polari and gnome-shell are going to make use of it to syntax check js
files in CI. This puts it in the -devel subpackage, in line with how
Debian is packaging /usr/bin/js52 in their -dev subpackage.
diff --git a/mozjs52.spec b/mozjs52.spec
index 1e3b62a..a2447fc 100644
--- a/mozjs52.spec
+++ b/mozjs52.spec
@@ -7,7 +7,7 @@
Name: mozjs%{major}
Version: 52.4.0
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: SpiderMonkey JavaScript library
License: MPLv2.0 and MPLv1.1 and BSD and GPLv2+ and GPLv3+ and LGPLv2.1 and
LGPLv2.1+ and AFL and ASL 2.0
@@ -123,8 +123,8 @@ popd
# Fix permissions
chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc
-# We only need the shared library
-rm %{buildroot}%{_bindir}/js*
+# Remove unneeded files
+rm %{buildroot}%{_bindir}/js52-config
rm %{buildroot}%{_libdir}/libjs_static.ajs
# Rename library and create symlinks, following fix-soname.patch
@@ -156,11 +156,15 @@ jit-test/jit_test.py -s -t 1800 --no-progress
../../js/src/js/src/shell/js basic
%{_libdir}/libmozjs-%{major}.so.0*
%files devel
+%{_bindir}/js52
%{_libdir}/libmozjs-%{major}.so
%{_libdir}/pkgconfig/*.pc
%{_includedir}/mozjs-%{major}/
%changelog
+* Tue Oct 31 2017 Kalev Lember <klember(a)redhat.com> - 52.4.0-3
+- Include standalone /usr/bin/js52 interpreter
+
* Tue Oct 31 2017 Kalev Lember <klember(a)redhat.com> - 52.4.0-2
- Various secondary arch fixes
commit 589dba81168d1b2d9adb9f81b9df8864357576d3
Author: Kalev Lember <klember(a)redhat.com>
Date: Tue Oct 31 11:27:31 2017 +0100
Various secondary arch fixes
diff --git a/mozjs52.spec b/mozjs52.spec
index 117f553..1e3b62a 100644
--- a/mozjs52.spec
+++ b/mozjs52.spec
@@ -1,13 +1,13 @@
%global major 52
# Big endian platforms
-%ifarch ppc64 s390x
+%ifarch ppc ppc64 s390 s390x
%define big_endian 1
%endif
Name: mozjs%{major}
Version: 52.4.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: SpiderMonkey JavaScript library
License: MPLv2.0 and MPLv1.1 and BSD and GPLv2+ and GPLv3+ and LGPLv2.1 and
LGPLv2.1+ and AFL and ASL 2.0
@@ -26,7 +26,6 @@ Patch0104: include-configure-script.patch
# Patches from Fedora firefox package:
Patch18: xulrunner-24.0-jemalloc-ppc.patch
Patch19: xulrunner-24.0-s390-inlines.patch
-Patch25: rhbz-1219542-s390-build.patch
Patch26: build-icu-big-endian.patch
Patch36: build-missing-xlocale-h.patch
Patch304: mozilla-1253216.patch
@@ -68,9 +67,6 @@ pushd ../..
%patch18 -p1 -b .jemalloc-ppc
%patch19 -p2 -b .s390-inlines
-%ifarch s390
-%patch25 -p1 -b .rhbz-1219542-s390
-%endif
# Patch for big endian platforms only
%if 0%{?big_endian}
@@ -165,6 +161,9 @@ jit-test/jit_test.py -s -t 1800 --no-progress
../../js/src/js/src/shell/js basic
%{_includedir}/mozjs-%{major}/
%changelog
+* Tue Oct 31 2017 Kalev Lember <klember(a)redhat.com> - 52.4.0-2
+- Various secondary arch fixes
+
* Thu Sep 28 2017 Kalev Lember <klember(a)redhat.com> - 52.4.0-1
- Update to 52.4.0
diff --git a/rhbz-1219542-s390-build.patch b/rhbz-1219542-s390-build.patch
deleted file mode 100644
index 3734ce5..0000000
--- a/rhbz-1219542-s390-build.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -up firefox-43.0.3/js/src/configure.in.rhbz-1219542-s390
firefox-43.0.3/js/src/configure.in
---- firefox-43.0.3/js/src/configure.in.rhbz-1219542-s390 2015-12-23 17:11:01.000000000
-0500
-+++ firefox-43.0.3/js/src/configure.in 2016-01-03 08:08:27.139956990 -0500
-@@ -1466,7 +1466,7 @@ case "$host" in
-
- *-linux*|*-kfreebsd*-gnu|*-gnu*)
- HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
-- HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
-+ HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O1}"
- ;;
-
- *)
-@@ -1649,8 +1649,8 @@ ia64*-hpux*)
- # while; Intel recommends against using it.
- MOZ_OPTIMIZE_FLAGS="-O2"
- elif test "$GNU_CC" -o "$GNU_CXX"; then
-- MOZ_PGO_OPTIMIZE_FLAGS="-O3"
-- MOZ_OPTIMIZE_FLAGS="-O3"
-+ MOZ_PGO_OPTIMIZE_FLAGS="-O1"
-+ MOZ_OPTIMIZE_FLAGS="-O1"
- if test -z "$CLANG_CC"; then
- MOZ_OPTIMIZE_FLAGS="-freorder-blocks $MOZ_OPTIMIZE_FLAGS"
- fi
commit 0950c60ff02e93126d31182effb72a713793c76c
Author: Kalev Lember <klember(a)redhat.com>
Date: Thu Sep 28 14:58:03 2017 +0200
Update to 52.4.0
diff --git a/.gitignore b/.gitignore
index f3ade6a..bb1dfc5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/firefox-52.3.0esr.source.tar.xz
+/firefox-52.4.0esr.source.tar.xz
diff --git a/mozjs52.spec b/mozjs52.spec
index 2afa71e..117f553 100644
--- a/mozjs52.spec
+++ b/mozjs52.spec
@@ -6,7 +6,7 @@
%endif
Name: mozjs%{major}
-Version: 52.3.0
+Version: 52.4.0
Release: 1%{?dist}
Summary: SpiderMonkey JavaScript library
@@ -20,7 +20,6 @@ Patch0002: copy-headers.patch
# Patches from
https://github.com/ptomato/mozjs / Debian mozjs52_52.3.1-4.debian.tar.xz
Patch0101: disable-mozglue.patch
-Patch0102: remove-nspr-dependency.patch
Patch0103: tests-skip-on-all-64-bit-archs.patch
Patch0104: include-configure-script.patch
@@ -64,7 +63,6 @@ pushd ../..
%patch0002 -p1
%patch0101 -p1
-%patch0102 -p1
%patch0103 -p1
%patch0104 -p1
@@ -167,5 +165,8 @@ jit-test/jit_test.py -s -t 1800 --no-progress
../../js/src/js/src/shell/js basic
%{_includedir}/mozjs-%{major}/
%changelog
+* Thu Sep 28 2017 Kalev Lember <klember(a)redhat.com> - 52.4.0-1
+- Update to 52.4.0
+
* Wed Sep 20 2017 Kalev Lember <klember(a)redhat.com> - 52.3.0-1
- Initial Fedora packaging, based on earlier mozjs45 work
diff --git a/remove-nspr-dependency.patch b/remove-nspr-dependency.patch
deleted file mode 100644
index 5b1dd47..0000000
--- a/remove-nspr-dependency.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 4c5d336b44bc6122a6721905e77849ebd57eca78 Mon Sep 17 00:00:00 2001
-From: Philip Chimento <philip.chimento(a)gmail.com>
-Date: Wed, 5 Jul 2017 22:53:30 -0700
-Subject: [PATCH] build: Remove unnecessary NSPR dependency
-
-When SpiderMonkey is configured with --enable-posix-nspr-emulation, then
-the dependency on NSPR can be removed from the pkg-config file.
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1379539
----
- build/autoconf/nspr-build.m4 | 11 ++++++-----
- js/src/js.pc.in | 2 +-
- 2 files changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/build/autoconf/nspr-build.m4 b/build/autoconf/nspr-build.m4
-index fe6dab72..b733579c 100644
---- a/build/autoconf/nspr-build.m4
-+++ b/build/autoconf/nspr-build.m4
-@@ -177,11 +177,8 @@ AC_SUBST_LIST(NSPR_CFLAGS)
- AC_SUBST(NSPR_INCLUDE_DIR)
- AC_SUBST(NSPR_LIB_DIR)
-
--NSPR_PKGCONF_CHECK="nspr"
-+PKGCONF_REQUIRES_PRIVATE="Requires.private: nspr"
- if test -n "$MOZ_SYSTEM_NSPR"; then
-- # piggy back on $MOZ_SYSTEM_NSPR to set a variable for the nspr check for js.pc
-- NSPR_PKGCONF_CHECK="nspr >= $NSPR_MINVER"
--
- _SAVE_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS $NSPR_CFLAGS"
- AC_TRY_COMPILE([#include "prlog.h"],
-@@ -191,8 +188,12 @@ if test -n "$MOZ_SYSTEM_NSPR"; then
- ,
- AC_MSG_ERROR([system NSPR does not support PR_STATIC_ASSERT]))
- CFLAGS=$_SAVE_CFLAGS
-+ # piggy back on $MOZ_SYSTEM_NSPR to set a variable for the nspr check for js.pc
-+ PKGCONF_REQUIRES_PRIVATE="Requires.private: nspr >= $NSPR_MINVER"
-+elif test -n "$JS_POSIX_NSPR"; then
-+ PKGCONF_REQUIRES_PRIVATE=
- fi
--AC_SUBST(NSPR_PKGCONF_CHECK)
-+AC_SUBST([PKGCONF_REQUIRES_PRIVATE])
-
- fi # _IS_OUTER_CONFIGURE
-
-diff --git a/js/src/js.pc.in b/js/src/js.pc.in
-index 1efea334..2eae393a 100644
---- a/js/src/js.pc.in
-+++ b/js/src/js.pc.in
-@@ -6,6 +6,6 @@ includedir=@includedir@
- Name: SpiderMonkey @MOZILLA_VERSION@
- Description: The Mozilla library for JavaScript
- Version: @MOZILLA_VERSION@
--Requires.private: @NSPR_PKGCONF_CHECK@
-+@PKGCONF_REQUIRES_PRIVATE@
- Libs: -L${libdir} -l@JS_LIBRARY_NAME@
- Cflags: -include ${includedir}/@JS_LIBRARY_NAME(a)/js/RequiredDefines.h
-I${includedir}/@JS_LIBRARY_NAME@
-
diff --git a/sources b/sources
index ec1f3a5..3e50271 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (firefox-52.3.0esr.source.tar.xz) =
36da8f14b50334e36fca06e09f15583101cadd10e510268255587ea9b09b1fea918da034d6f1d439ab8c34612f6cebc409a0b8d812dddb3f997afebe64d09fe9
+SHA512 (firefox-52.4.0esr.source.tar.xz) =
be3be7f9dbf4bd0344d5d76f26d1a5090bb012154d25833d5cd58e5e707c080515b42ed751e1f7e58b15b96939d7da634cafb6e8aa9bb1627ff420836b802183
commit f893fb022139ece17f36955a068f4141cdcc9b4d
Author: Kalev Lember <klember(a)redhat.com>
Date: Wed Sep 20 22:10:39 2017 +0200
Initial import
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f3ade6a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/firefox-52.3.0esr.source.tar.xz
diff --git a/README.md b/README.md
deleted file mode 100644
index 3d1a722..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# mozjs52
-
-The mozjs52 package
\ No newline at end of file
diff --git a/build-icu-big-endian.patch b/build-icu-big-endian.patch
new file mode 100644
index 0000000..68fbea1
--- /dev/null
+++ b/build-icu-big-endian.patch
@@ -0,0 +1,12 @@
+diff -up mozilla-aurora/build/autoconf/icu.m4.icu-endian
mozilla-aurora/build/autoconf/icu.m4
+--- mozilla-aurora/build/autoconf/icu.m4.icu-endian 2016-12-09 09:11:01.227317790 +0100
++++ mozilla-aurora/build/autoconf/icu.m4 2016-12-09 09:18:40.608712247 +0100
+@@ -78,7 +78,7 @@ if test -n "$USE_ICU"; then
+ # TODO: the l is actually endian-dependent
+ # We could make this set as 'l' or 'b' for little or big,
respectively,
+ # but we'd need to check in a big-endian version of the file.
+- ICU_DATA_FILE="icudt${version}l.dat"
++ ICU_DATA_FILE="icudt${version}b.dat"
+
+ dnl We won't build ICU data as a separate file when building
+ dnl JS standalone so that embedders don't have to deal with it.
diff --git a/build-missing-xlocale-h.patch b/build-missing-xlocale-h.patch
new file mode 100644
index 0000000..b4a62b2
--- /dev/null
+++ b/build-missing-xlocale-h.patch
@@ -0,0 +1,12 @@
+diff -up thunderbird-52.3.0/mozilla/intl/icu/source/i18n/digitlst.cpp.xlocale
thunderbird-52.3.0/mozilla/intl/icu/source/i18n/digitlst.cpp
+--- thunderbird-52.3.0/mozilla/intl/icu/source/i18n/digitlst.cpp.xlocale 2017-08-24
14:42:48.634084293 +0200
++++ thunderbird-52.3.0/mozilla/intl/icu/source/i18n/digitlst.cpp 2017-08-24
14:42:50.534084676 +0200
+@@ -64,7 +64,7 @@
+ # if U_PLATFORM_USES_ONLY_WIN32_API || U_PLATFORM == U_PF_CYGWIN
+ # include <locale.h>
+ # else
+-# include <xlocale.h>
++# include <locale.h>
+ # endif
+ #endif
+
diff --git a/copy-headers.patch b/copy-headers.patch
new file mode 100644
index 0000000..69b2161
--- /dev/null
+++ b/copy-headers.patch
@@ -0,0 +1,30 @@
+From 8b2d7a77bfb4dbd513763501ed7e9722058ee9af Mon Sep 17 00:00:00 2001
+From: Rico Tzschichholz <ricotz(a)ubuntu.com>
+Date: Wed, 5 Jul 2017 22:45:59 -0700
+Subject: [PATCH] build: Copy headers on install instead of symlinking
+
+Patch ported forward to mozjs52 by Philip Chimento
+<philip.chimento(a)gmail.com>.
+---
+ python/mozbuild/mozbuild/backend/recursivemake.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py
b/python/mozbuild/mozbuild/backend/recursivemake.py
+index 132dcf94..33d489a6 100644
+--- a/python/mozbuild/mozbuild/backend/recursivemake.py
++++ b/python/mozbuild/mozbuild/backend/recursivemake.py
+@@ -1307,11 +1307,11 @@ def _process_final_target_files(self, obj, files, backend_file):
+ raise Exception("Wildcards are only supported in
the filename part of "
+ "srcdir-relative or absolute
paths.")
+
+- install_manifest.add_pattern_symlink(basepath, wild, path)
++ install_manifest.add_pattern_copy(basepath, wild, path)
+ else:
+- install_manifest.add_pattern_symlink(f.srcdir, f, path)
++ install_manifest.add_pattern_copy(f.srcdir, f, path)
+ else:
+- install_manifest.add_symlink(f.full_path, dest)
++ install_manifest.add_copy(f.full_path, dest)
+ else:
+ install_manifest.add_optional_exists(dest)
+ backend_file.write('%s_FILES += %s\n' % (
diff --git a/disable-mozglue.patch b/disable-mozglue.patch
new file mode 100644
index 0000000..8355cf4
--- /dev/null
+++ b/disable-mozglue.patch
@@ -0,0 +1,66 @@
+From 7e6d628456af3e99ebcb9a01a27e1461585082a4 Mon Sep 17 00:00:00 2001
+From: Till Schneidereit <till(a)tillschneidereit.net>
+Date: Thu, 1 Oct 2015 12:59:09 +0200
+Subject: [PATCH] Disable MOZ_GLUE_IN_PROGRAM in stand-alone builds on all
+ platforms
+
+Otherwise, build fails not being able to find HashBytes.
+
+Patch ported forward to mozjs52 by Philip Chimento
+<philip.chimento(a)gmail.com>.
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1176787
+---
+ js/src/old-configure.in | 23 ++++++++++++++---------
+ mozglue/build/moz.build | 2 +-
+ 2 files changed, 15 insertions(+), 10 deletions(-)
+
+diff --git a/js/src/old-configure.in b/js/src/old-configure.in
+index 1c5c9e21..ff0617e3 100644
+--- a/js/src/old-configure.in
++++ b/js/src/old-configure.in
+@@ -1623,16 +1623,21 @@ dnl ========================================================
+ dnl = Enable jemalloc
+ dnl ========================================================
+
+-case "${OS_TARGET}" in
+-Android|WINNT|Darwin)
++dnl In stand-alone builds we always only want to link executables against mozglue.
++if test "$JS_STANDALONE"; then
+ MOZ_GLUE_IN_PROGRAM=
+- ;;
+-*)
+- dnl On !Android !Windows !OSX, we only want to link executables against mozglue
+- MOZ_GLUE_IN_PROGRAM=1
+- AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
+- ;;
+-esac
++else
++ case "${OS_TARGET}" in
++ Android|WINNT|Darwin)
++ MOZ_GLUE_IN_PROGRAM=
++ ;;
++ *)
++ dnl On !Android !Windows !OSX, we only want to link executables against mozglue
++ MOZ_GLUE_IN_PROGRAM=1
++ AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
++ ;;
++ esac
++fi
+
+ if test "$MOZ_MEMORY"; then
+ if test "x$MOZ_DEBUG" = "x1"; then
+diff --git a/mozglue/build/moz.build b/mozglue/build/moz.build
+index d2897477..e3be5a2b 100644
+--- a/mozglue/build/moz.build
++++ b/mozglue/build/moz.build
+@@ -6,7 +6,7 @@
+
+ # Build mozglue as a shared lib on Windows, OSX and Android.
+ # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
+-if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin',
'Android'):
++if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android')
and not CONFIG['JS_STANDALONE']:
+ SharedLibrary('mozglue')
+ else:
+ Library('mozglue')
+
diff --git a/fix-soname.patch b/fix-soname.patch
new file mode 100644
index 0000000..a91107c
--- /dev/null
+++ b/fix-soname.patch
@@ -0,0 +1,34 @@
+From: Laszlo Boszormenyi (GCS) <gcs(a)debian.org>
+Date: Fri, 02 May 2014 22:20:45 +0200
+Subject: fix soname
+
+Add soname switch to linker, regardless of Operating System
+
+Bug-Debian:
http://bugs.debian.org/746705
+---
+ config/rules.mk | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+Index: mozjs52-52.2.1~artful1/config/rules.mk
+===================================================================
+--- mozjs52-52.2.1~artful1.orig/config/rules.mk
++++ mozjs52-52.2.1~artful1/config/rules.mk
+@@ -418,7 +418,7 @@ endif # AIX
+ #
+ # Linux: add -Bsymbolic flag for components
+ #
+-ifeq ($(OS_ARCH),Linux)
++#ifeq ($(OS_ARCH),Linux)
+ ifdef IS_COMPONENT
+ EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
+ endif
+@@ -426,7 +426,8 @@ ifdef LD_VERSION_SCRIPT
+ EXTRA_DSO_LDOPTS += -Wl,--version-script,$(LD_VERSION_SCRIPT)
+ EXTRA_DEPS += $(LD_VERSION_SCRIPT)
+ endif
+-endif
++#endif
++EXTRA_DSO_LDOPTS += -Wl,-soname,lib$(JS_LIBRARY_NAME).so.0
+
+ ifdef SYMBOLS_FILE
+ ifeq ($(OS_TARGET),WINNT)
diff --git a/include-configure-script.patch b/include-configure-script.patch
new file mode 100644
index 0000000..c24d7b1
--- /dev/null
+++ b/include-configure-script.patch
@@ -0,0 +1,48 @@
+From 4a06a1a6a71293decb83aee7adb74bc709493106 Mon Sep 17 00:00:00 2001
+From: Philip Chimento <philip.chimento(a)gmail.com>
+Date: Wed, 5 Jul 2017 22:57:09 -0700
+Subject: [PATCH] build: Include configure script, be nicer about options
+
+A configure script is not included in the SpiderMonkey tarball by
+default. Also, we have to account for JHbuild passing extra unknown
+options like --disable-Werror.
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1379540
+---
+ js/src/configure | 9 +++++++++
+ python/mozbuild/mozbuild/configure/__init__.py | 2 +-
+ python/mozbuild/mozbuild/configure/options.py | 6 +++++-
+ 3 files changed, 15 insertions(+), 2 deletions(-)
+ create mode 100755 js/src/configure
+
+diff --git a/python/mozbuild/mozbuild/configure/__init__.py
b/python/mozbuild/mozbuild/configure/__init__.py
+index 0fe640ca..09b460d3 100644
+--- a/python/mozbuild/mozbuild/configure/__init__.py
++++ b/python/mozbuild/mozbuild/configure/__init__.py
+@@ -356,7 +356,7 @@ def run(self, path=None):
+ # All options should have been removed (handled) by now.
+ for arg in self._helper:
+ without_value = arg.split('=', 1)[0]
+- raise InvalidOptionError('Unknown option: %s' % without_value)
++ print('Ignoring', without_value, ': Unknown option')
+
+ # Run the execution queue
+ for func, args in self._execution_queue:
+diff --git a/python/mozbuild/mozbuild/configure/options.py
b/python/mozbuild/mozbuild/configure/options.py
+index 4310c862..15bfe425 100644
+--- a/python/mozbuild/mozbuild/configure/options.py
++++ b/python/mozbuild/mozbuild/configure/options.py
+@@ -402,7 +402,11 @@ def __init__(self, environ=os.environ, argv=sys.argv):
+
+ def add(self, arg, origin='command-line', args=None):
+ assert origin != 'default'
+- prefix, name, values = Option.split_option(arg)
++ try:
++ prefix, name, values = Option.split_option(arg)
++ except InvalidOptionError as e:
++ print('Ignoring', arg, ':', e)
++ return
+ if args is None:
+ args = self._extra_args
+ if args is self._extra_args and name in self._extra_args:
+
diff --git a/mozilla-1253216.patch b/mozilla-1253216.patch
new file mode 100644
index 0000000..c9252da
--- /dev/null
+++ b/mozilla-1253216.patch
@@ -0,0 +1,12 @@
+diff -up firefox-48.0/js/src/jit/AtomicOperations.h.old
firefox-48.0/js/src/jit/AtomicOperations.h
+--- firefox-48.0/js/src/jit/AtomicOperations.h.old 2016-07-27 09:42:43.148175449 +0200
++++ firefox-48.0/js/src/jit/AtomicOperations.h 2016-07-27 09:41:13.000000000 +0200
+@@ -340,7 +340,7 @@ AtomicOperations::isLockfree(int32_t siz
+ # elif defined(__aarch64__)
+ # include "jit/arm64/AtomicOperations-arm64.h"
+ # else
+-# include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always
++# include "jit/none/AtomicOperations-ppc.h"
+ # endif
+ #elif defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64)
+ # include "jit/x86-shared/AtomicOperations-x86-shared.h"
diff --git a/mozjs52.spec b/mozjs52.spec
new file mode 100644
index 0000000..2afa71e
--- /dev/null
+++ b/mozjs52.spec
@@ -0,0 +1,171 @@
+%global major 52
+
+# Big endian platforms
+%ifarch ppc64 s390x
+%define big_endian 1
+%endif
+
+Name: mozjs%{major}
+Version: 52.3.0
+Release: 1%{?dist}
+Summary: SpiderMonkey JavaScript library
+
+License: MPLv2.0 and MPLv1.1 and BSD and GPLv2+ and GPLv3+ and LGPLv2.1 and
LGPLv2.1+ and AFL and ASL 2.0
+URL:
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
+Source0:
https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox...
+
+# Patches from Debian mozjs52_52.3.1-4.debian.tar.xz:
+Patch0001: fix-soname.patch
+Patch0002: copy-headers.patch
+
+# Patches from
https://github.com/ptomato/mozjs / Debian mozjs52_52.3.1-4.debian.tar.xz
+Patch0101: disable-mozglue.patch
+Patch0102: remove-nspr-dependency.patch
+Patch0103: tests-skip-on-all-64-bit-archs.patch
+Patch0104: include-configure-script.patch
+
+# Patches from Fedora firefox package:
+Patch18: xulrunner-24.0-jemalloc-ppc.patch
+Patch19: xulrunner-24.0-s390-inlines.patch
+Patch25: rhbz-1219542-s390-build.patch
+Patch26: build-icu-big-endian.patch
+Patch36: build-missing-xlocale-h.patch
+Patch304: mozilla-1253216.patch
+
+BuildRequires: autoconf213
+BuildRequires: perl-devel
+BuildRequires: pkgconfig(libffi)
+BuildRequires: pkgconfig(zlib)
+BuildRequires: python2-devel
+BuildRequires: readline-devel
+BuildRequires: /usr/bin/zip
+
+# Firefox does not allow to build with system version of jemalloc
+Provides: bundled(jemalloc) = 4.3.1
+
+%description
+SpiderMonkey is the code-name for Mozilla Firefox's C++ implementation of
+JavaScript. It is intended to be embedded in other applications
+that provide host environments for JavaScript.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+%prep
+%setup -q -n firefox-%{version}esr/js/src
+
+pushd ../..
+%patch0001 -p1
+%patch0002 -p1
+
+%patch0101 -p1
+%patch0102 -p1
+%patch0103 -p1
+%patch0104 -p1
+
+%patch18 -p1 -b .jemalloc-ppc
+%patch19 -p2 -b .s390-inlines
+%ifarch s390
+%patch25 -p1 -b .rhbz-1219542-s390
+%endif
+
+# Patch for big endian platforms only
+%if 0%{?big_endian}
+%patch26 -p1 -b .icu
+%patch36 -p2 -b .xlocale
+%endif
+
+%patch304 -p1 -b .1253216
+popd
+
+# Remove zlib directory (to be sure using system version)
+rm -rf ../../modules/zlib
+
+%build
+# Disable null pointer gcc6 optimization in gcc6 (rhbz#1328045)
+export CFLAGS="%{optflags} -fno-tree-vrp -fno-strict-aliasing
-fno-delete-null-pointer-checks"
+export CXXFLAGS=$CFLAGS
+LINKFLAGS="%{?__global_ldflags}"
+export PYTHON=/usr/bin/python2
+
+autoconf-2.13
+%configure \
+ --without-system-icu \
+ --enable-posix-nspr-emulation \
+ --with-system-zlib \
+ --enable-tests \
+ --disable-strip \
+ --with-intl-api \
+ --enable-readline \
+ --enable-shared-js \
+ --disable-optimize \
+ --enable-pie \
+%ifarch s390 s390x
+ --disable-jemalloc \
+%endif
+%ifarch %{arm} aarch64 ppc ppc64 ppc64le
+ --disable-ion
+%endif
+
+%if 0%{?big_endian}
+echo "Generate big endian version of config/external/icu/data/icud58l.dat"
+pushd ../..
+ ./mach python intl/icu_sources_data.py .
+ ls -l config/external/icu/data
+ rm -f config/external/icu/data/icudt*l.dat
+popd
+%endif
+
+%make_build
+
+%install
+%make_install
+
+# Fix permissions
+chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc
+
+# We only need the shared library
+rm %{buildroot}%{_bindir}/js*
+rm %{buildroot}%{_libdir}/libjs_static.ajs
+
+# Rename library and create symlinks, following fix-soname.patch
+mv %{buildroot}%{_libdir}/libmozjs-52.so \
+ %{buildroot}%{_libdir}/libmozjs-52.so.0.0.0
+ln -s libmozjs-52.so.0.0.0 %{buildroot}%{_libdir}/libmozjs-52.so.0
+ln -s libmozjs-52.so.0 %{buildroot}%{_libdir}/libmozjs-52.so
+
+%check
+# Run SpiderMonkey tests
+%ifarch %{ix86} x86_64 %{arm} aarch64
+tests/jstests.py -d -s -t 1800 --no-progress ../../js/src/js/src/shell/js
+%else
+tests/jstests.py -d -s -t 1800 --no-progress ../../js/src/js/src/shell/js || :
+%endif
+
+# Run basic JIT tests
+%ifarch %{ix86} x86_64 %{arm} aarch64
+jit-test/jit_test.py -s -t 1800 --no-progress ../../js/src/js/src/shell/js basic
+%else
+jit-test/jit_test.py -s -t 1800 --no-progress ../../js/src/js/src/shell/js basic || :
+%endif
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files
+%doc README.html
+%{_libdir}/libmozjs-%{major}.so.0*
+
+%files devel
+%{_libdir}/libmozjs-%{major}.so
+%{_libdir}/pkgconfig/*.pc
+%{_includedir}/mozjs-%{major}/
+
+%changelog
+* Wed Sep 20 2017 Kalev Lember <klember(a)redhat.com> - 52.3.0-1
+- Initial Fedora packaging, based on earlier mozjs45 work
diff --git a/remove-nspr-dependency.patch b/remove-nspr-dependency.patch
new file mode 100644
index 0000000..5b1dd47
--- /dev/null
+++ b/remove-nspr-dependency.patch
@@ -0,0 +1,58 @@
+From 4c5d336b44bc6122a6721905e77849ebd57eca78 Mon Sep 17 00:00:00 2001
+From: Philip Chimento <philip.chimento(a)gmail.com>
+Date: Wed, 5 Jul 2017 22:53:30 -0700
+Subject: [PATCH] build: Remove unnecessary NSPR dependency
+
+When SpiderMonkey is configured with --enable-posix-nspr-emulation, then
+the dependency on NSPR can be removed from the pkg-config file.
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1379539
+---
+ build/autoconf/nspr-build.m4 | 11 ++++++-----
+ js/src/js.pc.in | 2 +-
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/build/autoconf/nspr-build.m4 b/build/autoconf/nspr-build.m4
+index fe6dab72..b733579c 100644
+--- a/build/autoconf/nspr-build.m4
++++ b/build/autoconf/nspr-build.m4
+@@ -177,11 +177,8 @@ AC_SUBST_LIST(NSPR_CFLAGS)
+ AC_SUBST(NSPR_INCLUDE_DIR)
+ AC_SUBST(NSPR_LIB_DIR)
+
+-NSPR_PKGCONF_CHECK="nspr"
++PKGCONF_REQUIRES_PRIVATE="Requires.private: nspr"
+ if test -n "$MOZ_SYSTEM_NSPR"; then
+- # piggy back on $MOZ_SYSTEM_NSPR to set a variable for the nspr check for js.pc
+- NSPR_PKGCONF_CHECK="nspr >= $NSPR_MINVER"
+-
+ _SAVE_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $NSPR_CFLAGS"
+ AC_TRY_COMPILE([#include "prlog.h"],
+@@ -191,8 +188,12 @@ if test -n "$MOZ_SYSTEM_NSPR"; then
+ ,
+ AC_MSG_ERROR([system NSPR does not support PR_STATIC_ASSERT]))
+ CFLAGS=$_SAVE_CFLAGS
++ # piggy back on $MOZ_SYSTEM_NSPR to set a variable for the nspr check for js.pc
++ PKGCONF_REQUIRES_PRIVATE="Requires.private: nspr >= $NSPR_MINVER"
++elif test -n "$JS_POSIX_NSPR"; then
++ PKGCONF_REQUIRES_PRIVATE=
+ fi
+-AC_SUBST(NSPR_PKGCONF_CHECK)
++AC_SUBST([PKGCONF_REQUIRES_PRIVATE])
+
+ fi # _IS_OUTER_CONFIGURE
+
+diff --git a/js/src/js.pc.in b/js/src/js.pc.in
+index 1efea334..2eae393a 100644
+--- a/js/src/js.pc.in
++++ b/js/src/js.pc.in
+@@ -6,6 +6,6 @@ includedir=@includedir@
+ Name: SpiderMonkey @MOZILLA_VERSION@
+ Description: The Mozilla library for JavaScript
+ Version: @MOZILLA_VERSION@
+-Requires.private: @NSPR_PKGCONF_CHECK@
++@PKGCONF_REQUIRES_PRIVATE@
+ Libs: -L${libdir} -l@JS_LIBRARY_NAME@
+ Cflags: -include ${includedir}/@JS_LIBRARY_NAME(a)/js/RequiredDefines.h
-I${includedir}/@JS_LIBRARY_NAME@
+
diff --git a/rhbz-1219542-s390-build.patch b/rhbz-1219542-s390-build.patch
new file mode 100644
index 0000000..3734ce5
--- /dev/null
+++ b/rhbz-1219542-s390-build.patch
@@ -0,0 +1,23 @@
+diff -up firefox-43.0.3/js/src/configure.in.rhbz-1219542-s390
firefox-43.0.3/js/src/configure.in
+--- firefox-43.0.3/js/src/configure.in.rhbz-1219542-s390 2015-12-23 17:11:01.000000000
-0500
++++ firefox-43.0.3/js/src/configure.in 2016-01-03 08:08:27.139956990 -0500
+@@ -1466,7 +1466,7 @@ case "$host" in
+
+ *-linux*|*-kfreebsd*-gnu|*-gnu*)
+ HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
+- HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
++ HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O1}"
+ ;;
+
+ *)
+@@ -1649,8 +1649,8 @@ ia64*-hpux*)
+ # while; Intel recommends against using it.
+ MOZ_OPTIMIZE_FLAGS="-O2"
+ elif test "$GNU_CC" -o "$GNU_CXX"; then
+- MOZ_PGO_OPTIMIZE_FLAGS="-O3"
+- MOZ_OPTIMIZE_FLAGS="-O3"
++ MOZ_PGO_OPTIMIZE_FLAGS="-O1"
++ MOZ_OPTIMIZE_FLAGS="-O1"
+ if test -z "$CLANG_CC"; then
+ MOZ_OPTIMIZE_FLAGS="-freorder-blocks $MOZ_OPTIMIZE_FLAGS"
+ fi
diff --git a/sources b/sources
new file mode 100644
index 0000000..ec1f3a5
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (firefox-52.3.0esr.source.tar.xz) =
36da8f14b50334e36fca06e09f15583101cadd10e510268255587ea9b09b1fea918da034d6f1d439ab8c34612f6cebc409a0b8d812dddb3f997afebe64d09fe9
diff --git a/tests-skip-on-all-64-bit-archs.patch b/tests-skip-on-all-64-bit-archs.patch
new file mode 100644
index 0000000..8630b54
--- /dev/null
+++ b/tests-skip-on-all-64-bit-archs.patch
@@ -0,0 +1,49 @@
+From 8e7f8d3c651028a2fd1e6e8eb8960f2ca0d3e266 Mon Sep 17 00:00:00 2001
+From: Marcin Juszkiewicz <mjuszkiewicz(a)redhat.com>
+Date: Wed, 5 Jul 2017 21:05:27 -0700
+Subject: [PATCH] tests: Skip on all 64-bit archs
+
+Tests that are skipped on x86_64 should be skipped on all 64-bit
+architectures.
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1357593
+
+Taken from Fedora:
+http://pkgs.fedoraproject.org/cgit/rpms/mozjs38.git/tree/fix-64bit-archs.patch
+---
+ js/src/tests/js1_5/Array/regress-157652.js | 2 +-
+ js/src/tests/js1_5/Array/regress-330812.js | 2 +-
+ js/src/tests/js1_5/Regress/regress-422348.js | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/js/src/tests/js1_5/Array/regress-157652.js
b/js/src/tests/js1_5/Array/regress-157652.js
+index 0bdba8fd..9d77802c 100644
+--- a/js/src/tests/js1_5/Array/regress-157652.js
++++ b/js/src/tests/js1_5/Array/regress-157652.js
+@@ -1,4 +1,4 @@
+-// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)||Android) -- No test results
++// |reftest|
skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No
test results
+ /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+ /* 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
+diff --git a/js/src/tests/js1_5/Array/regress-330812.js
b/js/src/tests/js1_5/Array/regress-330812.js
+index 3a392976..c48f4c88 100644
+--- a/js/src/tests/js1_5/Array/regress-330812.js
++++ b/js/src/tests/js1_5/Array/regress-330812.js
+@@ -1,4 +1,4 @@
+-// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)||Android) -- No test results
++// |reftest|
skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No
test results
+ /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+ /* 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
+diff --git a/js/src/tests/js1_5/Regress/regress-422348.js
b/js/src/tests/js1_5/Regress/regress-422348.js
+index f2443c28..7ae83f4a 100644
+--- a/js/src/tests/js1_5/Regress/regress-422348.js
++++ b/js/src/tests/js1_5/Regress/regress-422348.js
+@@ -1,4 +1,4 @@
+-// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)) -- On 64-bit, takes forever
rather than throwing
++// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)) --
On 64-bit, takes forever rather than throwing
+ /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+ /* 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
+
diff --git a/xulrunner-24.0-jemalloc-ppc.patch b/xulrunner-24.0-jemalloc-ppc.patch
new file mode 100644
index 0000000..b2aaae6
--- /dev/null
+++ b/xulrunner-24.0-jemalloc-ppc.patch
@@ -0,0 +1,12 @@
+diff -up firefox-48.0/memory/mozjemalloc/jemalloc.c.jemalloc-ppc
firefox-48.0/memory/mozjemalloc/jemalloc.c
+--- firefox-48.0/memory/mozjemalloc/jemalloc.c.jemalloc-ppc 2016-07-26 10:51:46.385434384
+0200
++++ firefox-48.0/memory/mozjemalloc/jemalloc.c 2016-07-26 10:53:49.061023106 +0200
+@@ -1090,7 +1090,7 @@ static const bool config_recycle = false
+ * controlling the malloc behavior are defined as compile-time constants
+ * for best performance and cannot be altered at runtime.
+ */
+-#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__)
&& !defined(__aarch64__)
++#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__)
&& !defined(__aarch64__) && !(defined(__powerpc__))
+ #define MALLOC_STATIC_SIZES 1
+ #endif
+
diff --git a/xulrunner-24.0-s390-inlines.patch b/xulrunner-24.0-s390-inlines.patch
new file mode 100644
index 0000000..074f8d9
--- /dev/null
+++ b/xulrunner-24.0-s390-inlines.patch
@@ -0,0 +1,12 @@
+diff -up xulrunner-25.0/mozilla-release/js/src/vm/SPSProfiler.cpp.s390-inlines
xulrunner-25.0/mozilla-release/js/src/vm/SPSProfiler.cpp
+--- xulrunner-25.0/mozilla-release/js/src/vm/SPSProfiler.cpp.s390-inlines 2013-10-23
16:04:01.773093979 +0200
++++ xulrunner-25.0/mozilla-release/js/src/vm/SPSProfiler.cpp 2013-10-23
16:04:44.551134551 +0200
+@@ -4,6 +4,8 @@
+ * 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/. */
+
++#include "jscntxtinlines.h"
++
+ #include "vm/SPSProfiler.h"
+
+ #include "mozilla/DebugOnly.h"