From 8723724f1dee5a912b90b7bbaef9fe07a4b3e129 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sun, 17 Jul 2011 20:59:58 +0200 Subject: Enigmail 1.2 for Thunderbird 5.0 --- thunderbird-enigmail.spec | 138 +++++++++++++++++++++------------------------- 1 file changed, 64 insertions(+), 74 deletions(-) (limited to 'thunderbird-enigmail.spec') 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 <= 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 1.2-1 +- Enigmail 1.2 for Thunderbird 5.0 + * Thu Jul 22 2010 Remi Collet 1.1.2-3 - move to /usr/lib/mozilla/extensions (as lightning) - build against thunderbird 3.1.1 sources -- cgit