From 296e8fd1f955316566eae426a7959068965873b5 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 18 Sep 2013 11:24:17 +0200 Subject: Thunderbird 24.0 --- mozilla-746112.patch | 86 --------------------------------------- mozilla-791626.patch | 46 --------------------- mozilla-build-arm.patch | 12 ++++++ rhbz-855923.patch | 19 --------- rhbz-966424.patch | 6 +-- thunderbird-mozconfig | 3 +- thunderbird.spec | 85 ++++++++++++++++++++++---------------- xulrunner-16.0-jemalloc-ppc.patch | 14 ------- xulrunner-24.0-jemalloc-ppc.patch | 12 ++++++ 9 files changed, 77 insertions(+), 206 deletions(-) delete mode 100644 mozilla-746112.patch delete mode 100644 mozilla-791626.patch create mode 100644 mozilla-build-arm.patch delete mode 100644 rhbz-855923.patch delete mode 100644 xulrunner-16.0-jemalloc-ppc.patch create mode 100644 xulrunner-24.0-jemalloc-ppc.patch diff --git a/mozilla-746112.patch b/mozilla-746112.patch deleted file mode 100644 index 01f6e16..0000000 --- a/mozilla-746112.patch +++ /dev/null @@ -1,86 +0,0 @@ -diff -up xulrunner-17.0/mozilla-beta/js/src/gc/Heap.h.746112 xulrunner-17.0/mozilla-beta/js/src/gc/Heap.h ---- xulrunner-17.0/mozilla-beta/js/src/gc/Heap.h.746112 2012-10-17 16:32:43.000000000 +0200 -+++ xulrunner-17.0/mozilla-beta/js/src/gc/Heap.h 2012-10-24 14:48:12.186640489 +0200 -@@ -103,26 +103,31 @@ struct Cell - }; - - /* -- * Page size is 4096 by default, except for SPARC, where it is 8192. -+ * Page size must be static to support our arena pointer optimizations, so we -+ * are forced to support each platform with non-4096 pages as a special case. -+ * Note: The freelist supports a maximum arena shift of 15. - * Note: Do not use JS_CPU_SPARC here, this header is used outside JS. - * Bug 692267: Move page size definition to gc/Memory.h and include it - * directly once jsgc.h is no longer an installed header. - */ - #if defined(SOLARIS) && (defined(__sparc) || defined(__sparcv9)) - const size_t PageShift = 13; -+const size_t ArenaShift = PageShift; -+#elif defined(__powerpc__) -+const size_t PageShift = 16; -+const size_t ArenaShift = 12; - #else - const size_t PageShift = 12; -+const size_t ArenaShift = PageShift; - #endif - const size_t PageSize = size_t(1) << PageShift; -+const size_t ArenaSize = size_t(1) << ArenaShift; -+const size_t ArenaMask = ArenaSize - 1; - - const size_t ChunkShift = 20; - const size_t ChunkSize = size_t(1) << ChunkShift; - const size_t ChunkMask = ChunkSize - 1; - --const size_t ArenaShift = PageShift; --const size_t ArenaSize = PageSize; --const size_t ArenaMask = ArenaSize - 1; -- - /* - * This is the maximum number of arenas we allow in the FreeCommitted state - * before we trigger a GC_SHRINK to release free arenas to the OS. -diff -up xulrunner-17.0/mozilla-beta/js/src/jsgc.cpp.746112 xulrunner-17.0/mozilla-beta/js/src/jsgc.cpp ---- xulrunner-17.0/mozilla-beta/js/src/jsgc.cpp.746112 2012-10-17 16:32:44.000000000 +0200 -+++ xulrunner-17.0/mozilla-beta/js/src/jsgc.cpp 2012-10-24 14:46:28.253638095 +0200 -@@ -251,6 +251,13 @@ static const int BackgroundPhaseLength[] - sizeof(BackgroundPhaseStrings) / sizeof(AllocKind) - }; - -+/* Unused memory decommiting requires the arena size match the page size. */ -+static bool -+DecommitEnabled() -+{ -+ return PageSize == ArenaSize; -+} -+ - #ifdef DEBUG - void - ArenaHeader::checkSynchronizedWithFreeList() const -@@ -742,7 +749,8 @@ Chunk::fetchNextDecommittedArena() - decommittedArenas.unset(offset); - - Arena *arena = &arenas[offset]; -- MarkPagesInUse(arena, ArenaSize); -+ if (DecommitEnabled()) -+ MarkPagesInUse(arena, ArenaSize); - arena->aheader.setAsNotAllocated(); - - return &arena->aheader; -@@ -2731,7 +2739,7 @@ DecommitArenasFromAvailableList(JSRuntim - chunk->removeFromAvailableList(); - - size_t arenaIndex = Chunk::arenaIndex(aheader->arenaAddress()); -- bool ok; -+ bool ok = true; - { - /* - * If the main thread waits for the decommit to finish, skip -@@ -2741,7 +2749,8 @@ DecommitArenasFromAvailableList(JSRuntim - Maybe maybeUnlock; - if (!rt->isHeapBusy()) - maybeUnlock.construct(rt); -- ok = MarkPagesUnused(aheader->getArena(), ArenaSize); -+ if (DecommitEnabled()) -+ ok = MarkPagesUnused(aheader->getArena(), ArenaSize); - } - - if (ok) { diff --git a/mozilla-791626.patch b/mozilla-791626.patch deleted file mode 100644 index c2e77ab..0000000 --- a/mozilla-791626.patch +++ /dev/null @@ -1,46 +0,0 @@ -# HG changeset patch -# Parent 3523e7f7a89d7933c5f1dc8f5f22559b48ec44c4 -diff --git a/netwerk/base/src/nsIOService.cpp b/netwerk/base/src/nsIOService.cpp ---- a/netwerk/base/src/nsIOService.cpp -+++ b/netwerk/base/src/nsIOService.cpp -@@ -818,17 +818,18 @@ nsIOService::PrefsChanged(nsIPrefBranch - if (NS_SUCCEEDED(rv)) { - if (mSocketTransportService) - mSocketTransportService->SetAutodialEnabled(enableAutodial); - } - } - - if (!pref || strcmp(pref, MANAGE_OFFLINE_STATUS_PREF) == 0) { - bool manage; -- if (NS_SUCCEEDED(prefs->GetBoolPref(MANAGE_OFFLINE_STATUS_PREF, -+ if (mNetworkLinkServiceInitialized && -+ NS_SUCCEEDED(prefs->GetBoolPref(MANAGE_OFFLINE_STATUS_PREF, - &manage))) - SetManageOfflineStatus(manage); - } - - if (!pref || strcmp(pref, NECKO_BUFFER_CACHE_COUNT_PREF) == 0) { - int32_t count; - if (NS_SUCCEEDED(prefs->GetIntPref(NECKO_BUFFER_CACHE_COUNT_PREF, - &count))) -@@ -928,16 +929,20 @@ nsIOService::Observe(nsISupports *subjec - } - else if (!strcmp(topic, kProfileDoChange)) { - if (data && NS_LITERAL_STRING("startup").Equals(data)) { - // Lazy initialization of network link service (see bug 620472) - InitializeNetworkLinkService(); - // Set up the initilization flag regardless the actuall result. - // If we fail here, we will fail always on. - mNetworkLinkServiceInitialized = true; -+ // And now reflect the preference setting -+ nsCOMPtr prefBranch; -+ GetPrefBranch(getter_AddRefs(prefBranch)); -+ PrefsChanged(prefBranch, MANAGE_OFFLINE_STATUS_PREF); - } - } - else if (!strcmp(topic, NS_XPCOM_SHUTDOWN_OBSERVER_ID)) { - // Remember we passed XPCOM shutdown notification to prevent any - // changes of the offline status from now. We must not allow going - // online after this point. - mShutdown = true; - diff --git a/mozilla-build-arm.patch b/mozilla-build-arm.patch new file mode 100644 index 0000000..6e27f78 --- /dev/null +++ b/mozilla-build-arm.patch @@ -0,0 +1,12 @@ +diff -up xulrunner-24.0/mozilla-release/gfx/ycbcr/moz.build.neon xulrunner-24.0/mozilla-release/gfx/ycbcr/moz.build +--- xulrunner-24.0/mozilla-release/gfx/ycbcr/moz.build.neon 2013-09-11 01:15:02.000000000 +0200 ++++ xulrunner-24.0/mozilla-release/gfx/ycbcr/moz.build 2013-09-16 11:23:40.487028288 +0200 +@@ -61,7 +61,7 @@ else: + 'yuv_row_other.cpp', + ] + +-if CONFIG['OS_TEST'] == 'arm' and CONFIG['HAVE_ARM_NEON']: ++if CONFIG['HAVE_ARM_NEON']: + CPP_SOURCES += [ + 'yuv_convert_arm.cpp', + ] diff --git a/rhbz-855923.patch b/rhbz-855923.patch deleted file mode 100644 index c6282b0..0000000 --- a/rhbz-855923.patch +++ /dev/null @@ -1,19 +0,0 @@ -Index: comm-release/mozilla/js/src/gc/Memory.cpp -=================================================================== ---- comm-release.orig/mozilla/js/src/gc/Memory.cpp -+++ comm-release/mozilla/js/src/gc/Memory.cpp -@@ -348,9 +348,14 @@ UnmapPages(void *p, size_t size) - bool - MarkPagesUnused(void *p, size_t size) - { -+// A workaround for Bug 746112 - endless loop on ppc64 -+#if !(defined(__powerpc__)) - JS_ASSERT(uintptr_t(p) % PageSize == 0); - int result = madvise(p, size, MADV_DONTNEED); - return result != -1; -+#else -+ return true; -+#endif - } - - bool diff --git a/rhbz-966424.patch b/rhbz-966424.patch index 37ddc6e..cfd6ca8 100644 --- a/rhbz-966424.patch +++ b/rhbz-966424.patch @@ -1,6 +1,6 @@ -diff --git a/toolkit/mozapps/shared/CertUtils.jsm b/toolkit/toolkit/mozapps/shared/CertUtils.jsm ---- a/toolkit/mozapps/shared/CertUtils.jsm -+++ b/toolkit/mozapps/shared/CertUtils.jsm +diff --git a/toolkit/module/CertUtils.jsm b/toolkit/toolkit/modules/CertUtils.jsm +--- a/toolkit/modules/CertUtils.jsm ++++ b/toolkit/modules/CertUtils.jsm @@ -170,17 +170,19 @@ this.checkCert = issuerCert = issuerCert.QueryInterface(Ci.nsIX509Cert3); var tokenNames = issuerCert.getAllTokenNames({}); diff --git a/thunderbird-mozconfig b/thunderbird-mozconfig index bd801a0..39665bc 100644 --- a/thunderbird-mozconfig +++ b/thunderbird-mozconfig @@ -19,8 +19,6 @@ ac_add_options --disable-xprint ac_add_options --disable-strip ac_add_options --disable-install-strip ac_add_options --enable-pango -# temporary disable system cairo, because compilation fails -#ac_add_options --enable-system-cairo ac_add_options --enable-svg ac_add_options --enable-canvas ac_add_options --enable-system-hunspell @@ -29,6 +27,7 @@ ac_add_options --disable-updater ac_add_options --enable-startup-notification ac_add_options --enable-gio ac_add_options --disable-gnomevfs +ac_add_options --disable-gstreamer export BUILD_OFFICIAL=1 export MOZILLA_OFFICIAL=1 diff --git a/thunderbird.spec b/thunderbird.spec index 471b22a..fc26af4 100644 --- a/thunderbird.spec +++ b/thunderbird.spec @@ -1,49 +1,48 @@ # Use system nspr/nss? -%if 0%{?fedora} < 16 && 0%{?rhel} < 7 +%if 0%{?fedora} < 18 %define system_nss 0 %else %define system_nss 1 %endif -# Build as a debug package? -%define debug_build 0 - -# Use system Librairies ? -%if 0%{?fedora} <= 17 -%define system_sqlite 0 -%else -%define system_sqlite 1 -%endif - %if 0%{?fedora} < 15 -%define system_cairo 0 %define system_vpx 0 %else -%define system_cairo 1 %define system_vpx 1 %endif -# Use system libpeg (and libjpeg-turbo) ? -%if 0%{?fedora} < 14 && 0%{?rhel} < 6 -%define system_jpeg 0 +# Use system Librairies ? +%if 0%{?fedora} < 19 +%define system_sqlite 0 +%define system_ffi 0 %else -%define system_jpeg 1 +%define system_sqlite 1 +%define system_ffi 1 %endif +# Use system libpeg (and libjpeg-turbo) ? +%define system_jpeg 1 + +# Use system cairo? +%define system_cairo 0 + +# Build as a debug package? +%define debug_build 0 + %define build_langpacks 1 %if %{?system_nss} # grep 'min_ns.*=[0-9]' configure -%global nspr_version 4.9.2 +%global nspr_version 4.9.6 %global nspr_build_version %(pkg-config --silence-errors --modversion nspr 2>/dev/null || echo 65536) -%global nss_version 3.13.6 +%global nss_version 3.15 %global nss_build_version %(pkg-config --silence-errors --modversion nss 2>/dev/null || echo 65536) %endif %define cairo_version 1.10.0 %define freetype_version 2.1.9 %if %{?system_sqlite} # grep '^SQLITE_VERSION' configure -%define sqlite_version 3.7.13 +%define sqlite_version 3.7.17 # The actual sqlite version (see #480989): %global sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo 65536) %endif @@ -59,7 +58,7 @@ # # IMPORTANT: If there is no top level directory, this should be # set to the cwd, ie: '.' -%define tarballdir comm-esr17 +%define tarballdir comm-esr24 %define official_branding 1 # don't enable crash reporter for remi repo @@ -69,14 +68,14 @@ Summary: Mozilla Thunderbird mail/newsgroup client Name: thunderbird -Version: 17.0.8 +Version: 24.0 Release: 1%{?dist} URL: http://www.mozilla.org/projects/thunderbird/ License: MPLv1.1 or GPLv2+ or LGPLv2+ Group: Applications/Internet Source0: ftp://ftp.mozilla.org/pub/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.bz2 %if %{build_langpacks} -Source1: thunderbird-langpacks-%{version}-20130805.tar.xz +Source1: thunderbird-langpacks-%{version}-20130916.tar.xz %endif Source10: thunderbird-mozconfig Source11: thunderbird-mozconfig-branded @@ -88,7 +87,7 @@ Source100: find-external-requires # Mozilla (XULRunner) patches Patch0: thunderbird-install-dir.patch Patch8: xulrunner-10.0-secondary-ipc.patch -Patch9: mozilla-791626.patch +Patch9: mozilla-build-arm.patch # Build patches Patch104: xulrunner-10.0-gcc47.patch @@ -97,9 +96,7 @@ Patch104: xulrunner-10.0-gcc47.patch Patch200: thunderbird-8.0-enable-addons.patch # PPC fixes -Patch300: xulrunner-16.0-jemalloc-ppc.patch -Patch301: rhbz-855923.patch -Patch302: mozilla-746112.patch +Patch300: xulrunner-24.0-jemalloc-ppc.patch # Fedora specific patches Patch400: rhbz-966424.patch @@ -143,6 +140,9 @@ BuildRequires: hunspell-devel %if %{?system_sqlite} BuildRequires: sqlite-devel >= %{sqlite_version} %endif +%if %{?system_ffi} +BuildRequires: libffi-devel +%endif BuildRequires: startup-notification-devel BuildRequires: alsa-lib-devel #BuildRequires: autoconf213 @@ -211,15 +211,13 @@ cd %{tarballdir} # Mozilla (XULRunner) patches cd mozilla %patch8 -p3 -b .secondary-ipc -%patch9 -p1 -b .791626 +%patch9 -p2 -b .arm %patch104 -p1 -b .gcc47 -%patch302 -p2 -b .746112 +%patch300 -p2 -b .852698 %patch400 -p1 -b .966424 cd .. %patch200 -p1 -b .addons -%patch300 -p1 -b .852698 -%patch301 -p1 -b .855923 %if %{official_branding} # Required by Mozilla Corporation @@ -232,9 +230,6 @@ cd .. %{__rm} -f .mozconfig #{__cp} %{SOURCE10} .mozconfig cat %{SOURCE10} \ -%if ! %{system_cairo} - | grep -v enable-system-cairo \ -%endif %if ! %{system_vpx} | grep -v with-system-libvpx \ %endif @@ -270,6 +265,16 @@ echo "ac_add_options --enable-system-sqlite" >> .mozconfig echo "ac_add_options --disable-system-sqlite" >> .mozconfig %endif +%if %{?system_cairo} +echo "ac_add_options --enable-system-cairo" >> .mozconfig +%else +echo "ac_add_options --disable-system-cairo" >> .mozconfig +%endif + +%if %{?system_ffi} +echo "ac_add_options --enable-system-ffi" >> .mozconfig +%endif + %if %{?debug_build} echo "ac_add_options --enable-debug" >> .mozconfig echo "ac_add_options --disable-optimize" >> .mozconfig @@ -473,7 +478,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %dir %{mozappdir}/components %ghost %{mozappdir}/components/compreg.dat %ghost %{mozappdir}/components/xpti.dat -%{mozappdir}/components/binary.manifest +%{mozappdir}/components/components.manifest %{mozappdir}/components/libdbusservice.so %{mozappdir}/components/libmozgnome.so %{mozappdir}/omni.ja @@ -514,12 +519,20 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %exclude %{_includedir}/%{name}-%{version} %{mozappdir}/chrome.manifest %{mozappdir}/searchplugins -%{mozappdir}/distribution/extensions %{mozappdir}/dependentlibs.list #=============================================================================== %changelog +* Wed Sep 18 2013 Remi Collet - 24.0-1 +- Update to 24.0, sync with rawhide + +* Wed Sep 18 2013 Martin Stransky - 24.0-2 +- Added arm build fix + +* Mon Sep 16 2013 Jan Horak - 24.0-1 +- Update to 24.0 + * Tue Aug 6 2013 Remi Collet - 17.0.8-1 - Update to 17.0.8, sync with rawhide diff --git a/xulrunner-16.0-jemalloc-ppc.patch b/xulrunner-16.0-jemalloc-ppc.patch deleted file mode 100644 index e4fca79..0000000 --- a/xulrunner-16.0-jemalloc-ppc.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: xulrunner-11.0/mozilla-release/memory/jemalloc/jemalloc.c -=================================================================== ---- a/mozilla/memory/mozjemalloc/jemalloc.c -+++ b/mozilla/memory/mozjemalloc/jemalloc.c -@@ -1089,7 +1089,9 @@ static unsigned ncpus; - * controlling the malloc behavior are defined as compile-time constants - * for best performance and cannot be altered at runtime. - */ -+#if !(defined(__powerpc__)) - #define MALLOC_STATIC_SIZES 1 -+#endif - - #ifdef MALLOC_STATIC_SIZES - diff --git a/xulrunner-24.0-jemalloc-ppc.patch b/xulrunner-24.0-jemalloc-ppc.patch new file mode 100644 index 0000000..fe404ca --- /dev/null +++ b/xulrunner-24.0-jemalloc-ppc.patch @@ -0,0 +1,12 @@ +diff -up xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c.jemalloc-ppc xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c +--- xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c.jemalloc-ppc 2013-09-11 01:15:18.000000000 +0200 ++++ xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c 2013-09-13 13:36:34.171680919 +0200 +@@ -1104,7 +1104,7 @@ static unsigned ncpus; + * controlling the malloc behavior are defined as compile-time constants + * for best performance and cannot be altered at runtime. + */ +-#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) ++#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !(defined(__powerpc__)) + #define MALLOC_STATIC_SIZES 1 + #endif + -- cgit