From ca28a82173718dbc9a447a0a02f2892f5ebbd99a Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 9 Oct 2012 19:07:38 +0200 Subject: Enigmail 1.4.5 for Thunderbird 16 --- rhbz-855923.patch | 19 +++++++++++ thunderbird-enigmail.spec | 69 ++++++++++++++++++++++++++------------- thunderbird-install-dir.patch | 49 +++++++++++++-------------- thunderbird-mozconfig | 2 -- xulrunner-16.0-jemalloc-ppc.patch | 14 ++++++++ 5 files changed, 105 insertions(+), 48 deletions(-) create mode 100644 rhbz-855923.patch create mode 100644 xulrunner-16.0-jemalloc-ppc.patch diff --git a/rhbz-855923.patch b/rhbz-855923.patch new file mode 100644 index 0000000..c6282b0 --- /dev/null +++ b/rhbz-855923.patch @@ -0,0 +1,19 @@ +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/thunderbird-enigmail.spec b/thunderbird-enigmail.spec index a3cc226..6a2644f 100644 --- a/thunderbird-enigmail.spec +++ b/thunderbird-enigmail.spec @@ -1,3 +1,11 @@ +# Use system nspr/nss? +%if 0%{?fedora} < 15 && 0%{?rhel} < 6 +%define system_nss 0 +%else +%define system_nss 1 +%endif + +# Build as a debug package? %define debug_build 0 # Use system Librairies ? @@ -6,13 +14,6 @@ %else %define system_sqlite 1 %endif -%if 0%{?fedora} < 15 && 0%{?rhel} < 6 -%define system_nspr 0 -%define system_nss 0 -%else -%define system_nspr 1 -%define system_nss 1 -%endif %if 0%{?fedora} < 15 %define system_cairo 0 %define system_vpx 0 @@ -23,20 +24,24 @@ %define build_langpacks 1 +%if %{?system_nss} %define nspr_version 4.9 %define nss_version 3.13.3 +%endif %define cairo_version 1.10.0 %define freetype_version 2.1.9 %define lcms_version 1.19 +%if %{?system_sqlite} %define sqlite_version 3.7.10 +%endif %define libnotify_version 0.4 %global libvpx_version 1.0.0 %define _default_patch_fuzz 2 %define thunderbird_app_id \{3550f703-e582-4d05-9a08-453d09bdfdc6\} -%global thunver 15.0 -%global thunmax 16.0 +%global thunver 16.0 +%global thunmax 17.0 # The tarball is pretty inconsistent with directory structure. # Sometimes there is a top level directory. That goes here. @@ -54,11 +59,11 @@ Summary: Authentication and encryption extension for Mozilla Thunderbird Name: thunderbird-enigmail -Version: 1.4.4 +Version: 1.4.5 %if 0%{?prever:1} Release: 0.1.%{prever}%{?dist} %else -Release: 2%{?dist} +Release: 1%{?dist} %endif URL: http://enigmail.mozdev.org/ License: MPLv1.1 or GPLv2+ @@ -91,6 +96,10 @@ Patch104: xulrunner-10.0-gcc47.patch # Linux specific Patch200: thunderbird-8.0-enable-addons.patch +# PPC fixes +Patch300: xulrunner-16.0-jemalloc-ppc.patch +Patch301: rhbz-855923.patch + # Enigmail patch @@ -102,11 +111,9 @@ Patch200: thunderbird-8.0-enable-addons.patch %endif -%if %{system_nspr} +%if %{?system_nss} +BuildRequires: nss-static >= %{nss_version} BuildRequires: nspr-devel >= %{nspr_version} -%endif -%if %{system_nss} -BuildRequires: nss-static BuildRequires: nss-devel >= %{nss_version} %endif %if %{system_cairo} @@ -181,6 +188,8 @@ cd mozilla cd .. %patch200 -p1 -b .addons +%patch300 -p1 -b .852698 +%patch301 -p1 -b .855923 %if %{official_branding} # Required by Mozilla Corporation @@ -193,12 +202,6 @@ cd .. %{__rm} -f .mozconfig cat %{SOURCE10} \ -%if ! %{system_nss} - | grep -v system-nss \ -%endif -%if ! %{system_nspr} - | grep -v system-nspr \ -%endif %if ! %{system_cairo} | grep -v enable-system-cairo \ %endif @@ -215,6 +218,14 @@ echo "ac_add_options --disable-libjpeg-turbo" >> .mozconfig %{__cat} %{SOURCE11} >> .mozconfig %endif +%if %{?system_nss} +echo "ac_add_options --with-system-nspr" >> .mozconfig +echo "ac_add_options --with-system-nss" >> .mozconfig +%else +echo "ac_add_options --without-system-nspr" >> .mozconfig +echo "ac_add_options --without-system-nss" >> .mozconfig +%endif + # s390(x) fails to start with jemalloc enabled %ifarch s390 s390x echo "ac_add_options --disable-jemalloc" >> .mozconfig @@ -250,7 +261,7 @@ pushd mailnews/extensions/enigmail # All tarballs (as well as CVS) will *always* report as 1.4a1pre (or whatever # the next major version would be). This is because I create builds from trunk # and simply label the result as 1.3.x. -# sed -i -e '/em:version/s/1.5a1pre/%{version}/' package/install.rdf +sed -i -e '/em:version/s/1.5a1pre/%{version}/' package/install.rdf grep '%{version}' package/install.rdf || exit 1 # Apply Enigmail patch here popd @@ -278,8 +289,19 @@ cd %{tarballdir} # MOZ_OPT_FLAGS=$(echo "$RPM_OPT_FLAGS -fpermissive" | \ %{__sed} -e 's/-Wall//' -e 's/-fexceptions/-fno-exceptions/g') +%if %{?debug_build} +MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//') +%endif +%ifarch s390 +MOZ_OPT_FLAGS=$(echo "$RPM_OPT_FLAGS" | %{__sed} -e 's/-g/-g1') +%endif +%ifarch s390 %{arm} ppc +MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads" +%endif + export CFLAGS=$MOZ_OPT_FLAGS export CXXFLAGS=$MOZ_OPT_FLAGS +export LDFLAGS=$MOZ_LINK_FLAGS export PREFIX='%{_prefix}' export LIBDIR='%{_libdir}' @@ -326,6 +348,9 @@ unzip -q objdir/mozilla/dist/bin/enigmail-*-linux-*.xpi -d $RPM_BUILD_ROOT%{enig #=============================================================================== %changelog +* Tue Oct 9 2012 Remi Collet 1.4.5-1 +- Enigmail 1.4.5 for Thunderbird 16 + * Mon Aug 27 2012 Remi Collet 1.4.4-2 - Enigmail 1.4.4 for Thunderbird 15.0 diff --git a/thunderbird-install-dir.patch b/thunderbird-install-dir.patch index 931e7ad..96342b9 100644 --- a/thunderbird-install-dir.patch +++ b/thunderbird-install-dir.patch @@ -1,7 +1,7 @@ -diff -up thunderbird-7.0/comm-beta/config/autoconf.mk.in.old thunderbird-7.0/comm-beta/config/autoconf.mk.in ---- thunderbird-7.0/comm-beta/config/autoconf.mk.in.old 2011-09-05 12:24:29.000000000 +0200 -+++ thunderbird-7.0/comm-beta/config/autoconf.mk.in 2011-09-12 12:21:09.304918326 +0200 -@@ -65,7 +65,7 @@ datadir = @datadir@ +diff -up thunderbird-16.0/comm-release/config/autoconf.mk.in.dir thunderbird-16.0/comm-release/config/autoconf.mk.in +--- thunderbird-16.0/comm-release/config/autoconf.mk.in.dir 2012-10-05 23:20:26.000000000 +0200 ++++ thunderbird-16.0/comm-release/config/autoconf.mk.in 2012-10-09 12:57:24.290767832 +0200 +@@ -36,7 +36,7 @@ datadir = @datadir@ mandir = @mandir@ idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) @@ -10,27 +10,28 @@ diff -up thunderbird-7.0/comm-beta/config/autoconf.mk.in.old thunderbird-7.0/com sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) MOZDEPTH = $(DEPTH)/mozilla -diff -up thunderbird-7.0/comm-beta/mozilla/config/autoconf.mk.in.old thunderbird-7.0/comm-beta/mozilla/config/autoconf.mk.in ---- thunderbird-7.0/comm-beta/mozilla/config/autoconf.mk.in.old 2011-09-05 12:38:22.000000000 +0200 -+++ thunderbird-7.0/comm-beta/mozilla/config/autoconf.mk.in 2011-09-12 12:21:24.192991555 +0200 -@@ -68,7 +68,7 @@ datadir = @datadir@ - mandir = @mandir@ - idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +diff -up thunderbird-16.0/comm-release/mozilla/config/autoconf.mk.in.dir thunderbird-16.0/comm-release/mozilla/config/autoconf.mk.in +diff -up thunderbird-16.0/comm-release/mozilla/config/baseconfig.mk.dir thunderbird-16.0/comm-release/mozilla/config/baseconfig.mk +--- thunderbird-16.0/comm-release/mozilla/config/baseconfig.mk.dir 2012-10-05 23:27:15.000000000 +0200 ++++ thunderbird-16.0/comm-release/mozilla/config/baseconfig.mk 2012-10-09 13:01:32.269317094 +0200 +@@ -2,7 +2,7 @@ INCLUDED_AUTOCONF_MK = 1 --installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -+installdir = $(libdir)/$(MOZ_APP_NAME) - sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) + includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) + idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) ++installdir = $(libdir)/$(MOZ_APP_NAME) + sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) + DIST = $(DEPTH)/dist - DIST = $(DEPTH)/dist -diff -up thunderbird-7.0/comm-beta/mozilla/js/src/config/autoconf.mk.in.old thunderbird-7.0/comm-beta/mozilla/js/src/config/autoconf.mk.in ---- thunderbird-7.0/comm-beta/mozilla/js/src/config/autoconf.mk.in.old 2011-09-05 12:38:30.000000000 +0200 -+++ thunderbird-7.0/comm-beta/mozilla/js/src/config/autoconf.mk.in 2011-09-12 12:21:37.409056596 +0200 -@@ -61,7 +61,7 @@ libdir = @libdir@ - datadir = @datadir@ - mandir = @mandir@ +diff -up thunderbird-16.0/comm-release/mozilla/js/src/config/autoconf.mk.in.dir thunderbird-16.0/comm-release/mozilla/js/src/config/autoconf.mk.in +diff -up thunderbird-16.0/comm-release/mozilla/js/src/config/baseconfig.mk.dir thunderbird-16.0/comm-release/mozilla/js/src/config/baseconfig.mk +--- thunderbird-16.0/comm-release/mozilla/js/src/config/baseconfig.mk.dir 2012-10-05 23:27:30.000000000 +0200 ++++ thunderbird-16.0/comm-release/mozilla/js/src/config/baseconfig.mk 2012-10-09 13:02:00.885495014 +0200 +@@ -1,6 +1,6 @@ + INCLUDED_AUTOCONF_MK = 1 --installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -+installdir = $(libdir)/$(MOZ_APP_NAME) - sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) +-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) ++installdir = $(libdir)/$(MOZ_APP_NAME) + sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) - TOP_DIST = @TOP_DIST@ + ifneq (,$(filter /%,$(TOP_DIST))) diff --git a/thunderbird-mozconfig b/thunderbird-mozconfig index 88c79fd..ab3b28c 100644 --- a/thunderbird-mozconfig +++ b/thunderbird-mozconfig @@ -7,8 +7,6 @@ mk_add_options AUTOCONF=autoconf-2.13 ac_add_options --prefix="$PREFIX" ac_add_options --libdir="$LIBDIR" -ac_add_options --with-system-nspr -ac_add_options --with-system-nss ac_add_options --with-system-jpeg ac_add_options --with-system-zlib ac_add_options --with-system-libvpx diff --git a/xulrunner-16.0-jemalloc-ppc.patch b/xulrunner-16.0-jemalloc-ppc.patch new file mode 100644 index 0000000..e4fca79 --- /dev/null +++ b/xulrunner-16.0-jemalloc-ppc.patch @@ -0,0 +1,14 @@ +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 + -- cgit