[thunderbird-enigmail] New package: import from review

Remi Collet remi at fedoraproject.org
Wed Oct 17 15:30:04 UTC 2012


commit f28b5dc71f4cc483c560e35b9e4cb348ae8f16cc
Author: Remi Collet <remi at fedoraproject.org>
Date:   Wed Oct 17 17:29:55 2012 +0200

    New package: import from review

 .gitignore                          |    2 +
 rhbz-855923.patch                   |   19 ++
 sources                             |    2 +
 thunderbird-8.0-enable-addons.patch |   26 ++
 thunderbird-enigmail.spec           |  477 +++++++++++++++++++++++++++++++++++
 thunderbird-install-dir.patch       |   37 +++
 thunderbird-mozconfig               |   38 +++
 thunderbird-mozconfig-branded       |    1 +
 xulrunner-10.0-gcc47.patch          |   13 +
 xulrunner-10.0-secondary-ipc.patch  |   36 +++
 xulrunner-16.0-jemalloc-ppc.patch   |   14 +
 11 files changed, 665 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..50a8497 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/enigmail-1.4.5.tar.gz
+/thunderbird-16.0.1.source.tar.bz2
diff --git a/rhbz-855923.patch b/rhbz-855923.patch
new file mode 100644
index 0000000..c6282b0
--- /dev/null
+++ b/rhbz-855923.patch
@@ -0,0 +1,19 @@
+Index: comm-release/mozilla/js/src/gc/Memory.cpp
+===================================================================
+--- comm-release.orig/mozilla/js/src/gc/Memory.cpp
++++ comm-release/mozilla/js/src/gc/Memory.cpp
+@@ -348,9 +348,14 @@ UnmapPages(void *p, size_t size)
+ bool
+ MarkPagesUnused(void *p, size_t size)
+ {
++// A workaround for Bug 746112 - endless loop on ppc64
++#if !(defined(__powerpc__))
+     JS_ASSERT(uintptr_t(p) % PageSize == 0);
+     int result = madvise(p, size, MADV_DONTNEED);
+     return result != -1;
++#else
++    return true;
++#endif
+ }
+ 
+ bool
diff --git a/sources b/sources
index e69de29..373c9a5 100644
--- a/sources
+++ b/sources
@@ -0,0 +1,2 @@
+41af9c53181dfd0eaf5499f970e150da  enigmail-1.4.5.tar.gz
+5b0ceb8d403b607fc0330e276b2e7c65  thunderbird-16.0.1.source.tar.bz2
diff --git a/thunderbird-8.0-enable-addons.patch b/thunderbird-8.0-enable-addons.patch
new file mode 100644
index 0000000..7b040df
--- /dev/null
+++ b/thunderbird-8.0-enable-addons.patch
@@ -0,0 +1,26 @@
+diff -up comm-release/mail/app/profile/all-thunderbird.js.addons comm-release/mail/app/profile/all-thunderbird.js
+--- comm-release/mail/app/profile/all-thunderbird.js.addons	2011-11-15 10:36:03.868551158 +0100
++++ comm-release/mail/app/profile/all-thunderbird.js	2011-11-15 10:36:20.555397903 +0100
+@@ -138,7 +138,7 @@ pref("extensions.update.autoUpdateDefaul
+ // Disable add-ons installed into the shared user and shared system areas by
+ // default. This does not include the application directory. See the SCOPE
+ // constants in AddonManager.jsm for values to use here
+-pref("extensions.autoDisableScopes", 15);
++pref("extensions.autoDisableScopes", 0);
+ 
+ // Preferences for AMO integration
+ pref("extensions.getAddons.cache.enabled", true);
+diff -up comm-release/mozilla/toolkit/mozapps/extensions/XPIProvider.jsm.addons comm-release/mozilla/toolkit/mozapps/extensions/XPIProvider.jsm
+--- comm-release/mozilla/toolkit/mozapps/extensions/XPIProvider.jsm.addons	2011-11-15 11:15:06.518905245 +0100
++++ comm-release/mozilla/toolkit/mozapps/extensions/XPIProvider.jsm	2011-11-15 11:15:40.399934236 +0100
+@@ -1591,8 +1591,8 @@ var XPIProvider = {
+       this.showUpgradeUI();
+       flushCaches = true;
+     }
+-    else if (aAppChanged === undefined) {
+-      // For new profiles we will never need to show the add-on selection UI
++    else {
++      // For all profiles we will never need to show the add-on selection UI
+       Services.prefs.setBoolPref(PREF_SHOWN_SELECTION_UI, true);
+     }
+ 
diff --git a/thunderbird-enigmail.spec b/thunderbird-enigmail.spec
new file mode 100644
index 0000000..6fe19d1
--- /dev/null
+++ b/thunderbird-enigmail.spec
@@ -0,0 +1,477 @@
+# Use system nspr/nss?
+%if 0%{?fedora} < 16 && 0%{?rhel} < 7
+%global system_nss        0
+%else
+%global system_nss        1
+%endif
+
+# Build as a debug package?
+%global debug_build       0
+
+# Use system Librairies ?
+%if 0%{?fedora} < 18 && 0%{?rhel} < 7
+%global system_sqlite 0
+%else
+%global system_sqlite 1
+%endif
+%if 0%{?fedora} < 15 && 0%{?rhel} < 7
+%global system_cairo      0
+%global system_vpx        0
+%else
+%global system_cairo      1
+%global system_vpx        1
+%endif
+
+%global build_langpacks 1
+
+%if %{?system_nss}
+%global nspr_version 4.9.2
+%global nss_version 3.13.3
+%endif
+%if %{?system_cairo}
+%global cairo_version 1.10.0
+%endif
+%global freetype_version 2.1.9
+%if %{?system_sqlite}
+%global sqlite_version 3.7.13
+%endif
+%global libnotify_version 0.4
+%if %{?system_cairo}
+%global libvpx_version 1.0.0
+%endif
+%global _default_patch_fuzz 2
+
+%global thunderbird_app_id \{3550f703-e582-4d05-9a08-453d09bdfdc6\}
+%global enimail_app_id     \{847b3a00-7ab1-11d4-8f02-006008948af5\}
+
+%global thunver  16.0.1
+%global thunmax  17.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: '.'
+#global tarballdir .
+%global tarballdir comm-release
+
+%global official_branding 1
+
+%global mozappdir         %{_libdir}/thunderbird
+%global enigmail_extname  %{_libdir}/mozilla/extensions/%{thunderbird_app_id}/%{enimail_app_id}
+
+
+Summary:        Authentication and encryption extension for Mozilla Thunderbird
+Name:           thunderbird-enigmail
+Version:        1.4.5
+%if 0%{?prever:1}
+Release:        0.1.%{prever}%{?dist}
+%else
+Release:        2%{?dist}
+%endif
+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
+#NoSource:       0
+
+Source10:       thunderbird-mozconfig
+Source11:       thunderbird-mozconfig-branded
+
+# ===== Enigmail files =====
+%if 0%{?CVS}
+# cvs -d :pserver:guest at mozdev.org:/cvs login
+# => password is guest 
+# cvs -d :pserver:guest at mozdev.org:/cvs co enigmail/src
+# tar czf /home/rpmbuild/SOURCES/enigmail-20091121.tgz --exclude CVS -C enigmail/src .
+Source100:      enigmail-%{CVS}.tgz
+%else
+Source100:      http://www.mozilla-enigmail.org/download/source/enigmail-%{version}%{?prever}.tar.gz
+%endif
+
+
+# Mozilla (XULRunner) patches
+Patch0:         thunderbird-install-dir.patch
+Patch8:         xulrunner-10.0-secondary-ipc.patch
+
+# Build patches
+Patch104:       xulrunner-10.0-gcc47.patch
+
+# Linux specific
+Patch200:       thunderbird-8.0-enable-addons.patch
+
+# PPC fixes
+Patch300:       xulrunner-16.0-jemalloc-ppc.patch
+Patch301:       rhbz-855923.patch
+
+# Enigmail patch
+
+
+%if %{official_branding}
+# Required by Mozilla Corporation
+
+%else
+# Not yet approved by Mozillla Corporation
+
+%endif
+
+%if %{?system_nss}
+BuildRequires:  nss-static >= %{nss_version}
+BuildRequires:  nspr-devel >= %{nspr_version}
+BuildRequires:  nss-devel >= %{nss_version}
+%endif
+%if %{system_cairo}
+# Library requirements (cairo-tee >= 1.10)
+BuildRequires:  cairo-devel >= %{cairo_version}
+%endif
+BuildRequires:  libnotify-devel >= %{libnotify_version}
+BuildRequires:  libpng-devel
+BuildRequires:  libjpeg-devel
+BuildRequires:  zip
+BuildRequires:  bzip2-devel
+BuildRequires:  zlib-devel, gzip, zip, unzip
+BuildRequires:  libIDL-devel
+BuildRequires:  gtk2-devel
+BuildRequires:  gnome-vfs2-devel
+BuildRequires:  libgnome-devel
+BuildRequires:  libgnomeui-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:  desktop-file-utils
+BuildRequires:  libcurl-devel
+BuildRequires:  yasm
+BuildRequires:  mesa-libGL-devel
+BuildRequires:  GConf2-devel
+%if %{system_vpx}
+BuildRequires:  libvpx-devel >= %{libvpx_version}
+%endif
+
+## For fixing lang
+BuildRequires:  perl
+
+
+# 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}
+Conflicts: thunderbird >=  %{thunmax}
+
+# Nothing usefull provided
+AutoProv: 0
+
+
+%description
+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  -p2 -b .dir
+# Mozilla (XULRunner) patches
+cd mozilla
+%patch8 -p3 -b .secondary-ipc
+%patch104 -p1 -b .gcc47
+cd ..
+
+%patch200 -p1 -b .addons
+%patch300 -p1 -b .852698
+%patch301 -p1 -b .855923
+
+%if %{official_branding}
+# Required by Mozilla Corporation
+
+%else
+# Not yet approved by Mozilla Corporation
+
+%endif
+
+
+%{__rm} -f .mozconfig
+cat %{SOURCE10} 		\
+%if ! %{system_cairo}
+  | grep -v enable-system-cairo    \
+%endif
+%if ! %{system_vpx}
+  | grep -v with-system-libvpx     \
+%endif
+  | tee .mozconfig
+
+%if 0%{?fedora} < 14 && 0%{?rhel} <= 6
+echo "ac_add_options --disable-libjpeg-turbo"  >> .mozconfig
+%endif
+
+%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
+
+# ===== 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.5a1pre/%{version}/' package/install.rdf
+grep '<em:version>%{version}</em:version>' package/install.rdf || exit 1
+# Apply Enigmail patch here
+popd
+%endif
+
+# ===== 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//' -e 's/-fexceptions/-fno-exceptions/g')
+%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
+[ -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
+
+
+# ===== 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
+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}
+
+
+%files
+%{enigmail_extname}
+
+
+#===============================================================================
+
+%changelog
+* Tue Oct 16 2012 Remi Collet <remi at fedoraproject.org> 1.4.5-2
+- Enigmail 1.4.5 for Thunderbird 16.0.1
+- merge changes from thunderbird in rawhide
+
+* Tue Oct  9 2012 Remi Collet <remi at fedoraproject.org> 1.4.5-1
+- Enigmail 1.4.5 for Thunderbird 16
+
+* Mon Aug 27 2012 Remi Collet <remi at fedoraproject.org> 1.4.4-2
+- Enigmail 1.4.4 for Thunderbird 15.0
+
+* Wed Aug 21 2012 Remi Collet <remi at fedoraproject.org> 1.4.4-1
+- Enigmail 1.4.4 for Thunderbird 14.0
+
+* Sat Jul 21 2012 Remi Collet <remi at fedoraproject.org> 1.4.3-1
+- Enigmail 1.4.3 for Thunderbird 14.0
+
+* Tue Jun 05 2012 Remi Collet <remi at fedoraproject.org> 1.4.2-1
+- Enigmail 1.4.2 for Thunderbird 13.0
+
+* Sat Apr 28 2012 Remi Collet <remi at fedoraproject.org> 1.4.1-1
+- Enigmail 1.4.1 for Thunderbird 12.0
+
+* Fri Mar 16 2012 Remi Collet <remi at fedoraproject.org> 1.4-2.1
+- latest patch from rawhide
+
+* Thu Mar 15 2012 Remi Collet <remi at fedoraproject.org> 1.4-2
+- Enigmail 1.4 for Thunderbird 11.0
+
+* Sat Mar 03 2012 Remi Collet <remi at fedoraproject.org> 1.4-1
+- Enigmail 1.4 for Thunderbird 10.0.2
+- using upstream fixlang.pl instead of our fixlang.php
+
+* Tue Jan 31 2012 Remi Collet <remi at fedoraproject.org> 1.3.5-1
+- Enigmail 1.3.5 for Thunderbird 10.0
+
+* Wed Dec 21 2011 Remi Collet <remi at fedoraproject.org> 1.3.4-1
+- Enigmail 1.3.4 for Thunderbird 9.0
+
+* Sat Nov 12 2011 Remi Collet <remi at fedoraproject.org> 1.3.3-1
+- Enigmail 1.3.3 for Thunderbird 8.0
+
+* Wed Oct 12 2011 Georgi Georgiev <chutzimir at gmail.com> - 1.3.2-2
+- Make it work on RHEL
+
+* Sat Oct 01 2011 Remi Collet <remi at fedoraproject.org> 1.3.2-2
+- Enigmail 1.3.2 for Thunderbird 7.0.1
+- fix extension version
+
+* Thu Sep 29 2011 Remi Collet <remi at fedoraproject.org> 1.3.2-1
+- Enigmail 1.3.2 for Thunderbird 7.0
+
+* Wed Aug 17 2011 Remi Collet <remi at fedoraproject.org> 1.3-1
+- Enigmail 1.3 for Thunderbird 6.0
+
+* Sat Jul 30 2011 Remi Collet <remi at fedoraproject.org> 1.2.1-1
+- Enigmail 1.2.1 for Thunderbird 5.0
+
+* Tue Jul 19 2011 Remi Collet <remi at fedoraproject.org> 1.2-1.2
+- add --enable-chrome-format=jar to generate enigmail.jar
+
+* Sun Jul 17 2011 Remi Collet <remi at fedoraproject.org> 1.2-1.1
+- fix BR (dos2unix + php-cli)
+
+* Sun Jul 17 2011 Remi Collet <rpms at famillecollet.com> 1.2-1
+- Enigmail 1.2 for Thunderbird 5.0
+
+* Thu Jul 22 2010 Remi Collet <rpms at famillecollet.com> 1.1.2-3
+- move to /usr/lib/mozilla/extensions (as lightning)
+- build against thunderbird 3.1.1 sources
+- sync patches with F-13
+
+* Sat Jul 10 2010 Remi Collet <rpms at famillecollet.com> 1.1.2-2
+- remove link mecanism as thundebird dir is now stable (see #608511)
+
+* Wed Jun 30 2010 Remi Collet <rpms at famillecollet.com> 1.1.2-1
+- Enigmail 1.1.1 (against thunderbird 3.1)
+
+* Sat Jun 26 2010 Remi Collet <rpms at famillecollet.com> 1.1.1-2
+- new sources (only fix displayed version)
+
+* Sat Jun 26 2010 Remi Collet <rpms at famillecollet.com> 1.1.1-1
+- Enigmail 1.1.1 (against thunderbird 3.1)
+
+* Mon May 31 2010 Remi Collet <rpms at famillecollet.com> 1.1-1
+- Enigmail 1.1 (against thunderbird 3.1rc1)
+
+* Mon Feb 01 2010 Remi Collet <rpms at famillecollet.com> 1.0.1-1
+- Enigmail 1.0.1 (against thunderbird 3.0.1)
+
+* Fri Jan 29 2010 Remi Collet <rpms at famillecollet.com> 1.0.1-0.1.rc1
+- Enigmail 1.0.1rc1 (against thunderbird 3.0.1)
+
+* Mon Nov 30 2009 Remi Collet <rpms at famillecollet.com> 1.0.0-1
+- Enigmail 1.0 (against thunderbird 3.0rc1)
+
+* Sat Nov 21 2009 Remi Collet <rpms at famillecollet.com> 1.0-0.1.cvs20091121
+- new CVS snapshot (against thunderbird 3.0rc1)
+
+* Tue Jul 21 2009 Remi Collet <rpms at famillecollet.com> 0.97a-0.1.cvs20090721
+- new CVS snapshot (against thunderbird 3.0b3)
+
+* Thu May 21 2009 Remi Collet <rpms at famillecollet.com> 0.96a-0.3.cvs20090521
+- new CVS snapshot
+- fix License and Sumnary
+
+* Mon May 18 2009 Remi Collet <rpms at famillecollet.com> 0.96a-0.2.cvs20090516
+- use mozilla-extension-update.sh from thunderbird-lightning
+
+* Sat May 16 2009 Remi Collet <rpms at famillecollet.com> 0.96a-0.1.cvs20090516
+- new CVS snapshot
+- rpmfusion review proposal
+
+* Thu Apr 30 2009 Remi Collet <rpms at famillecollet.com> 0.96a-0.1.cvs20090430.fc11.remi
+- new CVS snapshot
+- F11 build
+
+* Mon Mar 16 2009 Remi Collet <rpms at famillecollet.com> 0.96a-0.1.cvs20090316.fc#.remi
+- new CVS snapshot
+- add enigmail-fixlang.php
+
+* Sun Mar 15 2009 Remi Collet <rpms at famillecollet.com> 0.96a-0.1.cvs20090315.fc#.remi
+- enigmail 0.96a (CVS), Thunderbird 3.0b2
+
diff --git a/thunderbird-install-dir.patch b/thunderbird-install-dir.patch
new file mode 100644
index 0000000..96342b9
--- /dev/null
+++ b/thunderbird-install-dir.patch
@@ -0,0 +1,37 @@
+diff -up thunderbird-16.0/comm-release/config/autoconf.mk.in.dir thunderbird-16.0/comm-release/config/autoconf.mk.in
+--- thunderbird-16.0/comm-release/config/autoconf.mk.in.dir	2012-10-05 23:20:26.000000000 +0200
++++ thunderbird-16.0/comm-release/config/autoconf.mk.in	2012-10-09 12:57:24.290767832 +0200
+@@ -36,7 +36,7 @@ datadir		= @datadir@
+ mandir		= @mandir@
+ idldir		= $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+ 
+-installdir	= $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
++installdir	= $(libdir)/$(MOZ_APP_NAME)
+ sdkdir		= $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
+ 
+ MOZDEPTH	= $(DEPTH)/mozilla
+diff -up thunderbird-16.0/comm-release/mozilla/config/autoconf.mk.in.dir thunderbird-16.0/comm-release/mozilla/config/autoconf.mk.in
+diff -up thunderbird-16.0/comm-release/mozilla/config/baseconfig.mk.dir thunderbird-16.0/comm-release/mozilla/config/baseconfig.mk
+--- thunderbird-16.0/comm-release/mozilla/config/baseconfig.mk.dir	2012-10-05 23:27:15.000000000 +0200
++++ thunderbird-16.0/comm-release/mozilla/config/baseconfig.mk	2012-10-09 13:01:32.269317094 +0200
+@@ -2,7 +2,7 @@ INCLUDED_AUTOCONF_MK = 1
+ 
+ includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+ idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
++installdir = $(libdir)/$(MOZ_APP_NAME)
+ sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
+ DIST = $(DEPTH)/dist
+ 
+diff -up thunderbird-16.0/comm-release/mozilla/js/src/config/autoconf.mk.in.dir thunderbird-16.0/comm-release/mozilla/js/src/config/autoconf.mk.in
+diff -up thunderbird-16.0/comm-release/mozilla/js/src/config/baseconfig.mk.dir thunderbird-16.0/comm-release/mozilla/js/src/config/baseconfig.mk
+--- thunderbird-16.0/comm-release/mozilla/js/src/config/baseconfig.mk.dir	2012-10-05 23:27:30.000000000 +0200
++++ thunderbird-16.0/comm-release/mozilla/js/src/config/baseconfig.mk	2012-10-09 13:02:00.885495014 +0200
+@@ -1,6 +1,6 @@
+ INCLUDED_AUTOCONF_MK = 1
+ 
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
++installdir = $(libdir)/$(MOZ_APP_NAME)
+ sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
+ 
+ ifneq (,$(filter /%,$(TOP_DIST)))
diff --git a/thunderbird-mozconfig b/thunderbird-mozconfig
new file mode 100644
index 0000000..ab3b28c
--- /dev/null
+++ b/thunderbird-mozconfig
@@ -0,0 +1,38 @@
+mk_add_options MOZ_CO_PROJECT=mail
+ac_add_options --enable-application=mail
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir
+mk_add_options AUTOCONF=autoconf-2.13
+
+#ac_add_options --with-system-png
+
+ac_add_options --prefix="$PREFIX"
+ac_add_options --libdir="$LIBDIR"
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-system-libvpx
+ac_add_options --with-pthreads
+ac_add_options --disable-tests
+ac_add_options --disable-installer
+ac_add_options --enable-xinerama
+ac_add_options --enable-default-toolkit=cairo-gtk2
+ac_add_options --disable-xprint
+ac_add_options --disable-strip
+ac_add_options --disable-install-strip
+ac_add_options --enable-pango
+# temporary disable system cairo, because compilation fails
+#ac_add_options --enable-system-cairo
+ac_add_options --enable-svg
+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-startup-notification
+ac_add_options --enable-gio
+ac_add_options --disable-gnomevfs
+
+export BUILD_OFFICIAL=1
+export MOZILLA_OFFICIAL=1
+mk_add_options BUILD_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
+
diff --git a/thunderbird-mozconfig-branded b/thunderbird-mozconfig-branded
new file mode 100755
index 0000000..53b376d
--- /dev/null
+++ b/thunderbird-mozconfig-branded
@@ -0,0 +1 @@
+ac_add_options --enable-official-branding
diff --git a/xulrunner-10.0-gcc47.patch b/xulrunner-10.0-gcc47.patch
new file mode 100644
index 0000000..093357b
--- /dev/null
+++ b/xulrunner-10.0-gcc47.patch
@@ -0,0 +1,13 @@
+diff -up mozilla-beta/toolkit/crashreporter/client/Makefile.in.gcc47 mozilla-beta/toolkit/crashreporter/client/Makefile.in
+--- mozilla-beta/toolkit/crashreporter/client/Makefile.in.gcc47	2012-01-30 14:41:14.475441039 -0500
++++ mozilla-beta/toolkit/crashreporter/client/Makefile.in	2012-01-30 14:43:03.587646656 -0500
+@@ -69,6 +69,9 @@ CPPSRCS = \
+   $(STDCXX_COMPAT) \
+   $(NULL)
+ 
++# Needed for moz_free
++LIBS += -L$(LIBXUL_DIST)/lib -lmozalloc
++
+ ifeq ($(OS_ARCH),WINNT)
+ CPPSRCS += crashreporter_win.cpp
+ LIBS += \
diff --git a/xulrunner-10.0-secondary-ipc.patch b/xulrunner-10.0-secondary-ipc.patch
new file mode 100644
index 0000000..67ee863
--- /dev/null
+++ b/xulrunner-10.0-secondary-ipc.patch
@@ -0,0 +1,36 @@
+diff -up thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/base/data_pack.cc.secondary-ipc thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/base/data_pack.cc
+--- thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/base/data_pack.cc.secondary-ipc	2012-01-29 15:44:23.000000000 +0100
++++ thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/base/data_pack.cc	2012-01-31 10:45:57.784248018 +0100
+@@ -91,14 +91,7 @@ bool DataPack::Load(const FilePath& path
+ bool DataPack::Get(uint32_t resource_id, StringPiece* data) {
+   // It won't be hard to make this endian-agnostic, but it's not worth
+   // bothering to do right now.
+-#if defined(__BYTE_ORDER)
+-  // Linux check
+-  COMPILE_ASSERT(__BYTE_ORDER == __LITTLE_ENDIAN,
+-                 datapack_assumes_little_endian);
+-#elif defined(__BIG_ENDIAN__)
+-  // Mac check
+-  #error DataPack assumes little endian
+-#endif
++#warning DoTheRightThingMakingThisEndianAgnostic!
+ 
+   DataPackEntry* target = reinterpret_cast<DataPackEntry*>(
+       bsearch(&resource_id, mmap_->data() + kHeaderLength, resource_count_,
+diff -up thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/build/build_config.h.secondary-ipc thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/build/build_config.h
+--- thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/build/build_config.h.secondary-ipc	2012-01-29 15:44:23.000000000 +0100
++++ thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/build/build_config.h	2012-01-31 10:53:24.409935119 +0100
+@@ -65,10 +65,10 @@
+ #elif defined(__ppc__) || defined(__powerpc__)
+ #define ARCH_CPU_PPC 1
+ #define ARCH_CPU_32_BITS 1
+-#elif defined(__sparc64__)
++#elif defined(__sparc__) && !defined(__arch64)
+ #define ARCH_CPU_SPARC 1
+ #define ARCH_CPU_64_BITS 1
+-#elif defined(__sparc__)
++#elif defined(__sparc__) && defined(__arch64)
+ #define ARCH_CPU_SPARC 1
+ #define ARCH_CPU_32_BITS 1
+ #elif defined(__mips__)
+diff -up thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/chrome/common/ipc_message_utils.h.secondary-ipc thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/chrome/common/ipc_message_utils.h
diff --git a/xulrunner-16.0-jemalloc-ppc.patch b/xulrunner-16.0-jemalloc-ppc.patch
new file mode 100644
index 0000000..e4fca79
--- /dev/null
+++ b/xulrunner-16.0-jemalloc-ppc.patch
@@ -0,0 +1,14 @@
+Index: xulrunner-11.0/mozilla-release/memory/jemalloc/jemalloc.c
+===================================================================
+--- a/mozilla/memory/mozjemalloc/jemalloc.c
++++ b/mozilla/memory/mozjemalloc/jemalloc.c
+@@ -1089,7 +1089,9 @@ static unsigned		ncpus;
+  * controlling the malloc behavior are defined as compile-time constants
+  * for best performance and cannot be altered at runtime.
+  */
++#if !(defined(__powerpc__))
+ #define MALLOC_STATIC_SIZES 1
++#endif
+ 
+ #ifdef MALLOC_STATIC_SIZES
+ 


More information about the scm-commits mailing list