[thunderbird] add xulrunner patches for secondary arches

Dan Horák sharkcz at fedoraproject.org
Wed Jul 20 08:41:17 UTC 2011


commit fda3b5ff13108d132c7e705ba35ec273861feae6
Author: Dan Horák <dan at danny.cz>
Date:   Wed Jul 20 10:41:04 2011 +0200

    add xulrunner patches for secondary arches

 mozilla-build-s390.patch          |   11 ------
 thunderbird.spec                  |   14 +++++---
 xulrunner-2.0-secondary-jit.patch |   14 ++++++++
 xulrunner-5.0-secondary-ipc.patch |   63 +++++++++++++++++++++++++++++++++++++
 4 files changed, 86 insertions(+), 16 deletions(-)
---
diff --git a/thunderbird.spec b/thunderbird.spec
index e6a80e0..6e85e2b 100644
--- a/thunderbird.spec
+++ b/thunderbird.spec
@@ -36,7 +36,7 @@
 Summary:        Mozilla Thunderbird mail/newsgroup client
 Name:           thunderbird
 Version:        5.0
-Release:        1%{?dist}
+Release:        2%{?dist}
 URL:            http://www.mozilla.org/projects/thunderbird/
 License:        MPLv1.1 or GPLv2+ or LGPLv2+
 Group:          Applications/Internet
@@ -59,8 +59,10 @@ Source100:      find-external-requires
 
 # Mozilla (XULRunner) patches
 Patch0:         thunderbird-version.patch
-Patch6:         mozilla-build-s390.patch
 Patch7:         crashreporter-remove-static.patch
+# secondary arch patches inherited from xulrunner
+Patch8:         xulrunner-2.0-secondary-jit.patch
+Patch9:         xulrunner-5.0-secondary-ipc.patch
 
 %if %{official_branding}
 # Required by Mozilla Corporation
@@ -140,10 +142,9 @@ sed -e 's/__RPM_VERSION_INTERNAL__/%{version_internal}/' %{P:%%PATCH0} \
 
 # Mozilla (XULRunner) patches
 cd mozilla
-%ifarch s390
-%patch6 -p1 -b .s390
-%endif
 %patch7 -p2 -b .static
+%patch8 -p2 -b .secondary-jit
+%patch9 -p2 -b .secondary-ipc
 cd ..
 
 %if %{official_branding}
@@ -360,6 +361,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 #===============================================================================
 
 %changelog
+* Wed Jul 20 2011 Dan Horák <dan[at]danny.cz> - 5.0-2
+- add xulrunner patches for secondary arches
+
 * Tue Jun 28 2011 Jan Horak <jhorak at redhat.com> - 5.0-1
 - Update to 5.0
 
