1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-26 07:31:20 +00:00

gnumake: add version 4.0

This commit is contained in:
Peter Simons 2013-12-09 16:14:41 +01:00
parent e2f8c7a208
commit 6dfc18dc00
4 changed files with 101 additions and 0 deletions

View file

@ -0,0 +1,17 @@
Fixed default libpatttern on Darwin, imported from prefix overlay.
Got merged upstream:
https://savannah.gnu.org/bugs/?37197
--- default.c.orig 2009-05-02 12:25:24 +0200
+++ default.c 2009-05-02 12:25:58 +0200
@@ -509,7 +509,11 @@
#ifdef __MSDOS__
".LIBPATTERNS", "lib%.a $(DJDIR)/lib/lib%.a",
#else
+#ifdef __APPLE__
+ ".LIBPATTERNS", "lib%.dylib lib%.a",
+#else
".LIBPATTERNS", "lib%.so lib%.a",
+#endif
#endif
#endif

View file

@ -0,0 +1,49 @@
{stdenv, fetchurl}:
let version = "4.0"; in
stdenv.mkDerivation {
name = "gnumake-${version}";
src = fetchurl {
url = "mirror://gnu/make/make-${version}.tar.bz2";
sha256 = "1nyvn8mknw0mf7727lprva3lisl1y0n03lvar342rrpdmz3qc1p6";
};
/* On Darwin, there are 3 test failures that haven't been investigated
yet. */
doCheck = !stdenv.isDarwin && !stdenv.isFreeBSD;
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.patch
# a bunch of patches from Gentoo, mostly should be from upstream (unreleased)
./darwin-library_search-dylib.patch
];
patchFlags = "-p0";
meta = {
description = "GNU Make, a program controlling the generation of non-source files from sources";
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.
'';
homepage = http://www.gnu.org/software/make/;
license = "GPLv3+";
maintainers = [ stdenv.lib.maintainers.ludo ];
platforms = stdenv.lib.platforms.all;
};
}

View file

@ -0,0 +1,34 @@
diff -rc read.c read.c
*** read.c 2006-03-17 15:24:20.000000000 +0100
--- read.c 2007-05-24 17:16:31.000000000 +0200
***************
*** 99,107 ****
--- 99,109 ----
#endif
INCLUDEDIR,
#ifndef _AMIGA
+ #if 0
"/usr/gnu/include",
"/usr/local/include",
"/usr/include",
+ #endif
#endif
0
};
diff -rc reremake.c
*** remake.c 2006-03-20 03:36:37.000000000 +0100
--- remake.c 2007-05-24 17:06:54.000000000 +0200
***************
*** 1452,1460 ****
--- 1452,1462 ----
static 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

View file

@ -3644,6 +3644,7 @@ let
gnumake380 = callPackage ../development/tools/build-managers/gnumake/3.80 { };
gnumake381 = callPackage ../development/tools/build-managers/gnumake/3.81 { };
gnumake382 = callPackage ../development/tools/build-managers/gnumake/3.82 { };
gnumake40 = callPackage ../development/tools/build-managers/gnumake/4.0 { };
gnumake = gnumake382;
gob2 = callPackage ../development/tools/misc/gob2 { };