diff options
-rw-r--r-- | crashreporter-remove-static.patch (renamed from remove-static.patch) | 2 | ||||
-rw-r--r-- | enigmail-1.1.2-perm.patch | 19 | ||||
-rw-r--r-- | enigmail-rdf.patch | 26 | ||||
-rw-r--r-- | mozilla-build-s390.patch | 11 | ||||
-rw-r--r-- | mozilla-jemalloc.patch | 24 | ||||
-rw-r--r-- | thunderbird-enigmail.spec | 138 | ||||
-rw-r--r-- | thunderbird-mozconfig | 7 | ||||
-rw-r--r-- | thunderbird-shared-error.patch | 16 | ||||
-rw-r--r-- | xulrunner-1.9.2.1-build.patch | 12 | ||||
-rw-r--r-- | xulrunner-missing-headers.patch | 11 |
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> |