gnumake: Add 4.2.90pre2491_38c8a11 for proper glibc 2.27 support.
This commit is contained in:
parent
cfa3e7e633
commit
fb8a09e8f0
3 changed files with 101 additions and 0 deletions
69
pkgs/development/tools/build-managers/gnumake/4.2/head.nix
Normal file
69
pkgs/development/tools/build-managers/gnumake/4.2/head.nix
Normal file
|
@ -0,0 +1,69 @@
|
|||
{ stdenv, fetchurl, texinfo, guileSupport ? false, pkgconfig , guile ? null, autoreconfHook }:
|
||||
|
||||
assert guileSupport -> ( guile != null );
|
||||
|
||||
let
|
||||
version = "4.2.90";
|
||||
revision = "48c8a116a914a325a0497721f5d8b58d5bba34d4";
|
||||
revCount = "2491";
|
||||
shortRev = "48c8a11";
|
||||
|
||||
baseVersion = "4.2.1";
|
||||
baseTarball = fetchurl {
|
||||
url = "mirror://gnu/make/make-${baseVersion}.tar.bz2";
|
||||
sha256 = "12f5zzyq2w56g95nni65hc0g5p7154033y2f3qmjvd016szn5qnn";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "gnumake-${version}pre${revCount}_${shortRev}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://git.savannah.gnu.org/cgit/make.git/snapshot/make-${revision}.tar.gz";
|
||||
sha256 = "0k6yvhr2a5lh1qhflv02dyvq5p20ikgaakm8w6gr4xmkspljwpwx";
|
||||
};
|
||||
|
||||
postUnpack = ''
|
||||
unpackFile ${baseTarball}
|
||||
cp make-${baseVersion}/po/*.po $sourceRoot/po
|
||||
cp make-${baseVersion}/doc/{fdl,make-stds}.texi $sourceRoot/doc
|
||||
'';
|
||||
|
||||
patches = [
|
||||
# Purity: don't look for library dependencies (of the form `-lfoo') in /lib
|
||||
# and /usr/lib. It's a stupid feature anyway. Likewise, when searching for
|
||||
# included Makefiles, don't look in /usr/include and friends.
|
||||
./impure-dirs-head.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# These aren't in the 4.2.1 tarball yet.
|
||||
sed -i -e 's/sr//' -e 's/zh_TW//' po/LINGUAS
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig texinfo ];
|
||||
buildInputs = stdenv.lib.optional guileSupport guile;
|
||||
|
||||
configureFlags = stdenv.lib.optional guileSupport "--with-guile";
|
||||
|
||||
outputs = [ "out" "man" "info" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.gnu.org/software/make/;
|
||||
description = "A tool to control the generation of non-source files from sources";
|
||||
license = licenses.gpl3Plus;
|
||||
|
||||
longDescription = ''
|
||||
Make is a tool which controls the generation of executables and
|
||||
other non-source files of a program from the program's source files.
|
||||
|
||||
Make gets its knowledge of how to build your program from a file
|
||||
called the makefile, which lists each of the non-source files and
|
||||
how to compute it from other files. When you write a program, you
|
||||
should write a makefile for it, so that it is possible to use Make
|
||||
to build and install the program.
|
||||
'';
|
||||
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.vrthra ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
diff -Naur a/src/read.c b/src/read.c
|
||||
--- a/src/read.c 2017-11-19 15:17:47.000000000 -0500
|
||||
+++ b/src/read.c 2018-02-19 08:53:51.548755213 -0500
|
||||
@@ -109,10 +109,12 @@
|
||||
#endif
|
||||
INCLUDEDIR,
|
||||
#ifndef _AMIGA
|
||||
+#if 0
|
||||
"/usr/gnu/include",
|
||||
"/usr/local/include",
|
||||
"/usr/include",
|
||||
#endif
|
||||
+#endif
|
||||
0
|
||||
};
|
||||
|
||||
diff -Naur a/src/remake.c b/src/remake.c
|
||||
--- a/src/remake.c 2017-11-19 15:17:47.000000000 -0500
|
||||
+++ b/src/remake.c 2018-02-19 08:54:08.304101943 -0500
|
||||
@@ -1601,9 +1601,11 @@
|
||||
static const char *dirs[] =
|
||||
{
|
||||
#ifndef _AMIGA
|
||||
+#if 0
|
||||
"/lib",
|
||||
"/usr/lib",
|
||||
#endif
|
||||
+#endif
|
||||
#if defined(WINDOWS32) && !defined(LIBDIR)
|
||||
/*
|
||||
* This is completely up to the user at product install time. Just define
|
|
@ -7662,6 +7662,7 @@ with pkgs;
|
|||
gnumake3 = gnumake382;
|
||||
gnumake42 = callPackage ../development/tools/build-managers/gnumake/4.2 { };
|
||||
gnumake = gnumake42;
|
||||
gnumake42HEAD = callPackage ../development/tools/build-managers/gnumake/4.2/head.nix { };
|
||||
|
||||
gnustep = recurseIntoAttrs (callPackage ../desktops/gnustep {});
|
||||
|
||||
|
|
Loading…
Reference in a new issue