[packages/icedove] - up to 45.8.0 - does not build due to branding, follow https://bugs.debian.org/cgi-bin/bugreport.cg

baggins baggins at pld-linux.org
Tue Mar 14 00:12:25 CET 2017


commit 7a5e94066a2a2086d42d4f9faff921598724c114
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Tue Mar 14 00:11:34 2017 +0100

    - up to 45.8.0
    - does not build due to branding, follow https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=816679 and rename back to thunderbird

 bump-nss-req.patch             |  22 -----
 icedove-branding.patch         |   6 +-
 icedove.spec                   |  31 ++----
 mozilla-1269171-badalloc.patch | 212 +++++++++++++++++++++++++++++++++++++++++
 system-mozldap.patch           |  25 -----
 system-virtualenv.patch        |  12 ---
 6 files changed, 226 insertions(+), 82 deletions(-)
---
diff --git a/icedove.spec b/icedove.spec
index c90efbd..8164f47 100644
--- a/icedove.spec
+++ b/icedove.spec
@@ -27,25 +27,22 @@
 Summary:	Icedove - email client
 Summary(pl.UTF-8):	Icedove - klient poczty
 Name:		icedove
-Version:	38.5.0
-Release:	5
+Version:	45.8.0
+Release:	0.1
 License:	MPL v2.0
 Group:		X11/Applications/Mail
-Source0:	http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.bz2
-# Source0-md5:	516ddb66f788ea7db48ed0d76f7a7ebc
+Source0:	http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.xz
+# Source0-md5:	4e04b1618273f946f00f8ea547578895
 Source2:	%{name}-branding.tar.xz
 # Source2-md5:	66753bc5c924d7492b6b5c9bdc3e4b5b
 Source4:	%{name}.desktop
 Source5:	%{name}.sh
 Patch0:		%{name}-branding.patch
 Patch2:		%{name}-prefs.patch
-Patch3:		system-mozldap.patch
 Patch5:		%{name}-extensiondir.patch
 Patch6:		no-subshell.patch
-# Edit patch below and restore --system-site-packages when system virtualenv gets 1.7 upgrade
-Patch7:		system-virtualenv.patch
 Patch8:		enable-addons.patch
-Patch9:		bump-nss-req.patch
+Patch9:		mozilla-1269171-badalloc.patch
 URL:		http://www.pld-linux.org/Packages/Icedove
 BuildRequires:	GConf2-devel >= 1.2.1
 BuildRequires:	alsa-lib-devel
@@ -122,7 +119,7 @@ BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define		_noautoreq		libmozalloc.so libmozjs.so libxul.so
 %endif
 
-%define		topdir		%{_builddir}/%{name}-%{version}
+%define		topdir		%{_builddir}/thunderbird-%{version}
 %define		objdir		%{topdir}/obj-%{_target_cpu}
 
 %description
@@ -147,25 +144,15 @@ Lightning to rozszerzenie do klienta poczty Icedove dodające
 funkcjonalność kalendarza.
 
 %prep
-%setup -qc
-%{__mv} comm-esr38 mozilla
-%setup -q -T -D -a2
-cd mozilla
+%setup -q -n thunderbird-%{version} -a2
 %patch0 -p1
 %patch2 -p1
-%patch3 -p1
 %patch5 -p2
 %patch6 -p1
-%patch7 -p1
 %patch8 -p1
-%patch9 -p2
+%patch9 -p1
 
 %build
-cd mozilla
-cp -f %{_datadir}/automake/config.* mozilla/build/autoconf
-cp -f %{_datadir}/automake/config.* mozilla/nsprpub/build/autoconf
-cp -f %{_datadir}/automake/config.* ldap/sdks/c-sdk/config/autoconf
-
 cat << EOF > .mozconfig
 mk_add_options MOZ_OBJDIR=%{objdir}
 
@@ -268,7 +255,7 @@ ac_add_options --with-system-zlib
 EOF
 
 mkdir -p %{objdir}/config