diff --git a/xulrunner-2.0-secondary-jit.patch b/xulrunner-2.0-secondary-jit.patch
new file mode 100644
index 0000000..4456fa7
--- /dev/null
+++ b/xulrunner-2.0-secondary-jit.patch
@@ -0,0 +1,14 @@
+https://bugzilla.mozilla.org/show_bug.cgi?id=627668
+
+diff -up xulrunner-2.0/mozilla/js/src/Makefile.in.big-endian-jit xulrunner-2.0/mozilla/js/src/Makefile.in
+--- xulrunner-2.0/mozilla/js/src/Makefile.in.big-endian-jit	2010-11-04 21:05:48.000000000 +0100
++++ xulrunner-2.0/mozilla/js/src/Makefile.in	2010-11-15 14:17:39.000000000 +0100
+@@ -371,7 +371,7 @@ CPPSRCS += 	checks.cc \
+ # END enclude sources for V8 dtoa
+ #############################################
+ 
+-ifeq (,$(filter-out powerpc sparc,$(TARGET_CPU)))
++ifeq (,$(filter-out powerpc powerpc64 sparc sparc64 s390 s390x,$(TARGET_CPU)))
+ 
+ VPATH +=	$(srcdir)/assembler \
+ 		$(srcdir)/assembler/wtf \
diff --git a/xulrunner-5.0-secondary-ipc.patch b/xulrunner-5.0-secondary-ipc.patch
new file mode 100644
index 0000000..737b639
--- /dev/null
+++ b/xulrunner-5.0-secondary-ipc.patch
@@ -0,0 +1,63 @@
+Bug 668460 - Adds IPC build config for s390(x) and powerpc(64)
+
+diff -up xulrunner-5.0/mozilla/ipc/chromium/src/base/data_pack.cc.secondary-ipc xulrunner-5.0/mozilla/ipc/chromium/src/base/data_pack.cc
+--- xulrunner-5.0/mozilla/ipc/chromium/src/base/data_pack.cc.secondary-ipc	2011-06-15 23:57:27.000000000 +0200
++++ xulrunner-5.0/mozilla/ipc/chromium/src/base/data_pack.cc	2011-06-30 09:08:26.777844341 +0200
+@@ -91,14 +91,7 @@ bool DataPack::Load(const FilePath& path
+ bool DataPack::Get(uint32_t resource_id, StringPiece* data) {
+   // It won't be hard to make this endian-agnostic, but it's not worth
+   // bothering to do right now.
+-#if defined(__BYTE_ORDER)
+-  // Linux check
+-  COMPILE_ASSERT(__BYTE_ORDER == __LITTLE_ENDIAN,
+-                 datapack_assumes_little_endian);
+-#elif defined(__BIG_ENDIAN__)
+-  // Mac check
+-  #error DataPack assumes little endian
+-#endif
++#warning DoTheRightThingMakingThisEndianAgnostic!
+ 
+   DataPackEntry* target = reinterpret_cast<DataPackEntry*>(
+       bsearch(&resource_id, mmap_->data() + kHeaderLength, resource_count_,
+diff -up xulrunner-5.0/mozilla/ipc/chromium/src/build/build_config.h.secondary-ipc xulrunner-5.0/mozilla/ipc/chromium/src/build/build_config.h
+--- xulrunner-5.0/mozilla/ipc/chromium/src/build/build_config.h.secondary-ipc	2011-06-15 23:57:27.000000000 +0200
++++ xulrunner-5.0/mozilla/ipc/chromium/src/build/build_config.h	2011-06-30 09:08:26.777844341 +0200
+@@ -57,9 +57,24 @@
+ #define ARCH_CPU_ARMEL 1
+ #define ARCH_CPU_32_BITS 1
+ #define WCHAR_T_IS_UNSIGNED 1
+-#elif defined(__ppc__)
++#elif defined(__powerpc64__)
++#define ARCH_CPU_PPC64 1
++#define ARCH_CPU_64_BITS 1
++#elif defined(__powerpc__)
+ #define ARCH_CPU_PPC 1
+ #define ARCH_CPU_32_BITS 1
++#elif defined(__s390x__)
++#define ARCH_CPU_S390X 1
++#define ARCH_CPU_64_BITS 1
++#elif defined(__s390__)
++#define ARCH_CPU_S390 1
++#define ARCH_CPU_32_BITS 1
++#elif defined(__sparc__) && !defined(__arch64)
++#define ARCH_CPU_SPARC 1
++#define ARCH_CPU_32_BITS 1
++#elif defined(__sparc__) && defined(__arch64)
++#define ARCH_CPU_SPARC64 1
++#define ARCH_CPU_64_BITS 1
+ #else
+ #error Please add support for your architecture in build/build_config.h
+ #endif
+diff -up xulrunner-5.0/mozilla/ipc/chromium/src/chrome/common/ipc_message_utils.h.secondary-ipc xulrunner-5.0/mozilla/ipc/chromium/src/chrome/common/ipc_message_utils.h
+--- xulrunner-5.0/mozilla/ipc/chromium/src/chrome/common/ipc_message_utils.h.secondary-ipc	2011-06-15 23:57:27.000000000 +0200
++++ xulrunner-5.0/mozilla/ipc/chromium/src/chrome/common/ipc_message_utils.h	2011-06-30 09:47:16.629029528 +0200
+@@ -219,7 +219,8 @@ struct ParamTraits<unsigned long> {
+   }
+ };
+ 
+-#if !(defined(OS_MACOSX) || defined(OS_WIN) || (defined(CHROMIUM_MOZILLA_BUILD) && defined(OS_LINUX) && defined(ARCH_CPU_64_BITS)))
++// Although s390 is a 32-bit system it defines size_t as unsigned long
++#if !(defined(OS_MACOSX) || defined(OS_WIN) || (defined(CHROMIUM_MOZILLA_BUILD) && defined(OS_LINUX) && (defined(ARCH_CPU_64_BITS) || defined(ARCH_CPU_S390))))
+ // There size_t is a synonym for |unsigned long| ...
+ template <>
+ struct ParamTraits<size_t> {


More information about the scm-commits mailing list