summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build-icu-big-endian.patch12
-rw-r--r--firefox.spec23
2 files changed, 35 insertions, 0 deletions
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/firefox.spec b/firefox.spec
index 6b232a9..4b72d3e 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -26,6 +26,13 @@
%define system_libicu 0
%endif
+# Big endian platforms
+%ifarch ppc64
+# Javascript Intl API is not supported on big endian platforms right now:
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1322212
+%define big_endian 1
+%endif
+
# Hardened build?
%if 0%{?fedora} > 20
%define hardened_build 1
@@ -120,6 +127,7 @@ Patch19: xulrunner-24.0-s390-inlines.patch
Patch20: firefox-build-prbool.patch
Patch24: firefox-debug.patch
Patch25: rhbz-1219542-s390-build.patch
+Patch26: build-icu-big-endian.patch
# Fedora specific patches
# Unable to install addons from https pages
@@ -306,6 +314,11 @@ cd %{tarballdir}
# Debian extension patch
%patch500 -p1 -b .440908
+# Patch for big endian platforms only
+%if 0%{?big_endian}
+%patch26 -p1 -b .icu
+%endif
+
%{__rm} -f .mozconfig
%{__cp} %{SOURCE10} .mozconfig
%if %{official_branding}
@@ -426,6 +439,13 @@ esac
cd %{tarballdir}
+echo "Generate big endian version of config/external/icu/data/icud58l.dat"
+%if 0%{?big_endian}
+ ./mach python intl/icu_sources_data.py .
+ ls -l config/external/icu/data
+ rm -f config/external/icu/data/icudt*l.dat
+%endif
+
# Update the various config.guess to upstream release for aarch64 support
find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
@@ -804,6 +824,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
+* Tue Mar 7 2017 Jan Horak <jhorak@redhat.com> - 52.0-2
+- Added fix for libicu on big endian platforms
+
* Fri Mar 3 2017 Martin Stransky <stransky@redhat.com> - 52.0-1
- Update to 52.0 (B2)
bgstack15