summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rhbz-855923.patch19
-rw-r--r--thunderbird-enigmail.spec69
-rw-r--r--thunderbird-install-dir.patch49
-rw-r--r--thunderbird-mozconfig2
-rw-r--r--xulrunner-16.0-jemalloc-ppc.patch14
5 files changed, 105 insertions, 48 deletions
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 '<em:version>%{version}</em: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 <remi@fedoraproject.org> 1.4.5-1
+- Enigmail 1.4.5 for Thunderbird 16
+
* Mon Aug 27 2012 Remi Collet <remi@fedoraproject.org> 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
+