* Latest GNU Make.

svn path=/nixpkgs/trunk/; revision=5480
This commit is contained in:
Eelco Dolstra 2006-06-21 15:53:46 +00:00
parent e738411d7c
commit 2c1e5d0cfa
2 changed files with 43 additions and 55 deletions

View File

@ -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];
}

View File

@ -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)
{