summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firefox-ppc64le.patch28
-rw-r--r--firefox.spec11
-rw-r--r--mozilla-1005535.patch194
-rw-r--r--mozilla-1108834.patch11
4 files changed, 243 insertions, 1 deletions
diff --git a/firefox-ppc64le.patch b/firefox-ppc64le.patch
new file mode 100644
index 0000000..6465eec
--- /dev/null
+++ b/firefox-ppc64le.patch
@@ -0,0 +1,28 @@
+diff -up firefox-36.0/mozilla-release/gfx/skia/trunk/include/core/SkPreConfig.h.ppc64le firefox-36.0/mozilla-release/gfx/skia/trunk/include/core/SkPreConfig.h
+--- firefox-36.0/mozilla-release/gfx/skia/trunk/include/core/SkPreConfig.h.ppc64le 2015-02-20 03:01:40.000000000 +0100
++++ firefox-36.0/mozilla-release/gfx/skia/trunk/include/core/SkPreConfig.h 2015-03-06 15:52:58.298050379 +0100
+@@ -90,6 +90,13 @@
+ #endif
+
+ //////////////////////////////////////////////////////////////////////
++#if !defined(SK_CPU_BENDIAN) && !defined(SK_CPU_LENDIAN)
++ #if defined(__BIG_ENDIAN__)
++ #define SK_CPU_BENDIAN
++ #elif defined(__LITTLE_ENDIAN__)
++ #define SK_CPU_LENDIAN
++ #endif
++#endif
+
+ #if !defined(SK_CPU_BENDIAN) && !defined(SK_CPU_LENDIAN)
+ #if defined(__sparc) || defined(__sparc__) || \
+diff -up firefox-36.0/mozilla-release/js/src/jsdtoa.cpp.ppc64le firefox-36.0/mozilla-release/js/src/jsdtoa.cpp
+--- firefox-36.0/mozilla-release/js/src/jsdtoa.cpp.ppc64le 2015-02-20 03:01:49.000000000 +0100
++++ firefox-36.0/mozilla-release/js/src/jsdtoa.cpp 2015-03-06 15:54:38.348048226 +0100
+@@ -52,6 +52,7 @@ static inline void dtoa_free(void* p) {
+ #define MALLOC dtoa_malloc
+ #define FREE dtoa_free
+ #include "dtoa.c"
++#undef CONST
+
+ /* Mapping of JSDToStrMode -> js_dtoa mode */
+ static const uint8_t dtoaModes[] = {
diff --git a/firefox.spec b/firefox.spec
index 917d6f7..05af1a1 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -107,7 +107,7 @@
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 36.0
-Release: 3%{?pre_tag}%{?dist}
+Release: 4%{?pre_tag}%{?dist}
URL: http://www.mozilla.org/projects/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Group: Applications/Internet
@@ -133,6 +133,9 @@ Patch18: xulrunner-24.0-jemalloc-ppc.patch
# workaround linking issue on s390 (JSContext::updateMallocCounter(size_t) not found)
Patch19: xulrunner-24.0-s390-inlines.patch
Patch20: firefox-build-prbool.patch
+Patch21: firefox-ppc64le.patch
+Patch22: mozilla-1108834.patch
+Patch23: mozilla-1005535.patch
# Fedora specific patches
# Unable to install addons from https pages
@@ -287,6 +290,9 @@ cd %{tarballdir}
%patch18 -p2 -b .jemalloc-ppc
%patch19 -p2 -b .s390-inlines
%patch20 -p1 -b .prbool
+%patch21 -p2 -b .ppc64le
+%patch22 -p2 -b .1108834
+%patch23 -p1 -b .1005535
# For branding specific patches.
@@ -765,6 +771,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
+* Fri Mar 6 2015 Martin Stransky <stransky@redhat.com> - 36.0-4
+- ppc64le build fix
+
* Thu Mar 5 2015 Martin Stransky <stransky@redhat.com> - 36.0-3
- Added back the removed "-remote" option
- Fixed rhbz#1198965 - mozilla-xremote-client has been removed,
diff --git a/mozilla-1005535.patch b/mozilla-1005535.patch
new file mode 100644
index 0000000..2f0381b
--- /dev/null
+++ b/mozilla-1005535.patch
@@ -0,0 +1,194 @@
+# HG changeset patch
+# Parent b7eb1ce0237d6125b75bc8ff1cb3afc328d6e78c
+# User Steve Singer <steve@ssinger.info>
+Bug 1005535 - Get skia GPU building on big endian.
+
+diff --git a/configure.in b/configure.in
+--- a/configure.in
++++ b/configure.in
+@@ -8231,21 +8231,21 @@ dnl Skia
+ dnl ========================================================
+ if test "$MOZ_ENABLE_SKIA"; then
+ AC_DEFINE(MOZ_ENABLE_SKIA)
+ AC_DEFINE(USE_SKIA)
+ if test "${MOZ_WIDGET_TOOLKIT}" = "android" -o x"$MOZ_WIDGET_TOOLKIT" = x"gonk"; then
+ AC_DEFINE(SK_BUILD_FOR_ANDROID_NDK)
+ fi
+
+- if test "${CPU_ARCH}" != "ppc" -a "${CPU_ARCH}" != "ppc64" -a "${CPU_ARCH}" != "sparc" -a -z "$MOZ_DISABLE_SKIA_GPU" ; then
++# if test "${CPU_ARCH}" != "ppc" -a "${CPU_ARCH}" != "ppc64" -a "${CPU_ARCH}" != "sparc" -a -z "$MOZ_DISABLE_SKIA_GPU" ; then
+ MOZ_ENABLE_SKIA_GPU=1
+ AC_DEFINE(USE_SKIA_GPU)
+ AC_SUBST(MOZ_ENABLE_SKIA_GPU)
+- fi
++# fi
+ fi
+ AC_SUBST(MOZ_ENABLE_SKIA)
+
+ dnl ========================================================
+ dnl disable xul
+ dnl ========================================================
+ MOZ_ARG_DISABLE_BOOL(xul,
+ [ --disable-xul Disable XUL],
+diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py
+--- a/gfx/skia/generate_mozbuild.py
++++ b/gfx/skia/generate_mozbuild.py
+@@ -236,17 +236,17 @@ def generate_separated_sources(platform_
+ return True
+
+ return False
+
+ separated = {
+ 'common': {
+ #'trunk/src/effects/gradients/SkGradientTileProc.cpp',
+ 'trunk/src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
+- 'trunk/src/ports/SkDiscardableMemory_none.cpp',
++ #'trunk/src/ports/SkDiscardableMemory_none.cpp',
+ 'trunk/src/ports/SkImageDecoder_empty.cpp',
+ 'trunk/src/ports/SkMemory_mozalloc.cpp',
+ # 'trunk/src/images/SkImages.cpp',
+ # 'trunk/src/images/SkImageRef.cpp',
+ # 'trunk/src/images/SkImageRef_GlobalPool.cpp',
+ # 'trunk/src/images/SkImageRefPool.cpp',
+ # 'trunk/src/images/SkImageDecoder.cpp',
+ # 'trunk/src/images/SkImageDecoder_Factory.cpp',
+diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build
+--- a/gfx/skia/moz.build
++++ b/gfx/skia/moz.build
+@@ -847,17 +847,16 @@ else:
+ 'trunk/src/opts/SkBitmapProcState_opts_none.cpp',
+ 'trunk/src/opts/SkBlitMask_opts_none.cpp',
+ 'trunk/src/opts/SkBlitRow_opts_none.cpp',
+ 'trunk/src/opts/SkBlurImage_opts_none.cpp',
+ 'trunk/src/opts/SkMorphology_opts_none.cpp',
+ 'trunk/src/opts/SkTextureCompression_opts_none.cpp',
+ 'trunk/src/opts/SkUtils_opts_none.cpp',
+ 'trunk/src/opts/SkXfermode_opts_none.cpp',
+- 'trunk/src/ports/SkDiscardableMemory_none.cpp',
+ ]
+
+
+ # can we find a better way of dealing with asm sources?
+
+ # left out of UNIFIED_SOURCES for now; that's not C++ anyway, nothing else to unify it with
+ if not CONFIG['INTEL_ARCHITECTURE'] and CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_CC']:
+ SOURCES += [
+diff --git a/gfx/skia/trunk/include/config/SkUserConfig.h b/gfx/skia/trunk/include/config/SkUserConfig.h
+--- a/gfx/skia/trunk/include/config/SkUserConfig.h
++++ b/gfx/skia/trunk/include/config/SkUserConfig.h
+@@ -192,16 +192,17 @@
+
+ #if defined(SK_CPU_ARM32) || defined(SK_CPU_ARM64)
+ # define SK_BARRIERS_PLATFORM_H "skia/SkBarriers_arm.h"
+ #else
+ # define SK_BARRIERS_PLATFORM_H "skia/SkBarriers_x86.h"
+ #endif
+
+ // On all platforms we have this byte order
++
+ #define SK_A32_SHIFT 24
+ #define SK_R32_SHIFT 16
+ #define SK_G32_SHIFT 8
+ #define SK_B32_SHIFT 0
+
+ #define SK_ALLOW_STATIC_GLOBAL_INITIALIZERS 0
+
+ #define SK_SUPPORT_LEGACY_GETDEVICE
+diff --git a/gfx/skia/trunk/include/core/SkColorPriv.h b/gfx/skia/trunk/include/core/SkColorPriv.h
+--- a/gfx/skia/trunk/include/core/SkColorPriv.h
++++ b/gfx/skia/trunk/include/core/SkColorPriv.h
+@@ -27,37 +27,27 @@
+ * For easier compatibility with Skia's GPU backend, we further restrict these
+ * to either (in memory-byte-order) RGBA or BGRA. Note that this "order" does
+ * not directly correspond to the same shift-order, since we have to take endianess
+ * into account.
+ *
+ * Here we enforce this constraint.
+ */
+
+-#ifdef SK_CPU_BENDIAN
+- #define SK_RGBA_R32_SHIFT 24
+- #define SK_RGBA_G32_SHIFT 16
+- #define SK_RGBA_B32_SHIFT 8
+- #define SK_RGBA_A32_SHIFT 0
+
+- #define SK_BGRA_B32_SHIFT 24
+- #define SK_BGRA_G32_SHIFT 16
+- #define SK_BGRA_R32_SHIFT 8
+- #define SK_BGRA_A32_SHIFT 0
+-#else
+ #define SK_RGBA_R32_SHIFT 0
+ #define SK_RGBA_G32_SHIFT 8
+ #define SK_RGBA_B32_SHIFT 16
+ #define SK_RGBA_A32_SHIFT 24
+
+ #define SK_BGRA_B32_SHIFT 0
+ #define SK_BGRA_G32_SHIFT 8
+ #define SK_BGRA_R32_SHIFT 16
+ #define SK_BGRA_A32_SHIFT 24
+-#endif
++
+
+ #if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA)
+ #error "can't define PMCOLOR to be RGBA and BGRA"
+ #endif
+
+ #define LOCAL_PMCOLOR_SHIFTS_EQUIVALENT_TO_RGBA \
+ (SK_A32_SHIFT == SK_RGBA_A32_SHIFT && \
+ SK_R32_SHIFT == SK_RGBA_R32_SHIFT && \
+diff --git a/gfx/skia/trunk/include/core/SkImageInfo.h b/gfx/skia/trunk/include/core/SkImageInfo.h
+--- a/gfx/skia/trunk/include/core/SkImageInfo.h
++++ b/gfx/skia/trunk/include/core/SkImageInfo.h
+@@ -83,19 +83,20 @@ enum SkColorType {
+
+ kLastEnum_SkColorType = kIndex_8_SkColorType,
+
+ #if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
+ kN32_SkColorType = kBGRA_8888_SkColorType,
+ #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
+ kN32_SkColorType = kRGBA_8888_SkColorType,
+ #else
+-#error "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
++ kN32_SkColorType = kBGRA_8888_SkColorType
+ #endif
+
++
+ #ifdef SK_SUPPORT_LEGACY_N32_NAME
+ kPMColor_SkColorType = kN32_SkColorType
+ #endif
+ };
+
+ static int SkColorTypeBytesPerPixel(SkColorType ct) {
+ static const uint8_t gSize[] = {
+ 0, // Unknown
+diff --git a/gfx/skia/trunk/include/gpu/GrTypes.h b/gfx/skia/trunk/include/gpu/GrTypes.h
+--- a/gfx/skia/trunk/include/gpu/GrTypes.h
++++ b/gfx/skia/trunk/include/gpu/GrTypes.h
+@@ -304,25 +304,23 @@ enum GrPixelConfig {
+ * Byte order is r, g, b, a. This color format is 32 bits per channel
+ */
+ kRGBA_float_GrPixelConfig,
+ kLast_GrPixelConfig = kRGBA_float_GrPixelConfig
+ };
+ static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1;
+
+ // Aliases for pixel configs that match skia's byte order.
+-#ifndef SK_CPU_LENDIAN
+- #error "Skia gpu currently assumes little endian"
+-#endif
++
+ #if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
+ static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
+ #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
+ static const GrPixelConfig kSkia8888_GrPixelConfig = kRGBA_8888_GrPixelConfig;
+ #else
+- #error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA format."
++ static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
+ #endif
+
+ // Returns true if the pixel config is a GPU-specific compressed format
+ // representation.
+ static inline bool GrPixelConfigIsCompressed(GrPixelConfig config) {
+ switch (config) {
+ case kETC1_GrPixelConfig:
+ case kLATC_GrPixelConfig:
diff --git a/mozilla-1108834.patch b/mozilla-1108834.patch
new file mode 100644
index 0000000..87edc57
--- /dev/null
+++ b/mozilla-1108834.patch
@@ -0,0 +1,11 @@
+diff -up firefox-36.0/mozilla-release/js/src/jit/none/Lowering-none.h.old firefox-36.0/mozilla-release/js/src/jit/none/Lowering-none.h
+--- firefox-36.0/mozilla-release/js/src/jit/none/Lowering-none.h.old 2015-02-20 03:01:48.000000000 +0100
++++ firefox-36.0/mozilla-release/js/src/jit/none/Lowering-none.h 2015-03-06 12:00:43.486675228 +0100
+@@ -89,6 +89,7 @@ class LIRGeneratorNone : public LIRGener
+ bool visitSimdTernaryBitwise(MSimdTernaryBitwise *ins) { MOZ_CRASH(); }
+ bool visitSimdSplatX4(MSimdSplatX4 *ins) { MOZ_CRASH(); }
+ bool visitSimdValueX4(MSimdValueX4 *lir) { MOZ_CRASH(); }
++ bool visitSubstr(MSubstr *) { MOZ_CRASH(); }
+ };
+
+ typedef LIRGeneratorNone LIRGeneratorSpecific;
bgstack15