From fe15a11964572f9c1d628f4d862e74dae893cfb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Wed, 31 Aug 2011 08:45:04 +0200 Subject: [PATCH] add secondary-ipc patch from xulrunner --- thunderbird.spec | 7 +++- xulrunner-6.0-secondary-ipc.patch | 60 +++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 xulrunner-6.0-secondary-ipc.patch diff --git a/thunderbird.spec b/thunderbird.spec index 2f96112..bd824a6 100644 --- a/thunderbird.spec +++ b/thunderbird.spec @@ -36,7 +36,7 @@ Summary: Mozilla Thunderbird mail/newsgroup client Name: thunderbird Version: 6.0 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://www.mozilla.org/projects/thunderbird/ License: MPLv1.1 or GPLv2+ or LGPLv2+ Group: Applications/Internet @@ -60,6 +60,7 @@ Source100: find-external-requires # Mozilla (XULRunner) patches Patch0: thunderbird-version.patch Patch7: crashreporter-remove-static.patch +Patch8: xulrunner-6.0-secondary-ipc.patch %if %{official_branding} # Required by Mozilla Corporation @@ -140,6 +141,7 @@ sed -e 's/__RPM_VERSION_INTERNAL__/%{version_internal}/' %{P:%%PATCH0} \ # Mozilla (XULRunner) patches cd mozilla %patch7 -p2 -b .static +%patch8 -p2 -b .secondary-ipc cd .. %if %{official_branding} @@ -353,6 +355,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #=============================================================================== %changelog +* Wed Aug 31 2011 Dan HorĂ¡k - 6.0-2 +- add secondary-ipc patch from xulrunner + * Tue Aug 16 2011 Jan Horak - 6.0-1 - Update to 6.0 diff --git a/xulrunner-6.0-secondary-ipc.patch b/xulrunner-6.0-secondary-ipc.patch new file mode 100644 index 0000000..ed09f25 --- /dev/null +++ b/xulrunner-6.0-secondary-ipc.patch @@ -0,0 +1,60 @@ +diff -up xulrunner-6.0/mozilla-release/ipc/chromium/src/base/data_pack.cc.secondary-ipc xulrunner-6.0/mozilla-release/ipc/chromium/src/base/data_pack.cc +--- xulrunner-6.0/mozilla-release/ipc/chromium/src/base/data_pack.cc.secondary-ipc 2011-08-11 23:41:01.000000000 +0200 ++++ xulrunner-6.0/mozilla-release/ipc/chromium/src/base/data_pack.cc 2011-08-16 10:05:26.325449386 +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( + bsearch(&resource_id, mmap_->data() + kHeaderLength, resource_count_, +diff -up xulrunner-6.0/mozilla-release/ipc/chromium/src/build/build_config.h.secondary-ipc xulrunner-6.0/mozilla-release/ipc/chromium/src/build/build_config.h +--- xulrunner-6.0/mozilla-release/ipc/chromium/src/build/build_config.h.secondary-ipc 2011-08-11 23:41:01.000000000 +0200 ++++ xulrunner-6.0/mozilla-release/ipc/chromium/src/build/build_config.h 2011-08-16 10:07:23.093899409 +0200 +@@ -57,9 +57,24 @@ + #define ARCH_CPU_ARMEL 1 + #define ARCH_CPU_32_BITS 1 + #define WCHAR_T_IS_UNSIGNED 1 ++#elif defined(__powerpc64__) ++#define ARCH_CPU_PPC64 1 ++#define ARCH_CPU_64_BITS 1 + #elif defined(__ppc__) || 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-6.0/mozilla-release/ipc/chromium/src/chrome/common/ipc_message_utils.h.secondary-ipc xulrunner-6.0/mozilla-release/ipc/chromium/src/chrome/common/ipc_message_utils.h +--- xulrunner-6.0/mozilla-release/ipc/chromium/src/chrome/common/ipc_message_utils.h.secondary-ipc 2011-08-11 23:41:01.000000000 +0200 ++++ xulrunner-6.0/mozilla-release/ipc/chromium/src/chrome/common/ipc_message_utils.h 2011-08-16 10:05:26.326449206 +0200 +@@ -219,7 +219,8 @@ struct ParamTraits { + } + }; + +-#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 {