diff options
| author | Remi Collet <fedora@famillecollet.com> | 2011-07-17 20:59:58 +0200 | 
|---|---|---|
| committer | Remi Collet <fedora@famillecollet.com> | 2011-07-17 20:59:58 +0200 | 
| commit | 8723724f1dee5a912b90b7bbaef9fe07a4b3e129 (patch) | |
| tree | 9f38723cb5d065eff5993a6c7f9a5ea951bb335d | |
| parent | 74ad8cbbbbcb177b83f2394488ed90e7dd115583 (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.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>  | 
