summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2011-12-21 21:00:53 +0100
committerRemi Collet <fedora@famillecollet.com>2011-12-21 21:00:53 +0100
commit63d120ef16b6d72993a4dace786c89bd9f45d4e2 (patch)
treef160a867bb10eeedf6528be40dc5f5ca38962921
parent18d72e2290f2e0f39ec0026bd9dbf5676ae94a98 (diff)
Thunderbird 9
-rw-r--r--mozilla-696393.patch133
-rw-r--r--thunderbird-8.0-enable-addons.patch26
-rw-r--r--thunderbird-mozconfig3
-rw-r--r--thunderbird-redhat-default-prefs.js2
-rw-r--r--thunderbird.sh.in2
-rw-r--r--thunderbird.spec90
-rw-r--r--xulrunner-6.0-secondary-ipc.patch60
-rw-r--r--xulrunner-9.0-secondary-ipc.patch60
-rw-r--r--xulrunner-install.patch12
9 files changed, 287 insertions, 101 deletions
diff --git a/mozilla-696393.patch b/mozilla-696393.patch
new file mode 100644
index 0000000..8859d97
--- /dev/null
+++ b/mozilla-696393.patch
@@ -0,0 +1,133 @@
+diff -up xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp.696393 xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp
+--- xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp.696393 2011-12-07 07:28:08.000000000 +0100
++++ xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp 2011-12-09 15:06:10.584998410 +0100
+@@ -200,52 +200,21 @@ invoke_copy_to_stack(PRUint32 paramCount
+ }
+ }
+
++typedef nsresult (*vtable_func)(nsISupports *, PRUint32, PRUint32, PRUint32, PRUint32, double, double);
++
+ EXPORT_XPCOM_API(nsresult)
+ NS_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
+ PRUint32 paramCount, nsXPTCVariant* params)
+ {
+- PRUint32 *vtable = *(PRUint32 **)that;
+- PRUint32 method = vtable[methodIndex];
++ vtable_func *vtable = *reinterpret_cast<vtable_func **>(that);
++ vtable_func method = vtable[methodIndex];
+ PRUint32 overflow = invoke_count_words (paramCount, params);
+- PRUint32 result;
+-
+- __asm__ __volatile__
+- (
+- "lr 7,15\n\t"
+- "ahi 7,-32\n\t"
+-
+- "lr 3,%3\n\t"
+- "sll 3,2\n\t"
+- "lcr 3,3\n\t"
+- "l 2,0(15)\n\t"
+- "la 15,0(3,7)\n\t"
+- "st 2,0(15)\n\t"
++ PRUint32 *stack_space = reinterpret_cast<PRUint32 *>(__builtin_alloca((overflow + 8 /* 4 32-bits gpr + 2 64-bits fpr */) * 4));
+
+- "lr 2,%1\n\t"
+- "lr 3,%2\n\t"
+- "la 4,96(15)\n\t"
+- "lr 5,%3\n\t"
+- "basr 14,%4\n\t"
++ invoke_copy_to_stack(paramCount, params, stack_space, overflow);
+
+- "lr 2,%5\n\t"
+- "ld 0,112(7)\n\t"
+- "ld 2,120(7)\n\t"
+- "lm 3,6,96(7)\n\t"
+- "basr 14,%6\n\t"
++ PRUint32 *d_gpr = stack_space + overflow;
++ double *d_fpr = reinterpret_cast<double *>(d_gpr + 4);
+
+- "la 15,32(7)\n\t"
+-
+- "lr %0,2\n\t"
+- : "=r" (result)
+- : "r" (paramCount),
+- "r" (params),
+- "r" (overflow),
+- "a" (invoke_copy_to_stack),
+- "a" (that),
+- "a" (method)
+- : "2", "3", "4", "5", "6", "7", "14", "cc", "memory", "%f0", "%f2"
+- );
+-
+- return result;
++ return method(that, d_gpr[0], d_gpr[1], d_gpr[2], d_gpr[3], d_fpr[0], d_fpr[1]);
+ }
+-
+diff -up xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp.696393 xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp
+--- xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp.696393 2011-12-07 07:28:08.000000000 +0100
++++ xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp 2011-12-09 15:07:07.609097348 +0100
+@@ -194,55 +194,22 @@ invoke_copy_to_stack(PRUint32 paramCount
+ }
+ }
+
++typedef nsresult (*vtable_func)(nsISupports *, PRUint64, PRUint64, PRUint64, PRUint64, double, double, double, double);
++
+ EXPORT_XPCOM_API(nsresult)
+ NS_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
+ PRUint32 paramCount, nsXPTCVariant* params)
+ {
+- PRUint64 *vtable = *(PRUint64 **)that;
+- PRUint64 method = vtable[methodIndex];
++ vtable_func *vtable = *reinterpret_cast<vtable_func **>(that);
++ vtable_func method = vtable[methodIndex];
+ PRUint64 overflow = invoke_count_words (paramCount, params);
++ PRUint64 *stack_space = reinterpret_cast<PRUint64 *>(__builtin_alloca((overflow + 8 /* 4 64-bits gpr + 4 64-bits fpr */) * 8));
+ PRUint64 result;
+
+- __asm__ __volatile__
+- (
+- "lgr 7,15\n\t"
+- "aghi 7,-64\n\t"
+-
+- "lgr 3,%3\n\t"
+- "sllg 3,3,3\n\t"
+- "lcgr 3,3\n\t"
+- "lg 2,0(15)\n\t"
+- "la 15,0(3,7)\n\t"
+- "stg 2,0(15)\n\t"
+-
+- "lgr 2,%1\n\t"
+- "lgr 3,%2\n\t"
+- "la 4,160(15)\n\t"
+- "lgr 5,%3\n\t"
+- "basr 14,%4\n\t"
++ invoke_copy_to_stack(paramCount, params, stack_space, overflow);
+
+- "lgr 2,%5\n\t"
+- "ld 0,192(7)\n\t"
+- "ld 2,200(7)\n\t"
+- "ld 4,208(7)\n\t"
+- "ld 6,216(7)\n\t"
+- "lmg 3,6,160(7)\n\t"
+- "basr 14,%6\n\t"
++ PRUint64 *d_gpr = stack_space + overflow;
++ double *d_fpr = reinterpret_cast<double *>(d_gpr + 4);
+
+- "la 15,64(7)\n\t"
+-
+- "lgr %0,2\n\t"
+- : "=r" (result)
+- : "r" ((PRUint64)paramCount),
+- "r" (params),
+- "r" (overflow),
+- "a" (invoke_copy_to_stack),
+- "a" (that),
+- "a" (method)
+- : "2", "3", "4", "5", "6", "7", "14", "cc", "memory",
+- "%f0", "%f1", "%f2", "%f3", "%f4", "%f5", "%f6", "%f7"
+- );
+-
+- return result;
++ return method(that, d_gpr[0], d_gpr[1], d_gpr[2], d_gpr[3], d_fpr[0], d_fpr[1], d_fpr[2], d_fpr[3]);
+ }
+-
diff --git a/thunderbird-8.0-enable-addons.patch b/thunderbird-8.0-enable-addons.patch
new file mode 100644
index 0000000..7b040df
--- /dev/null
+++ b/thunderbird-8.0-enable-addons.patch
@@ -0,0 +1,26 @@
+diff -up comm-release/mail/app/profile/all-thunderbird.js.addons comm-release/mail/app/profile/all-thunderbird.js
+--- comm-release/mail/app/profile/all-thunderbird.js.addons 2011-11-15 10:36:03.868551158 +0100
++++ comm-release/mail/app/profile/all-thunderbird.js 2011-11-15 10:36:20.555397903 +0100
+@@ -138,7 +138,7 @@ pref("extensions.update.autoUpdateDefaul
+ // Disable add-ons installed into the shared user and shared system areas by
+ // default. This does not include the application directory. See the SCOPE
+ // constants in AddonManager.jsm for values to use here
+-pref("extensions.autoDisableScopes", 15);
++pref("extensions.autoDisableScopes", 0);
+
+ // Preferences for AMO integration
+ pref("extensions.getAddons.cache.enabled", true);
+diff -up comm-release/mozilla/toolkit/mozapps/extensions/XPIProvider.jsm.addons comm-release/mozilla/toolkit/mozapps/extensions/XPIProvider.jsm
+--- comm-release/mozilla/toolkit/mozapps/extensions/XPIProvider.jsm.addons 2011-11-15 11:15:06.518905245 +0100
++++ comm-release/mozilla/toolkit/mozapps/extensions/XPIProvider.jsm 2011-11-15 11:15:40.399934236 +0100
+@@ -1591,8 +1591,8 @@ var XPIProvider = {
+ this.showUpgradeUI();
+ flushCaches = true;
+ }
+- else if (aAppChanged === undefined) {
+- // For new profiles we will never need to show the add-on selection UI
++ else {
++ // For all profiles we will never need to show the add-on selection UI
+ Services.prefs.setBoolPref(PREF_SHOWN_SELECTION_UI, true);
+ }
+
diff --git a/thunderbird-mozconfig b/thunderbird-mozconfig
index 6745396..552f532 100644
--- a/thunderbird-mozconfig
+++ b/thunderbird-mozconfig
@@ -29,8 +29,9 @@ ac_add_options --enable-system-hunspell
ac_add_options --disable-crashreporter
ac_add_options --disable-necko-wifi
ac_add_options --disable-updater
-#ac_add_options --enable-static
ac_add_options --enable-startup-notification
+ac_add_options --enable-gio
+ac_add_options --disable-gnomevfs
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
diff --git a/thunderbird-redhat-default-prefs.js b/thunderbird-redhat-default-prefs.js
index f159dcf..18f51d5 100644
--- a/thunderbird-redhat-default-prefs.js
+++ b/thunderbird-redhat-default-prefs.js
@@ -14,3 +14,5 @@ pref("mailnews.database.global.indexer.enabled", false);
# Do not switch to Smart Folders after upgrade to 3.0b4
pref("mail.folder.views.version", "1")
+pref("extensions.shownSelectionUI", true);
+pref("extensions.autoDisableScope", 0);
diff --git a/thunderbird.sh.in b/thunderbird.sh.in
index dfa0247..60b80ec 100644
--- a/thunderbird.sh.in
+++ b/thunderbird.sh.in
@@ -87,6 +87,8 @@ if [ $MOZILLA_DOWN -ne 0 ]; then
if [ -f $FEDORA_LANGPACK_CONFIG ]; then
rm `cat $FEDORA_LANGPACK_CONFIG` > /dev/null 2>&1
rm $FEDORA_LANGPACK_CONFIG > /dev/null 2>&1
+ # remove all empty langpacks dirs while they block installation of langpacks
+ rmdir $MOZ_EXTENSIONS_PROFILE_DIR/lang* > /dev/null 2>&1
fi
# Get locale from system
diff --git a/thunderbird.spec b/thunderbird.spec
index 6062e6b..56a595b 100644
--- a/thunderbird.spec
+++ b/thunderbird.spec
@@ -1,13 +1,21 @@
+### TODO use system nss when 3.13.1 pushed to stable (f >= 15)
+
%define nspr_version 4.8.8
-%define nss_version 3.12.10
+%define nss_version 3.13.1
%define cairo_version 1.10.0
%define freetype_version 2.1.9
%define lcms_version 1.19
-%define sqlite_version 3.6.22
+%define sqlite_version 3.7.7.1
%define libnotify_version 0.4
%define build_langpacks 1
%define thunderbird_app_id \{3550f703-e582-4d05-9a08-453d09bdfdc6\}
+%if 0%{?fedora} <= 15
+%define system_sqlite 0
+%else
+%define system_sqlite 1
+%endif
+
# The tarball is pretty inconsistent with directory structure.
# Sometimes there is a top level directory. That goes here.
#
@@ -23,7 +31,7 @@
Summary: Mozilla Thunderbird mail/newsgroup client
Name: thunderbird
-Version: 8.0
+Version: 9.0
Release: 1%{?dist}
URL: http://www.mozilla.org/projects/thunderbird/
License: MPLv1.1 or GPLv2+ or LGPLv2+
@@ -35,7 +43,7 @@ Group: Applications/Internet
%endif
Source0: %{tarball}
%if %{build_langpacks}
-Source1: thunderbird-langpacks-%{version}-20111112.tar.bz2
+Source1: thunderbird-langpacks-%{version}-20111221.tar.bz2
%endif
Source10: thunderbird-mozconfig
@@ -49,13 +57,15 @@ Source100: find-external-requires
# Mozilla (XULRunner) patches
Patch0: thunderbird-install-dir.patch
Patch7: crashreporter-remove-static.patch
-Patch8: xulrunner-6.0-secondary-ipc.patch
-Patch9: mozilla-670719.patch
+Patch8: xulrunner-9.0-secondary-ipc.patch
Patch10: xulrunner-2.0-network-link-service.patch
Patch11: xulrunner-2.0-NetworkManager09.patch
+Patch12: mozilla-696393.patch
# Build patches
-Patch100: xulrunner-install.patch
+
+# Linux specific
+Patch200: thunderbird-8.0-enable-addons.patch
%if %{official_branding}
# Required by Mozilla Corporation
@@ -66,8 +76,10 @@ Patch100: xulrunner-install.patch
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-%if 0%{?fedora} >= 14
+%if 0%{?fedora} >= 14 || 0%{?rhel} >= 6
BuildRequires: nspr-devel >= %{nspr_version}
+%endif
+%if 0%{?fedora} >= 17
BuildRequires: nss-devel >= %{nss_version}
%endif
%if 0%{?fedora} >= 15
@@ -91,12 +103,12 @@ BuildRequires: freetype-devel >= %{freetype_version}
BuildRequires: libXt-devel
BuildRequires: libXrender-devel
BuildRequires: hunspell-devel
-%if 0%{?fedora} >= 15
-# Need SQLITE_SECURE_DELETE option
+%if %{?system_sqlite}
BuildRequires: sqlite-devel >= %{sqlite_version}
%endif
BuildRequires: startup-notification-devel
BuildRequires: alsa-lib-devel
+#BuildRequires: autoconf213
BuildRequires: desktop-file-utils
BuildRequires: libcurl-devel
BuildRequires: yasm
@@ -105,11 +117,13 @@ BuildRequires: GConf2-devel
BuildRequires: lcms-devel >= %{lcms_version}
Requires: mozilla-filesystem
-%if 0%{?fedora} >= 14
+%if 0%{?fedora} >= 14 || 0%{?rhel} >= 6
Requires: nspr >= %{nspr_version}
+%endif
+%if 0%{?fedora} >= 17
Requires: nss >= %{nss_version}
%endif
-%if 0%{?fedora} >= 15
+%if %{?system_sqlite}
Requires: sqlite >= %{sqlite_version}
%endif
@@ -158,12 +172,13 @@ cd %{tarballdir}
cd mozilla
%patch7 -p2 -b .static
%patch8 -p2 -b .secondary-ipc
-%patch9 -p1 -b .moz670719
%patch10 -p1 -b .link-service
%patch11 -p1 -b .NetworkManager09
-%patch100 -p2 -b .install
+%patch12 -p2 -b .696393
cd ..
+%patch200 -p1 -b .addons
+
%if %{official_branding}
# Required by Mozilla Corporation
@@ -175,28 +190,20 @@ cd ..
%{__rm} -f .mozconfig
#{__cp} %{SOURCE10} .mozconfig
cat %{SOURCE10} \
-%if 0%{?fedora} < 15 && 0%{?rhel} <= 6
- | grep -v system-sqlite \
-%endif
-%if 0%{?fedora} < 14 && 0%{?rhel} <= 6
+%if 0%{?fedora} < 17
| grep -v system-nss \
+%endif
+%if 0%{?fedora} < 14 && 0%{?rhel} < 6
| grep -v system-nspr \
%endif
-%if 0%{?fedora} < 15 && 0%{?rhel} <= 6
+%if 0%{?fedora} < 15
| grep -v enable-system-cairo \
%endif
| tee .mozconfig
-cat <<EOF | tee -a .mozconfig
-#ac_add_options --enable-libnotify
-#ac_add_options --enable-system-lcms
-%if 0%{?fedora} >= 15
-#ac_add_options --enable-system-sqlite
-%endif
%if 0%{?fedora} < 14 && 0%{?rhel} <= 6
-ac_add_options --disable-libjpeg-turbo
+echo "ac_add_options --disable-libjpeg-turbo" >> .mozconfig
%endif
-EOF
%if %{official_branding}
%{__cat} %{SOURCE11} >> .mozconfig
@@ -205,6 +212,12 @@ EOF
%{__cat} %{SOURCE13} >> .mozconfig
%endif
+%if %{?system_sqlite}
+echo "ac_add_options --enable-system-sqlite" >> .mozconfig
+%else
+echo "ac_add_options --disable-system-sqlite" >> .mozconfig
+%endif
+
#===============================================================================
%build
@@ -348,7 +361,7 @@ echo -e "\nWARNING : This %{name} RPM is not an official Fedora/Redhat build and
echo -e "overrides the official one. Don't file bugs on Fedora Project nor Redhat."
echo -e "Use dedicated forums http://forums.famillecollet.com/\n"
-%if %{?fedora}%{!?fedora:99} <= 13
+%if %{?fedora}%{!?fedora:99} <= 14
echo -e "WARNING : Fedora %{fedora} is now EOL :"
echo -e "You should consider upgrading to a supported release.\n"
%endif
@@ -424,13 +437,34 @@ fi
%exclude %{_includedir}/%{name}-%{version}
%exclude %{_libdir}/%{name}-devel-%{version}
%{mozappdir}/chrome.manifest
+%{mozappdir}/distribution/extensions
#===============================================================================
%changelog
+* Wed Dec 21 2011 Remi Collet <rpms@famillecollet.com> 9.0-1
+- Thunderbird 9.0, sync with rawhide
+
+* Wed Dec 21 2011 Jan Horak <jhorak@redhat.com> - 9.0-3
+- Update to 9.0
+
+* Tue Dec 20 2011 Jan Horak <jhorak@redhat.com> - 9.0-1
+- Update to 9.0
+
+* Fri Dec 9 2011 Martin Stransky <stransky@redhat.com> - 8.0-4
+- enabled gio support (#760644)
+
+* Tue Nov 29 2011 Jan Horak <jhorak@redhat.com> - 8.0-3
+- Fixed s390x issues
+
* Sat Nov 12 2011 Remi Collet <rpms@famillecollet.com> 8.0-1
- Thunderbird 8.0, sync with rawhide
+* Thu Nov 10 2011 Jan Horak <jhorak@redhat.com> - 8.0-2
+- Enable Mozilla's crash reporter again for all archs
+- Temporary workaround for langpacks
+- Disabled addon check UI (#753551)
+
* Tue Nov 8 2011 Jan Horak <jhorak@redhat.com> - 8.0-1
- Update to 8.0
diff --git a/xulrunner-6.0-secondary-ipc.patch b/xulrunner-6.0-secondary-ipc.patch
deleted file mode 100644
index ed09f25..0000000
--- a/xulrunner-6.0-secondary-ipc.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-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<DataPackEntry*>(
- 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<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> {
diff --git a/xulrunner-9.0-secondary-ipc.patch b/xulrunner-9.0-secondary-ipc.patch
new file mode 100644
index 0000000..40ecfd5
--- /dev/null
+++ b/xulrunner-9.0-secondary-ipc.patch
@@ -0,0 +1,60 @@
+diff -up xulrunner-9.0/mozilla-beta/ipc/chromium/src/base/data_pack.cc.secondary-ipc xulrunner-9.0/mozilla-beta/ipc/chromium/src/base/data_pack.cc
+--- xulrunner-9.0/mozilla-beta/ipc/chromium/src/base/data_pack.cc.secondary-ipc 2011-12-07 07:27:43.000000000 +0100
++++ xulrunner-9.0/mozilla-beta/ipc/chromium/src/base/data_pack.cc 2011-12-09 14:35:50.397220865 +0100
+@@ -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-9.0/mozilla-beta/ipc/chromium/src/build/build_config.h.secondary-ipc xulrunner-9.0/mozilla-beta/ipc/chromium/src/build/build_config.h
+--- xulrunner-9.0/mozilla-beta/ipc/chromium/src/build/build_config.h.secondary-ipc 2011-12-07 07:27:43.000000000 +0100
++++ xulrunner-9.0/mozilla-beta/ipc/chromium/src/build/build_config.h 2011-12-09 14:39:44.922231601 +0100
+@@ -59,11 +59,23 @@
+ #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(__sparc64__)
++#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
+diff -up xulrunner-9.0/mozilla-beta/ipc/chromium/src/chrome/common/ipc_message_utils.h.secondary-ipc xulrunner-9.0/mozilla-beta/ipc/chromium/src/chrome/common/ipc_message_utils.h
+--- xulrunner-9.0/mozilla-beta/ipc/chromium/src/chrome/common/ipc_message_utils.h.secondary-ipc 2011-12-07 07:27:43.000000000 +0100
++++ xulrunner-9.0/mozilla-beta/ipc/chromium/src/chrome/common/ipc_message_utils.h 2011-12-09 14:40:59.602679278 +0100
+@@ -195,7 +195,8 @@ struct ParamTraits<unsigned long long> {
+ };
+ #endif
+
+-#if !(defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(OS_WIN) || (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_OPENBSD) || defined(OS_WIN) || (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> {
diff --git a/xulrunner-install.patch b/xulrunner-install.patch
deleted file mode 100644
index c1393ef..0000000
--- a/xulrunner-install.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up comm-release/mozilla/toolkit/mozapps/installer/packager.mk.install comm-release/mozilla/toolkit/mozapps/installer/packager.mk
---- comm-release/mozilla/toolkit/mozapps/installer/packager.mk.install 2011-11-05 10:21:10.000000000 +0100
-+++ comm-release/mozilla/toolkit/mozapps/installer/packager.mk 2011-11-08 18:48:08.674042803 +0100
-@@ -401,7 +401,7 @@ PRECOMPILE_GRE=$$PWD
- endif
-
- GENERATE_CACHE = \
-- $(_ABS_RUN_TEST_PROGRAM) $(LIBXUL_DIST)/bin/xpcshell$(BIN_SUFFIX) -g "$(PRECOMPILE_GRE)" -a "$$PWD" -f $(MOZILLA_DIR)/toolkit/mozapps/installer/precompile_cache.js -e "populate_startupcache('$(PRECOMPILE_DIR)', 'omni.jar', 'startupCache.zip');" && \
-+ $(_ABS_RUN_TEST_PROGRAM) $(LIBXUL_DIST)/bin/xpcshell$(BIN_SUFFIX) -g "$(PRECOMPILE_GRE)" -a "$$PWD" -f $(call core_abspath,$(MOZILLA_DIR)/toolkit/mozapps/installer/precompile_cache.js) -e "populate_startupcache('$(PRECOMPILE_DIR)', 'omni.jar', 'startupCache.zip');" && \
- rm -rf jsloader && \
- $(UNZIP) startupCache.zip && \
- rm startupCache.zip && \