diff --git a/pkgs/development/tools/build-managers/gnumake/construct-command-line.patch b/pkgs/development/tools/build-managers/gnumake/construct-command-line.patch index c504c45291ba..aa4a1afe3fd0 100644 --- a/pkgs/development/tools/build-managers/gnumake/construct-command-line.patch +++ b/pkgs/development/tools/build-managers/gnumake/construct-command-line.patch @@ -13,10 +13,10 @@ Subject: [PATCH] job.c (construct_command_argv_internal): Don't assume job.c | 23 ++++++++++++++++------- 2 files changed, 23 insertions(+), 7 deletions(-) -diff --git a/job.c b/job.c +diff --git job.c job.c index 67b402d..c2ce84d 100644 ---- a/job.c -+++ b/job.c +--- job.c ++++ job.c @@ -2844,12 +2844,12 @@ construct_command_argv_internal (char *line, char **restp, char *shell, unsigned int shell_len = strlen (shell); diff --git a/pkgs/development/tools/build-managers/gnumake/default.nix b/pkgs/development/tools/build-managers/gnumake/default.nix index cb0ab18a40f5..731664f99132 100644 --- a/pkgs/development/tools/build-managers/gnumake/default.nix +++ b/pkgs/development/tools/build-managers/gnumake/default.nix @@ -24,22 +24,21 @@ stdenv.mkDerivation { # 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) - preConfigure = '' - patch -i ${./archives-many-objs.patch} - patch -i ${./MAKEFLAGS-reexec.patch} - patch -i ${./memory-corruption.patch} - patch -i ${./glob-speedup.patch} - patch -i ${./copy-on-expand.patch} - patch -i ${./oneshell.patch} - patch -i ${./parallel-remake.patch} - patch -p1 -i ${./intermediate-parallel.patch} - patch -i ${./construct-command-line.patch} - patch -i ${./long-command-line.patch} - patch -i ${./darwin-library_search-dylib.patch} - ''; + # a bunch of patches from Gentoo, mostly should be from upstream (unreleased) + ./archives-many-objs.patch + ./MAKEFLAGS-reexec.patch + ./memory-corruption.patch + ./glob-speedup.patch + ./copy-on-expand.patch + ./oneshell.patch + ./parallel-remake.patch + ./intermediate-parallel.patch + ./construct-command-line.patch + ./long-command-line.patch + ./darwin-library_search-dylib.patch + ]; + patchFlags = "-p0"; meta = { description = "GNU Make, a program controlling the generation of non-source files from sources"; diff --git a/pkgs/development/tools/build-managers/gnumake/glob-speedup.patch b/pkgs/development/tools/build-managers/gnumake/glob-speedup.patch index c826c2c0e1fa..45971f33590b 100644 --- a/pkgs/development/tools/build-managers/gnumake/glob-speedup.patch +++ b/pkgs/development/tools/build-managers/gnumake/glob-speedup.patch @@ -17,8 +17,8 @@ Changes since 1.198: +35 -25 lines Avoid invoking glob() unless the filename has potential globbing characters in it, for performance improvements. ---- a/read.c 2011/04/29 15:27:39 1.198 -+++ b/read.c 2011/05/07 14:36:12 1.200 +--- read.c 2011/04/29 15:27:39 1.198 ++++ read.c 2011/05/07 14:36:12 1.200 @@ -2901,6 +2901,7 @@ const char *name; const char **nlist = 0; diff --git a/pkgs/development/tools/build-managers/gnumake/impure-dirs.patch b/pkgs/development/tools/build-managers/gnumake/impure-dirs.patch index 433f61108dbc..f6646f1d0126 100644 --- a/pkgs/development/tools/build-managers/gnumake/impure-dirs.patch +++ b/pkgs/development/tools/build-managers/gnumake/impure-dirs.patch @@ -1,6 +1,6 @@ -diff -rc make-3.81-orig/read.c make-3.81/read.c -*** make-3.81-orig/read.c 2006-03-17 15:24:20.000000000 +0100 ---- make-3.81/read.c 2007-05-24 17:16:31.000000000 +0200 +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 ---- @@ -15,9 +15,9 @@ diff -rc make-3.81-orig/read.c make-3.81/read.c #endif 0 }; -diff -rc make-3.81-orig/remake.c make-3.81/remake.c -*** make-3.81-orig/remake.c 2006-03-20 03:36:37.000000000 +0100 ---- make-3.81/remake.c 2007-05-24 17:06:54.000000000 +0200 +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 ---- diff --git a/pkgs/development/tools/build-managers/gnumake/intermediate-parallel.patch b/pkgs/development/tools/build-managers/gnumake/intermediate-parallel.patch index 88f2b238e698..9bb7add0bde2 100644 --- a/pkgs/development/tools/build-managers/gnumake/intermediate-parallel.patch +++ b/pkgs/development/tools/build-managers/gnumake/intermediate-parallel.patch @@ -1,7 +1,7 @@ -diff --git a/remake.c b/remake.c +diff --git remake.c remake.c index c0bf709..b1ddd23 100644 ---- a/remake.c -+++ b/remake.c +--- remake.c ++++ remake.c @@ -612,6 +612,10 @@ update_file_1 (struct file *file, unsigned int depth) d->file->dontcare = file->dontcare; } @@ -13,10 +13,10 @@ index c0bf709..b1ddd23 100644 dep_status |= update_file (d->file, depth); -diff --git a/tests/scripts/features/parallelism b/tests/scripts/features/parallelism +diff --git tests/scripts/features/parallelism tests/scripts/features/parallelism index d4250f0..76d24a7 100644 ---- a/tests/scripts/features/parallelism -+++ b/tests/scripts/features/parallelism +--- tests/scripts/features/parallelism ++++ tests/scripts/features/parallelism @@ -214,6 +214,23 @@ rm main.x"); rmfiles(qw(foo.y foo.y.in main.bar)); } diff --git a/pkgs/development/tools/build-managers/gnumake/log.patch b/pkgs/development/tools/build-managers/gnumake/log.patch index ca0d6340790b..e6197fd8e78f 100644 --- a/pkgs/development/tools/build-managers/gnumake/log.patch +++ b/pkgs/development/tools/build-managers/gnumake/log.patch @@ -1,6 +1,6 @@ -diff -rc make-3.81-orig/job.c make-3.81/job.c -*** make-3.81-orig/job.c 2006-03-20 04:03:04.000000000 +0100 ---- make-3.81/job.c 2009-01-19 19:37:28.000000000 +0100 +diff -rc job.c job.c +*** job.c 2006-03-20 04:03:04.000000000 +0100 +--- job.c 2009-01-19 19:37:28.000000000 +0100 *************** *** 1083,1089 **** appear. */ @@ -18,9 +18,9 @@ diff -rc make-3.81-orig/job.c make-3.81/job.c /* Tell update_goal_chain that a command has been started on behalf of this target. It is important that this happens here and not in -diff -rc make-3.81-orig/main.c make-3.81/main.c -*** make-3.81-orig/main.c 2006-03-20 03:36:37.000000000 +0100 ---- make-3.81/main.c 2009-01-19 19:41:41.000000000 +0100 +diff -rc main.c main.c +*** main.c 2006-03-20 03:36:37.000000000 +0100 +--- main.c 2009-01-19 19:41:41.000000000 +0100 *************** *** 886,891 **** --- 886,900 ---- @@ -87,9 +87,9 @@ diff -rc make-3.81-orig/main.c make-3.81/main.c + int enable_nested_output = 0; + int stdout_nesting_level = 0; + int stderr_nesting_level = 0; -diff -rc make-3.81-orig/make.h make-3.81/make.h -*** make-3.81-orig/make.h 2006-02-16 00:54:43.000000000 +0100 ---- make-3.81/make.h 2009-01-19 19:32:03.000000000 +0100 +diff -rc make.h +*** make.h 2006-02-16 00:54:43.000000000 +0100 +--- make.h 2009-01-19 19:32:03.000000000 +0100 *************** *** 609,611 **** --- 609,614 ---- @@ -99,9 +99,9 @@ diff -rc make-3.81-orig/make.h make-3.81/make.h + extern int enable_nested_output; + extern int stdout_nesting_level; + extern int stderr_nesting_level; -diff -rc make-3.81-orig/remake.c make-3.81/remake.c -*** make-3.81-orig/remake.c 2006-03-20 03:36:37.000000000 +0100 ---- make-3.81/remake.c 2009-01-19 19:39:40.000000000 +0100 +diff -rc reremake.c +*** remake.c 2006-03-20 03:36:37.000000000 +0100 +--- remake.c 2009-01-19 19:39:40.000000000 +0100 *************** *** 1120,1126 **** --- 1120,1137 ---- diff --git a/pkgs/development/tools/build-managers/gnumake/long-command-line.patch b/pkgs/development/tools/build-managers/gnumake/long-command-line.patch index 9266786e4da7..39ea05843bfd 100644 --- a/pkgs/development/tools/build-managers/gnumake/long-command-line.patch +++ b/pkgs/development/tools/build-managers/gnumake/long-command-line.patch @@ -11,10 +11,10 @@ Subject: [PATCH] Keep the command line on the heap to avoid stack overflow. job.c | 13 +++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) -diff --git a/job.c b/job.c +diff --git job.c job.c index 754576b..f7b7d51 100644 ---- a/job.c -+++ b/job.c +--- job.c ++++ job.c @@ -2984,8 +2984,8 @@ construct_command_argv_internal (char *line, char **restp, char *shell, return new_argv; }