[thunderbird-enigmail] - Enigmail 1.7pre (git snapshot) - new build system, without need for Thunderbird sources
Remi Collet
remi at fedoraproject.org
Mon Jun 9 05:38:48 UTC 2014
commit ccc36e9713479dc90996c037c6e7473142fdac1c
Author: Remi Collet <remi at fedoraproject.org>
Date: Mon Jun 9 07:38:36 2014 +0200
- Enigmail 1.7pre (git snapshot)
- new build system, without need for Thunderbird sources
.gitignore | 14 +--
mozilla-build-arm.patch | 12 --
rhbz-966424.patch | 24 ---
sources | 3 +-
thunderbird-8.0-enable-addons.patch | 26 ---
thunderbird-enigmail.spec | 305 +++++------------------------------
thunderbird-install-dir.patch | 35 ----
thunderbird-mozconfig | 38 -----
thunderbird-mozconfig-branded | 1 -
xulrunner-10.0-gcc47.patch | 13 --
xulrunner-10.0-secondary-ipc.patch | 36 ----
xulrunner-24.0-jemalloc-ppc.patch | 12 --
12 files changed, 42 insertions(+), 477 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index d13a782..2398ea3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,12 +1,2 @@
-*spec~
-/enigmail-1.4.5.tar.gz
-/thunderbird-16.0.1.source.tar.bz2
-/enigmail-1.4.6.tar.gz
-/thunderbird-17.0.source.tar.bz2
-/enigmail-1.5.0.tar.gz
-/enigmail-1.5.1.tar.gz
-/thunderbird-17.0.2.source.tar.bz2
-/enigmail-1.5.2.tar.gz
-/thunderbird-17.0.7.source.tar.bz2
-/thunderbird-24.0.source.tar.bz2
-/enigmail-1.6.tar.gz
+clog
+/enigmail-1.7-611bc95.tar.gz
diff --git a/sources b/sources
index 277a441..f7dca8b 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-38f4b2e574751e4e6cbe36dc8b3bce20 thunderbird-24.0.source.tar.bz2
-4a2bbcb020bdb282a660fda8c70d5608 enigmail-1.6.tar.gz
+d0a265df9625a26428ce6d5f2b1582cb enigmail-1.7-611bc95.tar.gz
diff --git a/thunderbird-enigmail.spec b/thunderbird-enigmail.spec
index 7b757fb..4057d6e 100644
--- a/thunderbird-enigmail.spec
+++ b/thunderbird-enigmail.spec
@@ -1,138 +1,44 @@
-# Use system nspr/nss?
-%define system_nss 1
-
-# Build as a debug package?
-%define debug_build 0
-
-%if 0%{?fedora} <= 18
-%define system_sqlite 0
-%else
-%define system_sqlite 1
-%endif
-
-%if %{?system_nss}
-%global nspr_version 4.9.6
-%global nss_version 3.15
-%endif
-
-%define cairo_version 1.10.0
-%define freetype_version 2.1.9
-
-%if %{?system_sqlite}
-%define sqlite_version 3.7.17
-%endif
-
-%define libnotify_version 0.4
-%global libvpx_version 1.0.0
-%define _default_patch_fuzz 2
-
+# spec file for thunderbird-enigmail
+#
+# Copyright (c) 2009-2014 Remi Collet
+# License: CC-BY-SA
+# http://creativecommons.org/licenses/by-sa/3.0/
+#
+# Please, preserve the changelog entries
+#
%define thunderbird_app_id \{3550f703-e582-4d05-9a08-453d09bdfdc6\}
%global enimail_app_id \{847b3a00-7ab1-11d4-8f02-006008948af5\}
-%global thunver 24.0
-
-# The tarball is pretty inconsistent with directory structure.
-# Sometimes there is a top level directory. That goes here.
-#
-# IMPORTANT: If there is no top level directory, this should be
-# set to the cwd, ie: '.'
-%define tarballdir comm-esr24
-
-%define official_branding 1
+%global thunmin 24.0
-%global mozappdir %{_libdir}/thunderbird
-%global enigmail_extname %{_libdir}/mozilla/extensions/%{thunderbird_app_id}/%{enimail_app_id}
+%global enigmail_extname %{_libdir}/mozilla/extensions/%{thunderbird_app_id}/%{enimail_app_id}
+%global gitcommit 611bc95456ad5fe308c53060d61ac3d015d0a054
+%global gitdate 20140608
+%global gitshort %(c=%{gitcommit}; echo ${c:0:7})
Summary: Authentication and encryption extension for Mozilla Thunderbird
Name: thunderbird-enigmail
-Version: 1.6
-Release: 3%{?dist}
+Version: 1.7
+Release: 0.1.%{gitdate}git%{gitshort}%{?dist}
URL: http://enigmail.mozdev.org/
# All files licensed under MPL 1.1/GPL 2.0/LGPL 2.1
License: MPLv1.1 or GPLv2+ or LGPLv2+
Group: Applications/Internet
-Source0: thunderbird-%{thunver}%{?thunbeta}.source.tar.bz2
-Source10: thunderbird-mozconfig
-Source11: thunderbird-mozconfig-branded
-
-# ===== Enigmail files =====
-Source100: http://www.mozilla-enigmail.org/download/source/enigmail-%{version}.tar.gz
-
-
-# Mozilla (XULRunner) patches
-Patch0: thunderbird-install-dir.patch
-Patch8: xulrunner-10.0-secondary-ipc.patch
-Patch9: mozilla-build-arm.patch
-
-# Build patches
-Patch104: xulrunner-10.0-gcc47.patch
-
-# Linux specific
-Patch200: thunderbird-8.0-enable-addons.patch
-
-# PPC fixes
-Patch300: xulrunner-24.0-jemalloc-ppc.patch
-
-# Fedora specific patches
-Patch400: rhbz-966424.patch
-
-# Enigmail patch
-
-
-%if %{official_branding}
-# Required by Mozilla Corporation
-
+%if 0%{?gitdate}
+# git clone git://git.code.sf.net/p/enigmail/source enigmail-source
+# cd enigmail-source; git checkout 611bc95
+# git archive --format=tar.gz --prefix enigmail-1.7/ --output ../enigmail-1.7-611bc95.tar.gz --verbose master
+Source0: enigmail-%{version}-%{gitshort}.tar.gz
%else
-# Not yet approved by Mozillla Corporation
-
+Source0: http://www.mozilla-enigmail.org/download/source/enigmail-%{version}.tar.gz
%endif
-%if %{?system_nss}
-BuildRequires: nss-static >= %{nss_version}
-BuildRequires: nspr-devel >= %{nspr_version}
-BuildRequires: nss-devel >= %{nss_version}
-%endif
-BuildRequires: cairo-devel >= %{cairo_version}
-BuildRequires: libnotify-devel >= %{libnotify_version}
-BuildRequires: libpng-devel
-BuildRequires: libjpeg-devel
BuildRequires: zip
-BuildRequires: bzip2-devel
-BuildRequires: zlib-devel
-BuildRequires: libIDL-devel
-BuildRequires: gtk2-devel
-BuildRequires: krb5-devel
-BuildRequires: pango-devel
-BuildRequires: freetype-devel >= %{freetype_version}
-BuildRequires: libXt-devel
-BuildRequires: libXrender-devel
-BuildRequires: hunspell-devel
-%if %{?system_sqlite}
-BuildRequires: sqlite-devel >= %{sqlite_version}
-%endif
-BuildRequires: startup-notification-devel
-BuildRequires: alsa-lib-devel
-BuildRequires: autoconf213
-BuildRequires: desktop-file-utils
-BuildRequires: libcurl-devel
-BuildRequires: mesa-libGL-devel
-BuildRequires: libvpx-devel >= %{libvpx_version}
-
-## For fixing lang
-BuildRequires: perl
-
+BuildRequires: perl >= 5.8
+BuildRequires: python >= 2.7
-# Without this enigmmail will require libxpcom.so and other .so
-# which are not provided by thunderbird (to avoid mistake,
-# because provided by xulrunner).
-AutoReq: 0
-# All others deps already required by thunderbird
-Requires: gnupg
-Requires: thunderbird >= %{thunver}
-
-# Nothing usefull provided
-AutoProv: 0
+Requires: thunderbird >= %{thunmin}
%description
@@ -140,166 +46,29 @@ Enigmail is an extension to the mail client Mozilla Thunderbird
which allows users to access the authentication and encryption
features provided by GnuPG
-#===============================================================================
%prep
-%setup -q -c
-cd %{tarballdir}
-
-%patch0 -p1 -b .dir
-# Mozilla (XULRunner) patches
-cd mozilla
-%patch8 -p3 -b .secondary-ipc
-%patch9 -p2 -b .arm
-%patch104 -p1 -b .gcc47
-%patch300 -p2 -b .852698
-%patch400 -p1 -b .966424
-cd ..
-
-%patch200 -p1 -b .addons
-
-%if %{official_branding}
-# Required by Mozilla Corporation
-
-%else
-# Not yet approved by Mozilla Corporation
+%setup -q -n enigmail-%{version}
+mkdir -p build/dist
-%endif
-
-%{__rm} -f .mozconfig
-%{__cp} %{SOURCE10} .mozconfig
-%if %{official_branding}
-%{__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
-%endif
-
-%if %{?system_sqlite}
-echo "ac_add_options --enable-system-sqlite" >> .mozconfig
-%else
-echo "ac_add_options --disable-system-sqlite" >> .mozconfig
-%endif
-
-%if %{?debug_build}
-echo "ac_add_options --enable-debug" >> .mozconfig
-echo "ac_add_options --disable-optimize" >> .mozconfig
-%else
-echo "ac_add_options --disable-debug" >> .mozconfig
-echo "ac_add_options --enable-optimize" >> .mozconfig
-%endif
-
-%ifarch %{arm}
-echo "ac_add_options --disable-elf-hack" >> .mozconfig
-%endif
-
-%ifnarch %{ix86} x86_64
-echo "ac_add_options --disable-webrtc" >> .mozconfig
-%endif
-
-# ===== Enigmail work =====
-%if 0%{?CVS}
-mkdir mailnews/extensions/enigmail
-tar xzf %{SOURCE100} -C mailnews/extensions/enigmail
-
-%else
-tar xzf %{SOURCE100} -C mailnews/extensions
-pushd mailnews/extensions/enigmail
-# From: Patrick Brunschwig <patrick at mozilla-enigmail.org>
-# 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.6a1pre/%{version}/' package/install.rdf
-grep '<em:version>%{version}</em:version>' package/install.rdf || exit 1
-# Apply Enigmail patch here
-popd
-%endif
+# Fix displayed version
+sed -e '/em:version/s/1.7/1.7pre/' \
+ -i package/install.rdf
-# ===== Fixing langpack
-pushd mailnews/extensions/enigmail
-for rep in $(cat lang/current-languages.txt)
-do
- perl util/fixlang.pl ui/locale/en-US lang/$rep
-done
-popd
-
-#===============================================================================
%build
-cd %{tarballdir}
-
-# -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//')
-
-MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
-
-%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}'
-
-MOZ_SMP_FLAGS=-j1
-# On x86 architectures, Mozilla can build up to 4 jobs at once in parallel,
-# however builds tend to fail on other arches when building in parallel.
-%ifarch %{ix86} x86_64 ppc ppc64
-[ -z "$RPM_BUILD_NCPUS" ] && \
- RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
-[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
-[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4
-[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8
-%endif
-
+# see https://www.enigmail.net/download/build_instructions.php
+%configure
-# ===== Thunderbird build =====
-# http://enigmail.mozdev.org/download/source.php.html
-make -f client.mk build STRIP="/bin/true" MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
-
-# ===== Enigmail work =====
-pushd mailnews/extensions/enigmail
-./makemake -r
-popd
-
-pushd objdir/mailnews/extensions/enigmail
-make
+# Fix version in XPI file name
+sed -e '/XPI_MODULE_VERS/s/1.6/%{version}/' -i Makefile
+make %{_smp_mflags}
make xpi
-popd
-#===============================================================================
%install
-cd %{tarballdir}
-
mkdir -p $RPM_BUILD_ROOT%{enigmail_extname}
-unzip -q objdir/mozilla/dist/bin/enigmail-*-linux-*.xpi -d $RPM_BUILD_ROOT%{enigmail_extname}
+unzip -q build/enigmail-%{version}-linux-*.xpi -d $RPM_BUILD_ROOT%{enigmail_extname}
%files
@@ -309,6 +78,10 @@ unzip -q objdir/mozilla/dist/bin/enigmail-*-linux-*.xpi -d $RPM_BUILD_ROOT%{enig
#===============================================================================
%changelog
+* Mon Jun 9 2014 Remi Collet <remi at fedoraproject.org> 1.7-0.1.20140608git611bc95
+- Enigmail 1.7pre (git snapshot)
+- new build system, without need for Thunderbird sources
+
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
More information about the scm-commits
mailing list