From beb0cf35fd1dde12303acd0767a3f09bac135524 Mon Sep 17 00:00:00 2001 From: Jan Horak Date: Mar 07 2017 11:59:47 +0000 Subject: Fixed missing big endian icu 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/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 - 52.0-2 +- Added fix for libicu on big endian platforms + * Fri Mar 3 2017 Martin Stransky - 52.0-1 - Update to 52.0 (B2)