[thunderbird] Update to 9.0

Jan Horak xhorak at fedoraproject.org
Tue Dec 20 12:10:14 UTC 2011


commit 3bac5786de70229d3768fd1763fb9fe59a47f8af
Author: Jan Horak <jhorak at redhat.com>
Date:   Tue Dec 20 13:10:09 2011 +0100

    Update to 9.0

 .gitignore                        |    2 +
 mozilla-670719.patch              |   53 --------------------------------
 mozilla-696393.patch              |   58 ++++++++++++++---------------------
 sources                           |    4 +-
 thunderbird.spec                  |   40 +++++++++++++++++-------
 xulrunner-6.0-secondary-ipc.patch |   60 -------------------------------------
 xulrunner-9.0-secondary-ipc.patch |   60 +++++++++++++++++++++++++++++++++++++
 xulrunner-install.patch           |   12 -------
 8 files changed, 115 insertions(+), 174 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index add0d8f..0db5706 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,3 +30,5 @@ thunderbird-langpacks-3.1.2-20100803.tar.bz2
 /thunderbird-langpacks-7.0.1-20110930.tar.xz
 /thunderbird-8.0.source.tar.bz2
 /thunderbird-langpacks-8.0-20111108.tar.xz
+/thunderbird-9.0.source.tar.bz2
+/thunderbird-langpacks-9.0-20111220.tar.xz
diff --git a/mozilla-696393.patch b/mozilla-696393.patch
index 66614ac..8859d97 100644
--- a/mozilla-696393.patch
+++ b/mozilla-696393.patch
@@ -1,7 +1,7 @@
-diff -up mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp.696393 mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp
---- mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp.696393	2011-11-04 17:34:23.000000000 -0400
-+++ mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp	2011-12-01 12:25:09.947558444 -0500
-@@ -200,56 +200,22 @@ invoke_copy_to_stack(PRUint32 paramCount
+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
      }
  }
  
@@ -12,22 +12,12 @@ diff -up mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390
                   PRUint32 paramCount, nsXPTCVariant* params)
  {
 -    PRUint32 *vtable = *(PRUint32 **)that;
--#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
 -    PRUint32 method = vtable[methodIndex];
--#else /* not G++ V3 ABI  */
--    PRUint32 method = vtable[methodIndex + 2];
--#endif /* G++ V3 ABI */ 
 +    vtable_func *vtable = *reinterpret_cast<vtable_func **>(that);
 +    vtable_func method = vtable[methodIndex];
      PRUint32 overflow = invoke_count_words (paramCount, params);
 -    PRUint32 result;
-+    PRUint32 *stack_space = reinterpret_cast<PRUint32 *>(__builtin_alloca((overflow + 8 /* 4 32-bits gpr + 2 64-bits fpr */) * 4));
-+
-+    invoke_copy_to_stack(paramCount, params, stack_space, overflow);
-+
-+    PRUint32 *d_gpr = stack_space + overflow;
-+    double *d_fpr = reinterpret_cast<double *>(d_gpr + 4);
- 
+-
 -    __asm__ __volatile__
 -    (
 -        "lr    7,15\n\t"
@@ -39,19 +29,23 @@ diff -up mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390
 -        "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"
@@ -68,11 +62,11 @@ diff -up mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390
 -    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 mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp.696393 mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp
---- mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp.696393	2011-11-04 17:34:23.000000000 -0400
-+++ mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp	2011-12-02 09:33:06.717556519 -0500
-@@ -194,59 +194,23 @@ invoke_copy_to_stack(PRUint32 paramCount
+-
+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
      }
  }
  
@@ -83,11 +77,7 @@ diff -up mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390
                   PRUint32 paramCount, nsXPTCVariant* params)
  {
 -    PRUint64 *vtable = *(PRUint64 **)that;
--#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
 -    PRUint64 method = vtable[methodIndex];
--#else /* not G++ V3 ABI  */
--    PRUint64 method = vtable[methodIndex + 2];
--#endif /* G++ V3 ABI */
 +    vtable_func *vtable = *reinterpret_cast<vtable_func **>(that);
 +    vtable_func method = vtable[methodIndex];
      PRUint64 overflow = invoke_count_words (paramCount, params);
@@ -111,7 +101,8 @@ diff -up mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390
 -        "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"
@@ -119,7 +110,9 @@ diff -up mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390
 -        "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"
@@ -135,11 +128,6 @@ diff -up mozilla-release/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390
 -    );
 -  
 -    return result;