-ln -s %{topdir}/mozilla/config/*.mk %{objdir}/config
+ln -sf %{topdir}/mozilla/config/*.mk %{objdir}/config
 
 %{__make} -j1 -f client.mk build \
 	STRIP="/bin/true" \
diff --git a/bump-nss-req.patch b/bump-nss-req.patch
deleted file mode 100644
index a1d34f4..0000000
--- a/bump-nss-req.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- icedove-31.3.0/mozilla/mozilla/configure.in~	2014-11-27 23:16:21.000000000 +0100
-+++ icedove-31.3.0/mozilla/mozilla/configure.in	2014-12-03 22:29:51.134278969 +0100
-@@ -3655,7 +3655,7 @@
-     _USE_SYSTEM_NSS=1 )
- 
- if test -n "$_USE_SYSTEM_NSS"; then
--    AM_PATH_NSS(3.19.2.1, [MOZ_NATIVE_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
-+    AM_PATH_NSS(3.20.0, [MOZ_NATIVE_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
- fi
- 
- if test -n "$MOZ_NATIVE_NSS"; then
---- icedove-31.3.0/mozilla/mozilla/configure~	2014-11-27 23:18:38.000000000 +0100
-+++ icedove-31.3.0/mozilla/mozilla/configure	2014-12-03 22:29:29.704278073 +0100
-@@ -15225,7 +15225,7 @@
-   echo "$ac_t""no" 1>&6
- fi
- 
--	min_nss_version=3.19.2.1
-+	min_nss_version=3.20.0
- 	echo $ac_n "checking for NSS - version >= $min_nss_version""... $ac_c" 1>&6
- echo "configure:15231: checking for NSS - version >= $min_nss_version" >&5
- 
diff --git a/icedove-branding.patch b/icedove-branding.patch
index 88f0082..52b8bf8 100644
--- a/icedove-branding.patch
+++ b/icedove-branding.patch
@@ -60,17 +60,21 @@
  
  // Show error messages in error console.
  pref("javascript.options.showInConsole", true);
-@@ -178,18 +177,18 @@ pref("extensions.autoDisableScopes", 15);
+@@ -178,20 +177,20 @@ pref("extensions.autoDisableScopes", 15);
  // Preferences for AMO integration
  pref("extensions.getAddons.cache.enabled", true);
  pref("extensions.getAddons.maxResults", 15);
 -pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/guid:%IDS%?src=thunderbird&appOS=%OS%&appVersion=%VERSION%");
 -pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/guid:%IDS%?src=thunderbird&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
+-pref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/%APP%/");
+-pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/list/recommended/all/%MAX_RESULTS%/%OS%/%VERSION%?src=thunderbird");
 -pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/%APP%/search?q=%TERMS%");
 -pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%?src=thunderbird");
 -pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/%APP%/discovery/pane/%VERSION%/%OS%");
 +pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/thunderbird/api/%API_VERSION%/search/guid:%IDS%?src=thunderbird&appOS=%OS%&appVersion=%VERSION%");
 +pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/thunderbird/api/%API_VERSION%/search/guid:%IDS%?src=thunderbird&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
++pref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/thunderbird/");
++pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/thunderbird/api/%API_VERSION%/list/recommended/all/%MAX_RESULTS%/%OS%/%VERSION%?src=thunderbird");
 +pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/thunderbird/search?q=%TERMS%");
 +pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/thunderbird/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%?src=thunderbird");
 +pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/thunderbird/discovery/pane/%VERSION%/%OS%");
diff --git a/mozilla-1269171-badalloc.patch b/mozilla-1269171-badalloc.patch
new file mode 100644
index 0000000..150a3d7
--- /dev/null
+++ b/mozilla-1269171-badalloc.patch
@@ -0,0 +1,212 @@
+From: Jens Lody <fedora at jenslody.de>
+Date: Thu, 16 Feb 2017 09:31:56 +0100
+Subject: Backport of fix for mozilla-bug 1269171, needed for gcc7.
+
+diff --git a/mozilla/config/gcc-stl-wrapper.template.h b/mozilla/config/gcc-stl-wrapper.template.h
+--- a/mozilla/config/gcc-stl-wrapper.template.h
++++ b/mozilla/config/gcc-stl-wrapper.template.h
+@@ -17,25 +17,6 @@
+ // Silence "warning: #include_next is a GCC extension"
+ #pragma GCC system_header
+ 
+-// mozalloc.h wants <new>; break the cycle by always explicitly
+-// including <new> here.  NB: this is a tad sneaky.  Sez the gcc docs:
+-//
+-//    `#include_next' does not distinguish between <file> and "file"
+-//    inclusion, nor does it check that the file you specify has the
+-//    same name as the current file. It simply looks for the file
+-//    named, starting with the directory in the search path after the
+-//    one where the current file was found.
+-#include_next <new>
+-
+-// See if we're in code that can use mozalloc.  NB: this duplicates
+-// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
+-// can't build with that being included before base/basictypes.h.
+-#if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
+-#  include "mozilla/mozalloc.h"
+-#else
+-#  error "STL code can only be used with infallible ::operator new()"
+-#endif
+-
+ #if defined(DEBUG) && !defined(_GLIBCXX_DEBUG)
+ // Enable checked iterators and other goodies
+ //
+@@ -46,10 +27,34 @@
+ //  # define _GLIBCXX_DEBUG 1
+ #endif
+ 
++// Don't include mozalloc for cstdlib. See bug 1245076.
++#ifndef moz_dont_include_mozalloc_for_cstdlib
++#  define moz_dont_include_mozalloc_for_cstdlib
++#endif
++
++// Include mozalloc after the STL header and all other headers it includes
++// have been preprocessed.
++#if !defined(MOZ_INCLUDE_MOZALLOC_H) && \
++    !defined(moz_dont_include_mozalloc_for_${HEADER})
++#  define MOZ_INCLUDE_MOZALLOC_H
++#  define MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
++#endif
++
+ #pragma GCC visibility push(default)
+ #include_next <${HEADER}>
+ #pragma GCC visibility pop
+ 
++#ifdef MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
++// See if we're in code that can use mozalloc.  NB: this duplicates
++// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
++// can't build with that being included before base/basictypes.h.
++#  if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
++#    include "mozilla/mozalloc.h"
++#  else
++#    error "STL code can only be used with infallible ::operator new()"
++#  endif
++#endif
++
+ // gcc calls a __throw_*() function from bits/functexcept.h when it
+ // wants to "throw an exception".  functexcept exists nominally to
+ // support -fno-exceptions, but since we'll always use the system
+--- a/mozilla/config/make-stl-wrappers.py
++++ b/mozilla/config/make-stl-wrappers.py
+@@ -25,28 +25,26 @@ def header_path(header, compiler):
+ def is_comment(line):
+     return re.match(r'\s*#.*', line)
+ 
+ def main(outdir, compiler, template_file, header_list_file):
+     if not os.path.isdir(outdir):
+         os.mkdir(outdir)
+ 
+     template = open(template_file, 'r').read()
+-    path_to_new = header_path('new', compiler)
+ 
+     for header in open(header_list_file, 'r'):
+         header = header.rstrip()
+         if 0 == len(header) or is_comment(header):
+             continue
+ 
+         path = header_path(header, compiler)
+         with FileAvoidWrite(os.path.join(outdir, header)) as f:
+             f.write(string.Template(template).substitute(HEADER=header,
+-                                                         HEADER_PATH=path,
+-                                                         NEW_HEADER_PATH=path_to_new))
++                                                         HEADER_PATH=path))
+ 
+ 
+ if __name__ == '__main__':
+     if 5 != len(sys.argv):
+         print("""Usage:
+   python {0} OUT_DIR ('msvc'|'gcc') TEMPLATE_FILE HEADER_LIST_FILE
+ """.format(sys.argv[0]), file=sys.stderr)
+         sys.exit(1)
+diff --git a/mozilla/config/msvc-stl-wrapper.template.h b/mozilla/config/msvc-stl-wrapper.template.h
+--- a/mozilla/config/msvc-stl-wrapper.template.h
++++ b/mozilla/config/msvc-stl-wrapper.template.h
+@@ -3,45 +3,33 @@
+  */
+ /* This Source Code Form is subject to the terms of the Mozilla Public
+  * License, v. 2.0. If a copy of the MPL was not distributed with this
+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
+ #ifndef mozilla_${HEADER}_h
+ #define mozilla_${HEADER}_h
+ 
+-#ifndef MOZ_HAVE_INCLUDED_ALLOC
+-#define MOZ_HAVE_INCLUDED_ALLOC
+-
+ #if _HAS_EXCEPTIONS
+ #  error "STL code can only be used with -fno-exceptions"
+ #endif
+ 
++// Include mozalloc after the STL header and all other headers it includes
++// have been preprocessed.
++#if !defined(MOZ_INCLUDE_MOZALLOC_H)
++#  define MOZ_INCLUDE_MOZALLOC_H
++#  define MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
++#endif
++
+ // Code built with !_HAS_EXCEPTIONS calls std::_Throw(), but the win2k
+ // CRT doesn't export std::_Throw().  So we define it.
+ #ifndef mozilla_Throw_h
+ #  include "mozilla/throw_msvc.h"
+ #endif
+ 
+-// Code might include <new> before other wrapped headers, but <new>
+-// includes <exception> and so we want to wrap it.  But mozalloc.h
+-// wants <new> also, so we break the cycle by always explicitly
+-// including <new> here.
+-#include <${NEW_HEADER_PATH}>
+-
+-// See if we're in code that can use mozalloc.  NB: this duplicates
+-// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
+-// can't build with that being included before base/basictypes.h.
+-#if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
+-#  include "mozilla/mozalloc.h"
+-#else
+-#  error "STL code can only be used with infallible ::operator new()"
+-#endif
+-#endif /* MOZ_HAVE_INCLUDED_ALLOC */
+-
+ #ifdef _DEBUG
+ // From
+ //   http://msdn.microsoft.com/en-us/library/aa985982%28VS.80%29.aspx
+ // and
+ //   http://msdn.microsoft.com/en-us/library/aa985965%28VS.80%29.aspx
+ // there appear to be two types of STL container checking.  The
+ // former is enabled by -D_DEBUG (which is implied by -MDd or -MTd), and
+ // looks to be full generation/mutation checked iterators as done by
+@@ -70,9 +58,20 @@
+ //        but that's OK because we're not throwing them.
+ #pragma warning( push )
+ #pragma warning( disable : 4275 4530 )
+ 
+ #include <${HEADER_PATH}>
+ 
+ #pragma warning( pop )
+ 
++#ifdef MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
++// See if we're in code that can use mozalloc.  NB: this duplicates
++// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
++// can't build with that being included before base/basictypes.h.
++#  if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
++#    include "mozilla/mozalloc.h"
++#  else
++#    error "STL code can only be used with infallible ::operator new()"
++#  endif
++#endif
++
+ #endif  // if mozilla_${HEADER}_h
+diff --git a/mozilla/memory/mozalloc/mozalloc.h b/mozilla/memory/mozalloc/mozalloc.h
+--- a/mozilla/memory/mozalloc/mozalloc.h
++++ b/mozilla/memory/mozalloc/mozalloc.h
+@@ -7,20 +7,27 @@
+ 
+ #ifndef mozilla_mozalloc_h
+ #define mozilla_mozalloc_h
+ 
+ /*
+  * https://bugzilla.mozilla.org/show_bug.cgi?id=427099
+  */
+ 
+-#include <stdlib.h>
+-#include <string.h>
+ #if defined(__cplusplus)
+ #  include <new>
++// Since libstdc++ 6, including the C headers (e.g. stdlib.h) instead of the
++// corresponding C++ header (e.g. cstdlib) can cause confusion in C++ code
++// using things defined there. Specifically, with stdlib.h, the use of abs()
++// in gfx/graphite2/src/inc/UtfCodec.h somehow ends up picking the wrong abs()
++#  include <cstdlib>
++#  include <cstring>
++#else
++#  include <stdlib.h>
++#  include <string.h>
+ #endif
+ 
+ #if defined(__cplusplus)
+ #include "mozilla/fallible.h"
+ #include "mozilla/TemplateLib.h"
+ #endif
+ #include "mozilla/Attributes.h"
+ #include "mozilla/Types.h"
+
+
diff --git a/system-mozldap.patch b/system-mozldap.patch
deleted file mode 100644
index d62c015..0000000
--- a/system-mozldap.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- mozilla/mail/configure.in.orig	2010-06-23 19:43:07.000000000 +0200
-+++ mozilla/mail/configure.in	2010-07-06 11:14:54.350499449 +0200
-@@ -59,7 +59,12 @@
-     MOZ_LDAP_XPCOM=,
-     MOZ_LDAP_XPCOM=1)
- 
--if test "$MOZ_LDAP_XPCOM"; then
-+if test "$MOZ_LDAP_DIR" ; then
-+    LDAP_CFLAGS=$(pkg-config --cflags mozldap)
-+    LDAP_LIBS=$(pkg-config --libs mozldap)
-+    LDAP_COMPONENT=mozldap
-+    LDAP_MODULE="MODULE(nsLDAPProtocolModule)"
-+elif test "$MOZ_LDAP_XPCOM"; then
-     LDAP_CFLAGS='-I${DIST}/public/ldap'
-     if test "$OS_ARCH" = "WINNT"; then
-         if test -n "$GNU_CC"; then
-@@ -118,7 +130,7 @@
- 
- # if we're building the LDAP XPCOM component, we need to build
- # the c-sdk first.
--if test -n "$COMPILE_ENVIRONMENT" -a -n "$MOZ_LDAP_XPCOM"; then
-+if test -n "$COMPILE_ENVIRONMENT" -a -n "$MOZ_LDAP_XPCOM" -a -z "$MOZ_LDAP_DIR"; then
-     # Save configure args so we can restore them after configuring LDAP.
-     _save_ac_configure_args="$ac_configure_args"
-     ac_configure_args="$_SUBDIR_CONFIG_ARGS"
diff --git a/system-virtualenv.patch b/system-virtualenv.patch
deleted file mode 100644
index 3650d56..0000000
--- a/system-virtualenv.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- xulrunner-27.0/mozilla/python/mozbuild/mozbuild/virtualenv.py~	2013-05-11 21:19:23.000000000 +0200
-+++ xulrunner-27.0/mozilla/python/mozbuild/mozbuild/virtualenv.py	2013-05-14 22:51:32.136719267 +0200
-@@ -37,8 +37,7 @@
-     @property
-     def virtualenv_script_path(self):
-         """Path to virtualenv's own populator script."""
--        return os.path.join(self.topsrcdir, 'python', 'virtualenv',
--            'virtualenv.py')
-+        return '/usr/bin/virtualenv'
- 
-     @property
-     def python_path(self):
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/icedove.git/commitdiff/7a5e94066a2a2086d42d4f9faff921598724c114



More information about the pld-cvs-commit mailing list