about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/interpreters/perl/5.20/default.nix9
-rw-r--r--pkgs/development/interpreters/perl/5.20/perl-5.20.2-gcc5_fixes-1.patch127
-rw-r--r--pkgs/development/libraries/gettext/default.nix10
-rw-r--r--pkgs/development/libraries/glibc/common.nix2
-rw-r--r--pkgs/development/libraries/glibc/glibc-locale-incompatibility.patch25
-rw-r--r--pkgs/development/libraries/libffi/default.nix12
-rw-r--r--pkgs/development/libraries/libpng/default.nix6
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/tools/misc/texinfo/5.2.nix11
-rw-r--r--pkgs/development/tools/misc/texinfo/6.0.nix14
-rw-r--r--pkgs/shells/bash/bash-4.3-patches.nix2
-rw-r--r--pkgs/top-level/all-packages.nix5
12 files changed, 74 insertions, 153 deletions
diff --git a/pkgs/development/interpreters/perl/5.20/default.nix b/pkgs/development/interpreters/perl/5.20/default.nix
index 05d64e9c511e..659fad6bb9b0 100644
--- a/pkgs/development/interpreters/perl/5.20/default.nix
+++ b/pkgs/development/interpreters/perl/5.20/default.nix
@@ -21,11 +21,11 @@ in
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "perl-5.20.2";
+  name = "perl-5.20.3";
 
   src = fetchurl {
     url = "mirror://cpan/authors/id/S/SH/SHAY/${name}.tar.gz";
-    sha256 = "17cvplgpxbm1hshxlkra2fldn4da1iap1lsnb04hdm8ply93k95i";
+    sha256 = "0jlvpd5l5nk7lzfd4akdg1sw6vinbkj6izclyyr0lrbidfky691m";
   };
 
   outputs = [ "out" "man" ];
