diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix index 6990c12439d7..80d2c05584b7 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix @@ -1,5 +1,6 @@ -{ stdenv, lib, fetchurl, pkgconfig, which, m4, gtk2, pango, perl, python2, zip, libIDL -, libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xorg +{ stdenv, lib, fetchurl, pkgconfig, autoconf213, which, m4, gtk2, pango +, perl, python2, zip +, libIDL , libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xorg , freetype, fontconfig, file, alsaLib, nspr, nss, libnotify , yasm, mesa, sqlite, unzip, makeWrapper , hunspell, libevent, libstartup_notification, libvpx @@ -14,7 +15,7 @@ enableOfficialBranding ? false }: -let version = "45.8.0"; in +let version = "52.0"; in let verName = "${version}"; in stdenv.mkDerivation rec { @@ -22,11 +23,9 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://mozilla/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.xz"; - sha512 = "f8ba08d874fb1a09ac9ba5d4d1f46cefe801783ba4bf82eee682ac2ecc4e231d07033a80e036ad04bda7780c093fb7bc3122a23dc6e19c12f18fb7168dc78deb"; + sha512 = "215de8ae386f6f12d7a4338bb03bac956410be0dd4de5cca218e12241e3948c8c2540756e149bfde597cd10e399b4cb4db86619a2aa50a368ba323b413c1f93c"; }; - patches = [ ./gcc6.patch ]; - # New sed no longer tolerates this mistake. postPatch = '' for f in mozilla/{js/src,}/configure; do @@ -35,7 +34,7 @@ stdenv.mkDerivation rec { ''; buildInputs = # from firefox30Pkgs.xulrunner, without gstreamer and libvpx - [ pkgconfig which libpng gtk2 perl zip libIDL libjpeg zlib bzip2 + [ pkgconfig autoconf213 which libpng gtk2 perl zip libIDL libjpeg zlib bzip2 python2 dbus dbus_glib pango freetype fontconfig xorg.libXi xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file alsaLib nspr nss libnotify xorg.pixman yasm mesa @@ -62,22 +61,20 @@ stdenv.mkDerivation rec { "--enable-system-sqlite" "--enable-system-cairo" "--disable-gconf" - "--disable-gstreamer" "--enable-startup-notification" # "--enable-content-sandbox" # available since 26.0, but not much info available # "--enable-content-sandbox-reporter" # keeping disabled for now "--disable-crashreporter" "--disable-tests" "--disable-necko-wifi" # maybe we want to enable this at some point - "--disable-installer" "--disable-updater" "--disable-pulseaudio" + "--enable-default-toolkit=cairo-gtk2" ] ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"] else [ "--disable-debug" "--enable-release" "--disable-debug-symbols" "--enable-optimize" "--enable-strip" ]) ++ [ - "--disable-javaxpcom" #"--enable-stdcxx-compat" # Avoid dependency on libstdc++ 4.7 ] ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding"; diff --git a/pkgs/applications/networking/mailreaders/thunderbird/gcc6.patch b/pkgs/applications/networking/mailreaders/thunderbird/gcc6.patch deleted file mode 100644 index bd1022202851..000000000000 --- a/pkgs/applications/networking/mailreaders/thunderbird/gcc6.patch +++ /dev/null @@ -1,75 +0,0 @@ - -# HG changeset patch -# User Mike Hommey -# Date 1457596445 -32400 -# Node ID 55212130f19da3079167a6b0a5a0ed6689c9a71d -# Parent 27c94617d7064d566c24a42e11cd4c7ef725923d -Bug 1245076 - Don't include mozalloc.h from the cstdlib wrapper. r=froydnj - -Our STL wrappers do various different things, one of which is including -mozalloc.h for infallible operator new. mozalloc.h includes stdlib.h, -which, in libstdc++ >= 6 is now itself a wrapper around cstdlib, which -circles back to our STL wrapper. - -But of the things our STL wrappers do, including mozalloc.h is not one -that is necessary for cstdlib. So skip including mozalloc.h in our -cstdlib wrapper. - -Additionally, some C++ sources (in media/mtransport) are including -headers in an extern "C" block, which end up including stdlib.h, which -ends up including cstdlib because really, this is all C++, and our -wrapper pre-includes for mozalloc.h, which fails because templates -don't work inside extern "C". So, don't pre-include when we're not -including mozalloc.h. - - -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 -@@ -12,33 +12,40 @@ - // compiling ObjC. - #if defined(__EXCEPTIONS) && __EXCEPTIONS && !(__OBJC__ && __GNUC__ && XP_IOS) - # error "STL code can only be used with -fno-exceptions" - #endif - - // Silence "warning: #include_next is a GCC extension" - #pragma GCC system_header - -+// Don't include mozalloc for cstdlib. See bug 1245076. -+#ifndef moz_dont_include_mozalloc_for_cstdlib -+# define moz_dont_include_mozalloc_for_cstdlib -+#endif -+#ifndef moz_dont_include_mozalloc_for_${HEADER} - // mozalloc.h wants ; break the cycle by always explicitly - // including here. NB: this is a tad sneaky. Sez the gcc docs: - // - // `#include_next' does not distinguish between 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 -+# include_next - - // 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()" -+# 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 - - #if defined(DEBUG) && !defined(_GLIBCXX_DEBUG) - // Enable checked iterators and other goodies - // - // FIXME/bug 551254: gcc's debug STL implementation requires -frtti. - // Figure out how to resolve this with -fno-rtti. Maybe build with - // -frtti in DEBUG builds? -