* 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, fetchurl}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "gnumake-3.80"; name = "gnumake-3.81";
src = fetchurl { src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/make-3.80.tar.bz2; url = http://ftp.gnu.org/pub/gnu/make/make-3.81.tar.bz2;
md5 = "0bbd1df101bc0294d440471e50feca71"; md5 = "354853e0b2da90c527e35aabb8d6f1e6";
}; };
patches = [./log.diff]; patches = [./log.diff];
} }

View File

@ -1,8 +1,8 @@
diff -rc make-3.80-orig/job.c make-3.80/job.c diff -rc make-orig/job.c make-3.81/job.c
*** make-3.80-orig/job.c 2002-08-10 03:27:17.000000000 +0200 *** make-orig/job.c 2006-03-20 04:03:04.000000000 +0100
--- make-3.80/job.c 2004-04-02 17:38:04.000000000 +0200 --- make-3.81/job.c 2006-06-21 17:31:52.000000000 +0200
*************** ***************
*** 987,993 **** *** 1083,1089 ****
appear. */ appear. */
message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag)) 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 /* 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 this target. It is important that this happens here and not in
--- 987,993 ---- --- 1083,1089 ----
appear. */ appear. */
message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag)) 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 /* 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 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 diff -rc make-orig/main.c make-3.81/main.c
*** make-3.80-orig/main.c 2002-08-10 03:27:17.000000000 +0200 *** make-orig/main.c 2006-03-20 03:36:37.000000000 +0100
--- make-3.80/main.c 2004-04-02 17:42:50.000000000 +0200 --- make-3.81/main.c 2006-06-21 17:48:43.000000000 +0200
*************** ***************
*** 254,259 **** *** 886,891 ****
--- 254,263 ---- --- 886,900 ----
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 ----
} }
@ -49,23 +36,23 @@ diff -rc make-3.80-orig/main.c make-3.80/main.c
+ } + }
+ +
+ +
#ifndef _AMIGA #ifdef _AMIGA
int int
main (argc, argv, envp) main (int argc, char **argv)
*************** ***************
*** 854,859 **** *** 931,936 ****
--- 867,874 ---- --- 940,947 ----
no_default_sh_exe = 1; atexit (close_stdout);
#endif #endif
+ atexit(closeNesting); + atexit(closeNesting);
+ +
default_goal_file = 0; /* Needed for OS/2 */
reading_file = 0; initialize_main(&argc, &argv);
*************** ***************
*** 2782,2787 **** *** 3095,3100 ****
--- 2797,2808 ---- --- 3106,3117 ----
/* Use entire sentences to give the translators a fighting chance. */ /* 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 (starting_directory == 0)
if (entering) if (entering)
*************** ***************
*** 2810,2813 **** *** 3124,3129 ****
--- 2831,2840 ---- --- 3141,3155 ----
else
printf (_("%s[%u]: Leaving directory `%s'\n"), printf (_("%s[%u]: Leaving directory `%s'\n"),
program, makelevel, starting_directory); program, makelevel, starting_directory);
+
+ if (!entering) + if (!entering)
+ { + {
+ printf("\e[q"); + printf("\e[q");
+ logNestingStdout--; + 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 + int logNestingStdout = 0;
--- make-3.80/make.h 2004-04-02 17:42:15.000000000 +0200 + 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 **** *** 609,611 ****
--- 559,567 ---- --- 609,613 ----
extern int atomic_stat PARAMS ((const char *file, struct stat *buf)); #define ENULLLOOP(_v,_c) do{ errno = 0; \
extern struct dirent *atomic_readdir PARAMS ((DIR *dir)); while (((_v)=_c)==0 && errno==EINTR); }while(0)
+
#endif
+
+
+ extern int logNestingStdout; + extern int logNestingStdout;
+ extern int logNestingStderr; + extern int logNestingStderr;
diff -rc make-3.80-orig/remake.c make-3.80/remake.c diff -rc make-orig/remake.c make-3.81/remake.c
*** make-3.80-orig/remake.c 2002-08-08 02:11:19.000000000 +0200 *** make-orig/remake.c 2006-03-20 03:36:37.000000000 +0100
--- make-3.80/remake.c 2004-04-04 23:10:19.000000000 +0200 --- make-3.81/remake.c 2006-06-21 17:31:52.000000000 +0200
*************** ***************
*** 1049,1055 **** *** 1120,1126 ****
--- 1049,1059 ---- --- 1120,1130 ----
/* The normal case: start some commands. */ /* The normal case: start some commands. */
if (!touch_flag || file->cmds->any_recurse) if (!touch_flag || file->cmds->any_recurse)
{ {