-+    invoke_copy_to_stack(paramCount, params, stack_space, overflow);
-+
-+    PRUint64 *d_gpr = stack_space + overflow;
-+    double *d_fpr = reinterpret_cast<double *>(d_gpr + 4);
-+
 +    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/sources b/sources
index dcbc173..3159abc 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-332f60036aebdce7dec6ee2b1af4941d  thunderbird-8.0.source.tar.bz2
-6bffd9152416e3ddb52afc51269cefcc  thunderbird-langpacks-8.0-20111108.tar.xz
+d558b457d439fd0d86e23543f0cc30ba  thunderbird-9.0.source.tar.bz2
+394af2d9c73460843e0be77aa9619e1b  thunderbird-langpacks-9.0-20111220.tar.xz
diff --git a/thunderbird.spec b/thunderbird.spec
index 5a5b552..8d6ca6b 100644
--- a/thunderbird.spec
+++ b/thunderbird.spec
@@ -1,12 +1,18 @@
-%define nspr_version 4.8
-%define nss_version 3.12.10
+%define nspr_version 4.8.8
+%define nss_version 3.13.1
 %define cairo_version 1.8.8
 %define freetype_version 2.1.9
-%define sqlite_version 3.6.14
+%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.
 #
@@ -26,8 +32,8 @@
 
 Summary:        Mozilla Thunderbird mail/newsgroup client
 Name:           thunderbird
-Version:        8.0
-Release:        4%{?dist}
+Version:        9.0
+Release:        1%{?dist}
 URL:            http://www.mozilla.org/projects/thunderbird/
 License:        MPLv1.1 or GPLv2+ or LGPLv2+
 Group:          Applications/Internet
@@ -38,7 +44,7 @@ Group:          Applications/Internet
 %endif
 Source0:        %{tarball}
 %if %{build_langpacks}
-Source1:        thunderbird-langpacks-%{version}-20111108.tar.xz
+Source1:        thunderbird-langpacks-%{version}-20111220.tar.xz
 %endif
 Source10:       thunderbird-mozconfig
 Source11:       thunderbird-mozconfig-branded
@@ -51,14 +57,12 @@ 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
@@ -91,7 +95,9 @@ BuildRequires:  freetype-devel >= %{freetype_version}
 BuildRequires:  libXt-devel
 BuildRequires:  libXrender-devel
 BuildRequires:  hunspell-devel
+%if %{?system_sqlite}
 BuildRequires:  sqlite-devel >= %{sqlite_version}
+%endif
 BuildRequires:  startup-notification-devel
 BuildRequires:  alsa-lib-devel
 BuildRequires:  autoconf213
@@ -102,7 +108,9 @@ BuildRequires:  mesa-libGL-devel
 Requires:       mozilla-filesystem
 Requires:       nspr >= %{nspr_version}
 Requires:       nss >= %{nss_version}
+%if %{?system_sqlite}
 Requires:       sqlite >= %{sqlite_version}
+%endif
 
 AutoProv: 0
 %define _use_internal_dependency_generator 0
@@ -140,11 +148,9 @@ 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
-%patch12 -p1 -b .696393
-%patch100 -p2 -b .install
+%patch12 -p2 -b .696393
 cd ..
 
 %patch200 -p1 -b .addons
@@ -166,6 +172,12 @@ cd ..
 %{__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,10 +360,14 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %exclude %{_includedir}/%{name}-%{version}
 %exclude %{_libdir}/%{name}-devel-%{version}
 %{mozappdir}/chrome.manifest
+%{mozappdir}/distribution/extensions
 
 #===============================================================================
 
 %changelog
+* Tue Dec 20 2011 Jan Horak <jhorak at redhat.com> - 9.0-1
+- Update to 9.0
+
 * Fri Dec 9 2011 Martin Stransky <stransky at redhat.com> - 8.0-4
 - enabled gio support (#760644)
 
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> {


More information about the scm-commits mailing list