gnumake: Fix build against glibc 2.27.

This commit is contained in:
Shea Levy 2018-02-18 04:56:40 -05:00
parent 765194d7ab
commit a551e6debc
No known key found for this signature in database
GPG Key ID: 5C0BD6957D86FE27
3 changed files with 29 additions and 1 deletions

View File

@ -192,6 +192,8 @@ stdenv.mkDerivation ({
maintainers = [ lib.maintainers.eelco ];
platforms = lib.platforms.linux;
} // meta;
passthru = { inherit version; };
}
// lib.optionalAttrs (cross != null) {

View File

@ -4,6 +4,8 @@ assert guileSupport -> ( pkgconfig != null && guile != null );
let
version = "4.2.1";
needGlibcPatch = (stdenv.cc.libc.version or "") == "2.27";
in
stdenv.mkDerivation {
name = "gnumake-${version}";
@ -20,7 +22,7 @@ stdenv.mkDerivation {
# included Makefiles, don't look in /usr/include and friends.
./impure-dirs.patch
./pselect.patch
];
] ++ stdenv.lib.optional needGlibcPatch ./glibc-2.27.patch;
nativeBuildInputs = stdenv.lib.optionals guileSupport [ pkgconfig ];
buildInputs = stdenv.lib.optionals guileSupport [ guile ];

View File

@ -0,0 +1,24 @@
From 48c8a116a914a325a0497721f5d8b58d5bba34d4 Mon Sep 17 00:00:00 2001
From: Paul Smith <psmith@gnu.org>
Date: Sun, 19 Nov 2017 15:09:16 -0500
Subject: * configure.ac: Support GLIBC glob interface version 2
---
configure.ac | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff -Naur a/configure b/configure
--- configure 2016-06-10 19:03:21.000000000 -0400
+++ configure 2018-02-18 04:40:32.971371555 -0500
@@ -11481,10 +11481,9 @@
#include <glob.h>
#include <fnmatch.h>
-#define GLOB_INTERFACE_VERSION 1
#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
# include <gnu-versions.h>
-# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
+# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2
gnu glob
# endif
#endif