@@ -33,8 +33,6 @@ stdenv.mkDerivation rec {
   patches =
     [ # Do not look in /usr etc. for dependencies.
       ./no-sys-dirs.patch
-      # Remove in 5.20.3
-      ./perl-5.20.2-gcc5_fixes-1.patch
     ]
     ++ optional stdenv.isSunOS ./ld-shared.patch
     ++ stdenv.lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ;
@@ -84,6 +82,9 @@ stdenv.mkDerivation rec {
       ''}
     '' + optionalString stdenv.isDarwin ''
       substituteInPlace hints/darwin.sh --replace "env MACOSX_DEPLOYMENT_TARGET=10.3" ""
+    '' + optionalString (!enableThreading) ''
+      # We need to do this because the bootstrap doesn't have a static libpthread
+      sed -i 's,\(libswanted.*\)pthread,\1,g' Configure
     '';
 
   preBuild = optionalString (!(stdenv ? cc && stdenv.cc.nativeTools))
diff --git a/pkgs/development/interpreters/perl/5.20/perl-5.20.2-gcc5_fixes-1.patch b/pkgs/development/interpreters/perl/5.20/perl-5.20.2-gcc5_fixes-1.patch
deleted file mode 100644
index 21f3ca8d7a54..000000000000
--- a/pkgs/development/interpreters/perl/5.20/perl-5.20.2-gcc5_fixes-1.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
-Date: 2015-04-17
-Initial Package Version: 5.20.2
-Upstream Status: Committed
-Origin: Petr Pisař and Tony Cook
-Description: Fixes Errno.pm and h2ph with gcc-5.
-
-1. cherry-picked because the change to $version will not apply, from
-commit 816b056ffb99ae54642320e20dc30a59fd1effef
-Author: Petr Písař <ppisar@redhat.com>
-Date:   Wed Feb 11 15:46:37 2015 +0100
-
-    Fix Errno.pm generation for gcc-5.0
-    
-    gcc-5.0 -E interleaves now line numbers with expended macros, so that
-    the generated errno.c will be preprocessed to
-    
-    EBFONT => [[
-               59
-                    ]]
-    
-    which is hard to parse in in line-based reader.
-    
-    So use -P option with gcc >= 5.0. Global -P usage would break makedepend,
-    global -ftrack-macro-expansion=0 would break lib/h2ph.t.
-    
-    RT#123784
-
-diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
-index 3dadfce..c6bfa06 100644
---- a/ext/Errno/Errno_pm.PL
-+++ b/ext/Errno/Errno_pm.PL
-@@ -215,20 +215,31 @@ sub write_errno_pm {
-     {	# BeOS (support now removed) did not enter this block
-     # invoke CPP and read the output
- 
-+	my $inhibit_linemarkers = '';
-+	if ($Config{gccversion} =~ /\A(\d+)\./ and $1 >= 5) {
-+	    # GCC 5.0 interleaves expanded macros with line numbers breaking
-+	    # each line into multiple lines. RT#123784
-+	    $inhibit_linemarkers = ' -P';
-+	}
-+
- 	if ($^O eq 'VMS') {
--	    my $cpp = "$Config{cppstdin} $Config{cppflags} $Config{cppminus}";
-+	    my $cpp = "$Config{cppstdin} $Config{cppflags}" .
-+		$inhibit_linemarkers . " $Config{cppminus}";
- 	    $cpp =~ s/sys\$input//i;
- 	    open(CPPO,"$cpp  errno.c |") or
- 		die "Cannot exec $Config{cppstdin}";
- 	} elsif ($IsMSWin32 || $^O eq 'NetWare') {
--	    open(CPPO,"$Config{cpprun} $Config{cppflags} errno.c |") or
--		die "Cannot run '$Config{cpprun} $Config{cppflags} errno.c'";
-+	    my $cpp = "$Config{cpprun} $Config{cppflags}" .
-+		$inhibit_linemarkers;
-+	    open(CPPO,"$cpp errno.c |") or
-+		die "Cannot run '$cpp errno.c'";
- 	} elsif ($IsSymbian) {
--            my $cpp = "gcc -E -I$ENV{SDK}\\epoc32\\include\\libc -";
-+            my $cpp = "gcc -E -I$ENV{SDK}\\epoc32\\include\\libc" .
-+		$inhibit_linemarkers ." -";
- 	    open(CPPO,"$cpp < errno.c |")
- 		or die "Cannot exec $cpp";
-         } else {
--	    my $cpp = default_cpp();
-+	    my $cpp = default_cpp() . $inhibit_linemarkers;
- 	    open(CPPO,"$cpp < errno.c |")
- 		or die "Cannot exec $cpp";
- 	}
-
-commit 3bea78d24634e630b610f59957e7a019205a67b2
-Author: Tony Cook <tony@develop-help.com>
-Date:   Mon Feb 16 15:57:00 2015 +1100
-
-    h2ph: correct handling of hex constants for the preamble
-    
-    Previously they were treated as identifiers resulting in code
-    generated like C< &0xFFF >.
-    
-    We also try to prevent compile-time warnings from large hex integers,
-    the user isn't responsible for the generated code, so we delay those
-    warnings to run-time.
-
-diff --git a/utils/h2ph.PL b/utils/h2ph.PL
-index 9a8b14d..d082f22 100644
---- a/utils/h2ph.PL
-+++ b/utils/h2ph.PL
-@@ -769,7 +769,7 @@ sub inc_dirs
- sub build_preamble_if_necessary
- {
-     # Increment $VERSION every time this function is modified:
--    my $VERSION     = 3;
-+    my $VERSION     = 4;
-     my $preamble    = "$Dest_dir/_h2ph_pre.ph";
- 
-     # Can we skip building the preamble file?
-@@ -788,6 +788,11 @@ sub build_preamble_if_necessary
- 
-     open  PREAMBLE, ">$preamble" or die "Cannot open $preamble:  $!";
- 	print PREAMBLE "# This file was created by h2ph version $VERSION\n";
-+        # Prevent non-portable hex constants from warning.
-+        #
-+        # We still produce an overflow warning if we can't represent
-+        # a hex constant as an integer.
-+        print PREAMBLE "no warnings qw(portable);\n";
- 
- 	foreach (sort keys %define) {
- 	    if ($opt_D) {
-@@ -814,6 +819,18 @@ DEFINE
- 		# integer:
- 		print PREAMBLE
- 		    "unless (defined &$_) { sub $_() { $1 } }\n\n";
-+            } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) {
-+                # hex integer
-+                # Special cased, since perl warns on hex integers
-+                # that can't be represented in a UV.
-+                #
-+                # This way we get the warning at time of use, so the user
-+                # only gets the warning if they happen to use this
-+                # platform-specific definition.
-+                my $code = $1;
-+                $code = "hex('$code')" if length $code > 10;
-+                print PREAMBLE
-+                    "unless (defined &$_) { sub $_() { $code } }\n\n";
- 	    } elsif ($define{$_} =~ /^\w+$/) {
- 		my $def = $define{$_};
- 		if ($isatype{$def}) {
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index 874c767046b2..3d7cfc0ca310 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -28,6 +28,12 @@ stdenv.mkDerivation (rec {
         "gt_cv_func_CFLocaleCopyCurrent=no"
       ]);
 
+  patchPhase = ''
+   substituteInPlace gettext-tools/projects/KDE/trigger --replace "/bin/pwd" pwd
+   substituteInPlace gettext-tools/projects/GNOME/trigger --replace "/bin/pwd" pwd
+   substituteInPlace gettext-tools/src/project-id --replace "/bin/pwd" pwd
+  '';
+
   # On cross building, gettext supposes that the wchar.h from libc
   # does not fulfill gettext needs, so it tries to work with its
   # own wchar.h file, which does not cope well with the system's
@@ -90,8 +96,8 @@ stdenv.mkDerivation (rec {
    # Make sure `error.c' gets compiled and is part of `libgettextlib.la'.
    # This fixes:
    # gettext-0.18.1.1/gettext-tools/src/msgcmp.c:371: undefined reference to `_error_message_count'
-
-   '' sed -i gettext-tools/gnulib-lib/Makefile.in \
+  '' 
+   sed -i gettext-tools/gnulib-lib/Makefile.in \
           -e 's/am_libgettextlib_la_OBJECTS =/am_libgettextlib_la_OBJECTS = error.lo/g'
    '';
 })
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index cf356ccefbed..26d2f2454b45 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -61,6 +61,8 @@ stdenv.mkDerivation ({
       ./security-bdf1ff05.patch
       ./cve-2014-8121.patch
       ./cve-2015-1781.patch
+
+      ./glibc-locale-incompatibility.patch
     ];
 
   postPatch =
diff --git a/pkgs/development/libraries/glibc/glibc-locale-incompatibility.patch b/pkgs/development/libraries/glibc/glibc-locale-incompatibility.patch
new file mode 100644
index 000000000000..8ca2ce4cd88a
--- /dev/null
+++ b/pkgs/development/libraries/glibc/glibc-locale-incompatibility.patch
@@ -0,0 +1,25 @@
+http://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/glibc-locale-incompatibility.patch
+
+This patch avoids an assertion failure when incompatible locale data
+is encountered:
+
+  https://sourceware.org/ml/libc-alpha/2015-09/msg00575.html
+
+--- glibc-2.22/locale/loadlocale.c	2015-09-22 17:16:02.321981548 +0200
++++ glibc-2.22/locale/loadlocale.c	2015-09-22 17:17:34.814659064 +0200
+@@ -120,10 +120,11 @@
+ 	 _nl_value_type_LC_XYZ array.  There are all pointers.  */
+       switch (category)
+ 	{
+-#define CATTEST(cat) \
+-	case LC_##cat:							      \
+-	  assert (cnt < (sizeof (_nl_value_type_LC_##cat)		      \
+-			 / sizeof (_nl_value_type_LC_##cat[0])));	      \
++#define CATTEST(cat)						\
++	case LC_##cat:						\
++	  if (cnt >= (sizeof (_nl_value_type_LC_##cat)		\
++		      / sizeof (_nl_value_type_LC_##cat[0])))	\
++	    goto puntdata;					\
+ 	  break
+ 	  CATTEST (NUMERIC);
+ 	  CATTEST (TIME);
diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix
index 824b909f1d91..5c981e664cb4 100644
--- a/pkgs/development/libraries/libffi/default.nix
+++ b/pkgs/development/libraries/libffi/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, dejagnu, doCheck ? false }:
 
 stdenv.mkDerivation rec {
   name = "libffi-3.2.1";
@@ -10,11 +10,15 @@ stdenv.mkDerivation rec {
 
   patches = if stdenv.isCygwin then [ ./3.2.1-cygwin.patch ] else null;
 
+  buildInputs = stdenv.lib.optional doCheck dejagnu;
+
   configureFlags = [
     "--with-gcc-arch=generic" # no detection of -march= or -mtune=
     "--enable-pax_emutramp"
   ];
 
+  inherit doCheck;
+
   dontStrip = stdenv ? cross; # Don't run the native `strip' when cross-compiling.
 
   # Install headers in the right place.
@@ -22,7 +26,7 @@ stdenv.mkDerivation rec {
     ln -s${if (stdenv.isFreeBSD || stdenv.isOpenBSD || stdenv.isDarwin) then "" else "r"}v "$out/lib/"libffi*/include "$out/include"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A foreign function call interface library";
     longDescription = ''
       The libffi library provides a portable, high level programming
@@ -40,8 +44,8 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://sourceware.org/libffi/;
     # See http://github.com/atgreen/libffi/blob/master/LICENSE .
-    license = stdenv.lib.licenses.free;
+    license = licenses.free;
     maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index a2454aa02f04..4e18dcb680f9 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -3,11 +3,11 @@
 assert zlib != null;
 
 let
-  version = "1.6.19";
-  sha256 = "1s1mmkl79ghiczi2x2rbnp6y70v4c5pr8g3icxn9h5imymbmc71i";
+  version = "1.6.20";
+  sha256 = "12wis4rlisfnw79pj2778m42m94xpi9nq8m385hxk11lkyg9biam";
   patch_src = fetchurl {
     url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz";
-    sha256 = "0bgqkac16yhl0zwjzq2zwkixg2l2x3a6blbk3k0wqz0lza2a6jrh";
+    sha256 = "11xgal9qk6fmqdgcb37xg55f2y58wizszw54p1pyq855d2xpwfz6";
   };
   whenPatched = stdenv.lib.optionalString apngSupport;
 
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 11fafc8f0381..ca566fd1b11b 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -22,7 +22,7 @@ else
 */
 
 let
-  version = "11.0.5";
+  version = "11.0.8";
   # this is the default search path for DRI drivers
   driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32";
 in
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
       "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
       "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
     ];
-    sha256 = "9c255a2a6695fcc6ef4a279e1df0aeaf417dc142f39ee59dfb533d80494bb67a";
+    sha256 = "5696e4730518b6805d2ed5def393c4293f425a2c2c01bd5ed4bdd7ad62f7ad75";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/tools/misc/texinfo/5.2.nix b/pkgs/development/tools/misc/texinfo/5.2.nix
index c43ebcd2de28..99582e0f8a3d 100644
--- a/pkgs/development/tools/misc/texinfo/5.2.nix
+++ b/pkgs/development/tools/misc/texinfo/5.2.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, ncurses, perl, xz, interactive ? false }:
+{ stdenv, fetchurl, ncurses, perl, xz, procps, interactive ? false }:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "texinfo-5.2";
@@ -9,7 +11,8 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ perl xz ]
-    ++ stdenv.lib.optional interactive ncurses;
+    ++ optional interactive ncurses
+    ++ optional doCheck procps; # for tests
 
   preInstall = ''
     installFlags="TEXMF=$out/texmf-dist";
@@ -21,8 +24,8 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.gnu.org/software/texinfo/";
     description = "The GNU documentation system";
-    license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
 
     longDescription = ''
       Texinfo is the official documentation format of the GNU project.
diff --git a/pkgs/development/tools/misc/texinfo/6.0.nix b/pkgs/development/tools/misc/texinfo/6.0.nix
index 670c7182150e..507ca22cd1ae 100644
--- a/pkgs/development/tools/misc/texinfo/6.0.nix
+++ b/pkgs/development/tools/misc/texinfo/6.0.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, ncurses, perl, xz, libiconv, gawk, interactive ? false }:
+{ stdenv, fetchurl, ncurses, perl, xz, libiconv, gawk, procps, interactive ? false }:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "texinfo-6.0";
@@ -9,17 +11,19 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ perl xz ]
-    ++ stdenv.lib.optionals stdenv.isSunOS [ libiconv gawk ]
-    ++ stdenv.lib.optional interactive ncurses;
+    ++ optionals stdenv.isSunOS [ libiconv gawk ]
+    ++ optional interactive ncurses
+    ++ optional doCheck procps; # for tests
 
-  configureFlags = stdenv.lib.optionalString stdenv.isSunOS "AWK=${gawk}/bin/awk";
+  configureFlags = stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
 
   preInstall = ''
     installFlags="TEXMF=$out/texmf-dist";
     installTargets="install install-tex";
   '';
 
-  doCheck = !stdenv.isDarwin && !interactive && !stdenv.isSunOS/*flaky*/;
+  doCheck = interactive # simplify bootstrapping
+    && !stdenv.isDarwin && !stdenv.isSunOS/*flaky*/;
 
   meta = with stdenv.lib; {
     homepage = "http://www.gnu.org/software/texinfo/";
diff --git a/pkgs/shells/bash/bash-4.3-patches.nix b/pkgs/shells/bash/bash-4.3-patches.nix
index c994ed636a96..f84ac836e941 100644
--- a/pkgs/shells/bash/bash-4.3-patches.nix
+++ b/pkgs/shells/bash/bash-4.3-patches.nix
@@ -42,5 +42,5 @@ patch: [
 (patch "039" "1v3l3vkc3g2b6fjycqwlakr8xhiw6bmw6q0zd6bi0m0m4bnxr55b")
 (patch "040" "0sypv66vsldmc95gwvf7ylz1k7y37vnvdsjg8ajjr6b2j9mkkfw4")
 (patch "041" "06ic2gdpbi1afik3wqf9d4vh95if4bz8bmhcgr555621dsb35i2f")
-(patch "042" "1bwhssay66n75fy0pxcrwbm032s6fvfg7dblzbrzzn5k38a56nmp")
+(patch "042" "06a90k0p6bqc4wk2dsmapna69124an76xvlnlj3xm497vci968dc")
 ]
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2163fd81f78c..402d00e31794 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6670,7 +6670,10 @@ let
   };
 
   glib = callPackage ../development/libraries/glib { };
-  glib-tested = glib.override { doCheck = true; }; # checked version separate to break cycles
+  glib-tested = glib.override { # checked version separate to break cycles
+    doCheck = true;
+    libffi = libffi.override { doCheck = true; };
+  };
   glibmm = callPackage ../development/libraries/glibmm { };
 
   glib_networking = callPackage ../development/libraries/glib-networking {};