diff --git a/pkgs/development/tools/build-managers/gnumake/default.nix b/pkgs/development/tools/build-managers/gnumake/default.nix index caedaac14964..cd58f2624edb 100644 --- a/pkgs/development/tools/build-managers/gnumake/default.nix +++ b/pkgs/development/tools/build-managers/gnumake/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "gnumake-3.80"; + name = "gnumake-3.81"; src = fetchurl { - url = http://nix.cs.uu.nl/dist/tarballs/make-3.80.tar.bz2; - md5 = "0bbd1df101bc0294d440471e50feca71"; + url = http://ftp.gnu.org/pub/gnu/make/make-3.81.tar.bz2; + md5 = "354853e0b2da90c527e35aabb8d6f1e6"; }; patches = [./log.diff]; } diff --git a/pkgs/development/tools/build-managers/gnumake/log.diff b/pkgs/development/tools/build-managers/gnumake/log.diff index fa90acfe8de5..99111ca34952 100644 --- a/pkgs/development/tools/build-managers/gnumake/log.diff +++ b/pkgs/development/tools/build-managers/gnumake/log.diff @@ -1,8 +1,8 @@ -diff -rc make-3.80-orig/job.c make-3.80/job.c -*** make-3.80-orig/job.c 2002-08-10 03:27:17.000000000 +0200 ---- make-3.80/job.c 2004-04-02 17:38:04.000000000 +0200 +diff -rc make-orig/job.c make-3.81/job.c +*** make-orig/job.c 2006-03-20 04:03:04.000000000 +0100 +--- make-3.81/job.c 2006-06-21 17:31:52.000000000 +0200 *************** -*** 987,993 **** +*** 1083,1089 **** appear. */ message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag)) @@ -10,7 +10,7 @@ diff -rc make-3.80-orig/job.c make-3.80/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 ---- 987,993 ---- +--- 1083,1089 ---- appear. */ message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag)) @@ -18,25 +18,12 @@ diff -rc make-3.80-orig/job.c make-3.80/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.80-orig/main.c make-3.80/main.c -*** make-3.80-orig/main.c 2002-08-10 03:27:17.000000000 +0200 ---- make-3.80/main.c 2004-04-02 17:42:50.000000000 +0200 +diff -rc make-orig/main.c make-3.81/main.c +*** make-orig/main.c 2006-03-20 03:36:37.000000000 +0100 +--- make-3.81/main.c 2006-06-21 17:48:43.000000000 +0200 *************** -*** 254,259 **** ---- 254,263 ---- - they appear out of date or not. */ - - int always_make_flag = 0; -+ -+ int logNestingStdout = 0; -+ int logNestingStderr = 0; -+ - - /* The usage output. We write it this way to make life easier for the - translators, especially those trying to translate to right-to-left -*************** -*** 827,832 **** ---- 831,845 ---- +*** 886,891 **** +--- 886,900 ---- } @@ -49,23 +36,23 @@ diff -rc make-3.80-orig/main.c make-3.80/main.c + } + + - #ifndef _AMIGA + #ifdef _AMIGA int - main (argc, argv, envp) + main (int argc, char **argv) *************** -*** 854,859 **** ---- 867,874 ---- - no_default_sh_exe = 1; +*** 931,936 **** +--- 940,947 ---- + atexit (close_stdout); #endif + atexit(closeNesting); + - default_goal_file = 0; - reading_file = 0; + /* Needed for OS/2 */ + initialize_main(&argc, &argv); *************** -*** 2782,2787 **** ---- 2797,2808 ---- +*** 3095,3100 **** +--- 3106,3117 ---- /* Use entire sentences to give the translators a fighting chance. */ @@ -79,39 +66,40 @@ diff -rc make-3.80-orig/main.c make-3.80/main.c if (starting_directory == 0) if (entering) *************** -*** 2810,2813 **** ---- 2831,2840 ---- - else +*** 3124,3129 **** +--- 3141,3155 ---- printf (_("%s[%u]: Leaving directory `%s'\n"), program, makelevel, starting_directory); -+ + + if (!entering) + { + printf("\e[q"); + logNestingStdout--; + } ++ + /* Flush stdout to be sure this comes before any stderr output. */ + fflush (stdout); } -diff -rc make-3.80-orig/make.h make-3.80/make.h -*** make-3.80-orig/make.h 2002-09-11 18:55:44.000000000 +0200 ---- make-3.80/make.h 2004-04-02 17:42:15.000000000 +0200 ++ ++ int logNestingStdout = 0; ++ int logNestingStderr = 0; +diff -rc make-orig/make.h make-3.81/make.h +*** make-orig/make.h 2006-02-16 00:54:43.000000000 +0100 +--- make-3.81/make.h 2006-06-21 17:39:35.000000000 +0200 *************** -*** 559,562 **** ---- 559,567 ---- - extern int atomic_stat PARAMS ((const char *file, struct stat *buf)); - extern struct dirent *atomic_readdir PARAMS ((DIR *dir)); +*** 609,611 **** +--- 609,613 ---- + #define ENULLLOOP(_v,_c) do{ errno = 0; \ + while (((_v)=_c)==0 && errno==EINTR); }while(0) -+ - #endif -+ -+ + extern int logNestingStdout; + extern int logNestingStderr; -diff -rc make-3.80-orig/remake.c make-3.80/remake.c -*** make-3.80-orig/remake.c 2002-08-08 02:11:19.000000000 +0200 ---- make-3.80/remake.c 2004-04-04 23:10:19.000000000 +0200 +diff -rc make-orig/remake.c make-3.81/remake.c +*** make-orig/remake.c 2006-03-20 03:36:37.000000000 +0100 +--- make-3.81/remake.c 2006-06-21 17:31:52.000000000 +0200 *************** -*** 1049,1055 **** ---- 1049,1059 ---- +*** 1120,1126 **** +--- 1120,1130 ---- /* The normal case: start some commands. */ if (!touch_flag || file->cmds->any_recurse) {