summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2011-07-17 20:59:58 +0200
committerRemi Collet <fedora@famillecollet.com>2011-07-17 20:59:58 +0200
commit8723724f1dee5a912b90b7bbaef9fe07a4b3e129 (patch)
tree9f38723cb5d065eff5993a6c7f9a5ea951bb335d
parent74ad8cbbbbcb177b83f2394488ed90e7dd115583 (diff)
Enigmail 1.2 for Thunderbird 5.0
-rw-r--r--crashreporter-remove-static.patch (renamed from remove-static.patch)2
-rw-r--r--enigmail-1.1.2-perm.patch19
-rw-r--r--enigmail-rdf.patch26
-rw-r--r--mozilla-build-s390.patch11
-rw-r--r--mozilla-jemalloc.patch24
-rw-r--r--thunderbird-enigmail.spec138
-rw-r--r--thunderbird-mozconfig7
-rw-r--r--thunderbird-shared-error.patch16
-rw-r--r--xulrunner-1.9.2.1-build.patch12
-rw-r--r--xulrunner-missing-headers.patch11
10 files changed, 108 insertions, 158 deletions
diff --git a/remove-static.patch b/crashreporter-remove-static.patch
index 9cc94fb..330ab1a 100644
--- a/remove-static.patch
+++ b/crashreporter-remove-static.patch
@@ -1,3 +1,5 @@
+Remove static build option from crashreporter to remove dependency on static libraries
+
diff -up comm-1.9.2/mozilla/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in.static comm-1.9.2/mozilla/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in
--- comm-1.9.2/mozilla/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in.static 2010-06-23 19:47:11.000000000 +0200
+++ comm-1.9.2/mozilla/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in 2010-07-12 15:51:41.000000000 +0200
diff --git a/enigmail-1.1.2-perm.patch b/enigmail-1.1.2-perm.patch
deleted file mode 100644
index 476bed0..0000000
--- a/enigmail-1.1.2-perm.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -up enigmail-1.1.2/package/enigmail.js.perm enigmail-1.1.2/package/enigmail.js
---- enigmail-1.1.2/package/enigmail.js.perm 2010-06-30 19:18:50.000000000 +0200
-+++ enigmail-1.1.2/package/enigmail.js 2010-06-30 19:19:22.000000000 +0200
-@@ -1231,7 +1231,6 @@ function () {
- .getInstallLocation(ENIGMAIL_EXTENSION_ID);
- var extensionLoc = installLoc.getItemFile(ENIGMAIL_EXTENSION_ID, "wrappers");
- extensionLoc.append("gpg-agent-wrapper.sh");
-- extensionLoc.permissions=0755;
- agentProcess = Components.classes[NS_PROCESS_UTIL_CONTRACTID].createInstance(Components.interfaces.nsIProcess);
- agentProcess.init(extensionLoc);
- agentProcess.run(true, [ "stop", this.gpgAgentProcess ], 2);
-@@ -1758,7 +1757,6 @@ function (domWindow) {
- .getInstallLocation(ENIGMAIL_EXTENSION_ID);
- var extensionLoc = installLoc.getItemFile(ENIGMAIL_EXTENSION_ID, "wrappers");
- extensionLoc.append("gpg-agent-wrapper.sh");
-- extensionLoc.permissions=0755;
- args.unshift(command.path);
- args.unshift("start");
- command = extensionLoc;
diff --git a/enigmail-rdf.patch b/enigmail-rdf.patch
new file mode 100644
index 0000000..e5c954e
--- /dev/null
+++ b/enigmail-rdf.patch
@@ -0,0 +1,26 @@
+--- enigmail/package/install.rdf.orig 2011-07-17 20:18:23.000000000 +0200
++++ enigmail/package/install.rdf 2011-07-17 20:18:32.000000000 +0200
+@@ -5,7 +5,7 @@
+
+ <Description about="urn:mozilla:install-manifest">
+ <em:id>{847b3a00-7ab1-11d4-8f02-006008948af5}</em:id>
+- <em:version>1.2pre</em:version>
++ <em:version>1.2</em:version>
+ <em:type>2</em:type> <!-- type = extension -->
+ <em:unpack>true</em:unpack>
+
+@@ -27,14 +27,6 @@
+ <em:maxVersion>2.1.*</em:maxVersion>
+ </Description>
+ </em:targetApplication>
+- <!-- em:targetApplication>
+- < ! -- Spicebird -- >
+- <Description>
+- <em:id>{ee53ece0-255c-4cc6-8a7e-81a8b6e5ba2c}</em:id>
+- <em:minVersion>0.7</em:minVersion>
+- <em:maxVersion>0.8</em:maxVersion>
+- </Description>
+- </em:targetApplication -->
+
+ <!-- targetPlatform placeholder -->
+
diff --git a/mozilla-build-s390.patch b/mozilla-build-s390.patch
new file mode 100644
index 0000000..2bfe1d5
--- /dev/null
+++ b/mozilla-build-s390.patch
@@ -0,0 +1,11 @@
+diff -up mozilla-1.9.2/js/src/jstl.h.s390 mozilla-1.9.2/js/src/jstl.h
+--- mozilla-1.9.2/js/src/jstl.h.s390 2011-02-18 19:33:24.000000000 +0100
++++ mozilla-1.9.2/js/src/jstl.h 2011-03-07 08:41:29.000000000 +0100
+@@ -195,7 +195,6 @@ class ReentrancyGuard
+ JS_ALWAYS_INLINE size_t
+ RoundUpPow2(size_t x)
+ {
+- typedef tl::StaticAssert<tl::IsSameType<size_t,JSUword>::result>::result _;
+ size_t log2 = JS_CEILING_LOG2W(x);
+ JS_ASSERT(log2 < tl::BitSize<size_t>::result);
+ size_t result = size_t(1) << log2;
diff --git a/mozilla-jemalloc.patch b/mozilla-jemalloc.patch
deleted file mode 100644
index 2ef0b97..0000000
--- a/mozilla-jemalloc.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -r f1af606531f5 memory/jemalloc/jemalloc.h
---- mozilla/memory/jemalloc/jemalloc.h Sat Nov 22 20:22:22 2008 +0100
-+++ mozilla/memory/jemalloc/jemalloc.h Mon Dec 01 16:53:06 2008 -0500
-@@ -45,14 +45,14 @@
- } jemalloc_stats_t;
-
- #ifndef MOZ_MEMORY_DARWIN
--void *malloc(size_t size);
--void *valloc(size_t size);
--void *calloc(size_t num, size_t size);
--void *realloc(void *ptr, size_t size);
--void free(void *ptr);
-+void *malloc(size_t size) __THROW __attribute_malloc__ __wur;
-+void *valloc(size_t size) __THROW __attribute_malloc__ __wur;
-+void *calloc(size_t num, size_t size) __THROW __attribute_malloc__ __wur;
-+void *realloc(void *ptr, size_t size) __THROW __attribute_malloc__ __wur;
-+void free(void *ptr) __THROW __attribute_malloc__ __wur;
- #endif
-
--int posix_memalign(void **memptr, size_t alignment, size_t size);
-+int posix_memalign(void **memptr, size_t alignment, size_t size) __THROW __attribute_malloc__ __wur;
- void *memalign(size_t alignment, size_t size);
- size_t malloc_usable_size(const void *ptr);
- void jemalloc_stats(jemalloc_stats_t *stats);
diff --git a/thunderbird-enigmail.spec b/thunderbird-enigmail.spec
index ba27121..a47af28 100644
--- a/thunderbird-enigmail.spec
+++ b/thunderbird-enigmail.spec
@@ -1,16 +1,14 @@
-%define nspr_version 4.8
-%define nss_version 3.12.3.99
+%define nspr_version 4.8.6
+%define nss_version 3.12.8
%define cairo_version 1.8.8
%define freetype_version 2.1.9
%define lcms_version 1.19
%define sqlite_version 3.6.22
%define libnotify_version 0.4
-%define moz_objdir objdir-tb
+%define build_langpacks 1
+%define thunderbird_app_id \{3550f703-e582-4d05-9a08-453d09bdfdc6\}
-%global thunver 3.1.1
-#global thunbeta rc1
-#global CVS 20091121
-#global prever rc1
+%global thunver 5.0
# The tarball is pretty inconsistent with directory structure.
# Sometimes there is a top level directory. That goes here.
@@ -18,22 +16,22 @@
# IMPORTANT: If there is no top level directory, this should be
# set to the cwd, ie: '.'
#%define tarballdir .
-%define tarballdir comm-1.9.2
+%define tarballdir comm-miramar
%define official_branding 1
-%define version_internal 3.1
+%define version_internal 5.0
%define mozappdir %{_libdir}/thunderbird-%{version_internal}
%global enigmail_extname %{_libdir}/mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}/{847b3a00-7ab1-11d4-8f02-006008948af5}
Summary: Authentication and encryption extension for Mozilla Thunderbird
Name: thunderbird-enigmail
-Version: 1.1.2
+Version: 1.2
%if 0%{?prever:1}
Release: 0.1.%{prever}%{?dist}
%else
-Release: 3%{?dist}
+Release: 1%{?dist}
%endif
URL: http://enigmail.mozdev.org/
License: MPLv1.1 or GPLv2+
@@ -59,20 +57,12 @@ Source100: http://www.mozilla-enigmail.org/download/source/enigmail-%{versi
Source101: enigmail-fixlang.php
-# Fix for version issues
Patch0: thunderbird-version.patch
-# Fix for jemalloc
-Patch1: mozilla-jemalloc.patch
-# Fix for installation fail when building with dynamic linked libraries
-Patch2: thunderbird-shared-error.patch
-# Fixes gcc complain that nsFrame::delete is protected
-Patch4: xulrunner-1.9.2.1-build.patch
-# Fix missing includes for crash reporter, remove in 3.1 final
-Patch5: xulrunner-missing-headers.patch
-Patch6: remove-static.patch
+Patch6: mozilla-build-s390.patch
+Patch7: crashreporter-remove-static.patch
# Enigmail patch
-Patch101: enigmail-1.1.2-perm.patch
+Patch100: enigmail-rdf.patch
%if %{official_branding}
@@ -84,16 +74,14 @@ Patch101: enigmail-1.1.2-perm.patch
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-%if 0%{?fedora} >= 11
+%if 0%{?fedora} >= 12
BuildRequires: nspr-devel >= %{nspr_version}
+%endif
+%if 0%{?fedora} >= 13
BuildRequires: nss-devel >= %{nss_version}
%endif
-%if %{fedora} >= 11
BuildRequires: cairo-devel >= %{cairo_version}
-%endif
-%if %{fedora} >= 10
BuildRequires: libnotify-devel >= %{libnotify_version}
-%endif
BuildRequires: libpng-devel
BuildRequires: libjpeg-devel
BuildRequires: zip
@@ -109,20 +97,20 @@ BuildRequires: pango-devel
BuildRequires: freetype-devel >= %{freetype_version}
BuildRequires: libXt-devel
BuildRequires: libXrender-devel
-%if 0%{?fedora} >= 10
BuildRequires: hunspell-devel
-%endif
-%if 0%{?fedora} >= 13
+%if 0%{?fedora} >= 15
+# Need SQLITE_SECURE_DELETE option
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
+BuildRequires: mesa-libGL-devel
BuildRequires: GConf2-devel
-%if %{fedora} >= 11
BuildRequires: lcms-devel >= %{lcms_version}
-%endif
%ifarch %{ix86} x86_64
BuildRequires: wireless-tools-devel
%endif
@@ -159,11 +147,13 @@ sed -e 's/__RPM_VERSION_INTERNAL__/%{version_internal}/' %{P:%%PATCH0} \
> version.patch
%{__patch} -p1 -b --suffix .version --fuzz=0 < version.patch
-%patch1 -p0 -b .jemalloc
-%patch2 -p1 -b .shared-error
-%patch4 -p1 -b .protected
-%patch5 -p0 -b .stat
-%patch6 -p1 -b .static
+# Mozilla (XULRunner) patches
+cd mozilla
+%ifarch s390
+%patch6 -p1 -b .s390
+%endif
+%patch7 -p2 -b .static
+cd ..
%if %{official_branding}
# Required by Mozilla Corporation
@@ -176,16 +166,14 @@ sed -e 's/__RPM_VERSION_INTERNAL__/%{version_internal}/' %{P:%%PATCH0} \
%{__rm} -f .mozconfig
cat %{SOURCE10} \
-%if %{fedora} < 13
+%if %{fedora} < 15
| grep -v system-sqlite \
%endif
-%if %{fedora} < 11
+%if %{fedora} < 13
| grep -v system-nss \
- | grep -v system-nspr \
- | grep -v system-hunspell \
%endif
-%if %{fedora} < 11
- | grep -v system-cairo \
+%if %{fedora} < 12
+ | grep -v system-nspr \
%endif
%ifarch %{ix86} x86_64
| grep -v disable-necko-wifi \
@@ -193,15 +181,9 @@ cat %{SOURCE10} \
| tee .mozconfig
cat <<EOF | tee -a .mozconfig
-%if %{fedora} >= 10
ac_add_options --enable-libnotify
-%else
-ac_add_options --disable-libnotify
-%endif
-%if %{fedora} >= 11
ac_add_options --enable-system-lcms
-%endif
-%if %{fedora} >= 13
+%if %{fedora} >= 15
ac_add_options --enable-system-sqlite
%endif
EOF
@@ -216,6 +198,14 @@ EOF
mkdir mailnews/extensions/enigmail
tar xzf %{SOURCE100} -C mailnews/extensions/enigmail
+%else
+tar xzf %{SOURCE100} -C mailnews/extensions
+pushd mailnews/extensions/enigmail
+# Apply Enigmail patch here
+%patch100 -p1 -b .orig
+popd
+%endif
+
pushd mailnews/extensions/enigmail
for rep in $(cat lang/current-languages.txt)
do
@@ -224,12 +214,6 @@ do
php %{SOURCE101} ui/locale/en-US lang/$rep
done
popd
-%else
-tar xzf %{SOURCE100} -C mailnews/extensions
-pushd mailnews/extensions/enigmail
-%patch101 -p1
-popd
-%endif
#===============================================================================
@@ -239,11 +223,18 @@ cd %{tarballdir}
INTERNAL_GECKO=%{version_internal}
MOZ_APP_DIR=%{mozappdir}
-# Build with -Os as it helps the browser; also, don't override mozilla's warning
-# level; they use -Wall but disable a few warnings that show up _everywhere_
-MOZ_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | %{__sed} -e 's/-O2/-Os/' -e 's/-Wall//')
+# -fpermissive is needed to build with gcc 4.6+ which has become stricter
+#
+# Mozilla builds with -Wall with exception of a few warnings which show up
+# everywhere in the code; so, don't override that.
+#
+# Disable C++ exceptions since Mozilla code is not exception-safe
+#
+MOZ_OPT_FLAGS=$(echo "$RPM_OPT_FLAGS -fpermissive" | \
+ %{__sed} -e 's/-Wall//' -e 's/-fexceptions/-fno-exceptions/g')
+export CFLAGS=$MOZ_OPT_FLAGS
+export CXXFLAGS=$MOZ_OPT_FLAGS
-export RPM_OPT_FLAGS=$MOZ_OPT_FLAGS
export PREFIX='%{_prefix}'
export LIBDIR='%{_libdir}'
@@ -257,25 +248,21 @@ export LIBDIR='%{_libdir}'
export LDFLAGS="-Wl,-rpath,%{mozappdir}"
export MAKE="gmake %{moz_make_flags}"
-# ===== Minimal build =====
-make -f client.mk export
-pushd %{moz_objdir}/mozilla/modules/libreg
-make
-cd ../../xpcom/string
-make
-cd ..
-make
-cd obsolete
-make
-popd
+# ===== Thunderbird build =====
+# http://enigmail.mozdev.org/download/source.php.html
+make -f client.mk build
# ===== Enigmail work =====
pushd mailnews/extensions/enigmail
./makemake -r
+make
popd
-pushd %{moz_objdir}/mailnews/extensions/enigmail
-make
+pushd mozilla/dist/bin/chrome/enigmail
+zip ../enigmail.jar -r content locale skin
+popd
+
+pushd mailnews/extensions/enigmail
make xpi
popd
@@ -288,7 +275,7 @@ cd %{tarballdir}
%{__mkdir_p} $RPM_BUILD_ROOT%{enigmail_extname}
-%{__unzip} -q %{moz_objdir}/mozilla/dist/bin/enigmail-*-linux-*.xpi -d $RPM_BUILD_ROOT%{enigmail_extname}
+%{__unzip} -q mozilla/dist/bin/enigmail-*-linux-*.xpi -d $RPM_BUILD_ROOT%{enigmail_extname}
%{__chmod} +x $RPM_BUILD_ROOT%{enigmail_extname}/wrappers/*.sh
@@ -304,6 +291,9 @@ cd %{tarballdir}
#===============================================================================
%changelog
+* Sun Jul 17 2011 Remi Collet <rpms@famillecollet.com> 1.2-1
+- Enigmail 1.2 for Thunderbird 5.0
+
* Thu Jul 22 2010 Remi Collet <rpms@famillecollet.com> 1.1.2-3
- move to /usr/lib/mozilla/extensions (as lightning)
- build against thunderbird 3.1.1 sources
diff --git a/thunderbird-mozconfig b/thunderbird-mozconfig
index c7334ff..6745396 100644
--- a/thunderbird-mozconfig
+++ b/thunderbird-mozconfig
@@ -1,6 +1,6 @@
mk_add_options MOZ_CO_PROJECT=mail
ac_add_options --enable-application=mail
-mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-tb/
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@
mk_add_options AUTOCONF=autoconf-2.13
#ac_add_options --with-system-png
@@ -15,7 +15,7 @@ ac_add_options --with-pthreads
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-installer
-ac_add_options --enable-optimize="$RPM_OPT_FLAGS"
+ac_add_options --enable-optimize
ac_add_options --enable-xinerama
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --disable-xprint
@@ -28,6 +28,9 @@ ac_add_options --enable-canvas
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
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
diff --git a/thunderbird-shared-error.patch b/thunderbird-shared-error.patch
deleted file mode 100644
index 2869fd8..0000000
--- a/thunderbird-shared-error.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -up comm-central/mail/installer/Makefile.in.shared-error comm-central/mail/installer/Makefile.in
---- comm-central/mail/installer/Makefile.in.shared-error 2009-09-16 13:47:43.000000000 +0200
-+++ comm-central/mail/installer/Makefile.in 2009-09-16 13:48:25.000000000 +0200
-@@ -95,9 +95,11 @@ endif
- # mozconfig instead.
- ifndef MAIL_PKG_SHARED
- ifndef BUILD_STATIC_LIBS
-+ifeq (BUILD_STATIC_LIBS, 1)
- $(error you need an "--enable-static" build to package a build)
- endif
- endif
-+endif
-
- include $(MOZILLA_SRCDIR)/toolkit/mozapps/installer/packager.mk
-
-
diff --git a/xulrunner-1.9.2.1-build.patch b/xulrunner-1.9.2.1-build.patch
deleted file mode 100644
index 4d9ee43..0000000
--- a/xulrunner-1.9.2.1-build.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up xulrunner-1.9.2.1/mozilla-1.9.2/layout/generic/nsFrame.h.old xulrunner-1.9.2.1/mozilla-1.9.2/layout/generic/nsFrame.h
---- xulrunner-1.9.2.1/mozilla/layout/generic/nsFrame.h.old 2009-11-11 15:34:51.000000000 +0100
-+++ xulrunner-1.9.2.1/mozilla/layout/generic/nsFrame.h 2009-11-11 15:33:09.000000000 +0100
-@@ -157,7 +157,7 @@ private:
- // Left undefined; nsFrame objects are never allocated from the heap.
- void* operator new(size_t sz) CPP_THROW_NEW;
-
--protected:
-+public:
- // Overridden to prevent the global delete from being called, since
- // the memory came out of an arena instead of the heap.
- //
diff --git a/xulrunner-missing-headers.patch b/xulrunner-missing-headers.patch
deleted file mode 100644
index 946c35c..0000000
--- a/xulrunner-missing-headers.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/file_id.cc.stat mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/file_id.cc
---- mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/file_id.cc.stat 2010-06-16 15:12:57.000000000 +0200
-+++ mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/file_id.cc 2010-06-16 15:13:02.000000000 +0200
-@@ -42,6 +42,7 @@
- #include <link.h>
- #include <string.h>
- #include <sys/mman.h>
-+#include <sys/stat.h>
- #include <unistd.h>
-
- #include <algorithm>