* Revive GNU make 3.80 for programs that need it.
svn path=/nixpkgs/trunk/; revision=5488
This commit is contained in:
parent
a26451fd89
commit
169315dc1d
@ -0,0 +1,10 @@
|
|||||||
|
{stdenv, fetchurl}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "gnumake-3.81";
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://ftp.gnu.org/pub/gnu/make/make-3.81.tar.bz2;
|
||||||
|
md5 = "354853e0b2da90c527e35aabb8d6f1e6";
|
||||||
|
};
|
||||||
|
patches = [./log.diff];
|
||||||
|
}
|
113
pkgs/development/tools/build-managers/gnumake-3.80/log.diff
Normal file
113
pkgs/development/tools/build-managers/gnumake-3.80/log.diff
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
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
|
||||||
|
***************
|
||||||
|
*** 1083,1089 ****
|
||||||
|
appear. */
|
||||||
|
|
||||||
|
message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag))
|
||||||
|
! ? "%s" : (char *) 0, p);
|
||||||
|
|
||||||
|
/* 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
|
||||||
|
--- 1083,1089 ----
|
||||||
|
appear. */
|
||||||
|
|
||||||
|
message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag))
|
||||||
|
! ? "\e[3s\e[a%s\e[b" : (char *) 0, p);
|
||||||
|
|
||||||
|
/* 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-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
|
||||||
|
***************
|
||||||
|
*** 886,891 ****
|
||||||
|
--- 886,900 ----
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
+ static void closeNesting()
|
||||||
|
+ {
|
||||||
|
+ while (logNestingStdout--)
|
||||||
|
+ printf("\e[q");
|
||||||
|
+ while (logNestingStderr--)
|
||||||
|
+ fprintf(stderr, "\e[q");
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+
|
||||||
|
#ifdef _AMIGA
|
||||||
|
int
|
||||||
|
main (int argc, char **argv)
|
||||||
|
***************
|
||||||
|
*** 931,936 ****
|
||||||
|
--- 940,947 ----
|
||||||
|
atexit (close_stdout);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+ atexit(closeNesting);
|
||||||
|
+
|
||||||
|
/* Needed for OS/2 */
|
||||||
|
initialize_main(&argc, &argv);
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 3095,3100 ****
|
||||||
|
--- 3106,3117 ----
|
||||||
|
|
||||||
|
/* Use entire sentences to give the translators a fighting chance. */
|
||||||
|
|
||||||
|
+ if (entering)
|
||||||
|
+ {
|
||||||
|
+ printf("\e[p");
|
||||||
|
+ logNestingStdout++;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (makelevel == 0)
|
||||||
|
if (starting_directory == 0)
|
||||||
|
if (entering)
|
||||||
|
***************
|
||||||
|
*** 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);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ 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
|
||||||
|
***************
|
||||||
|
*** 609,611 ****
|
||||||
|
--- 609,613 ----
|
||||||
|
#define ENULLLOOP(_v,_c) do{ errno = 0; \
|
||||||
|
while (((_v)=_c)==0 && errno==EINTR); }while(0)
|
||||||
|
|
||||||
|
+ extern int logNestingStdout;
|
||||||
|
+ extern int logNestingStderr;
|
||||||
|
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
|
||||||
|
***************
|
||||||
|
*** 1120,1126 ****
|
||||||
|
--- 1120,1130 ----
|
||||||
|
/* The normal case: start some commands. */
|
||||||
|
if (!touch_flag || file->cmds->any_recurse)
|
||||||
|
{
|
||||||
|
+ fprintf(stderr, "\e[pbuilding %s\n", file->name);
|
||||||
|
+ logNestingStderr++;
|
||||||
|
execute_file_commands (file);
|
||||||
|
+ fprintf(stderr, "\e[q");
|
||||||
|
+ logNestingStderr--;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,6 @@
|
|||||||
{stdenv, fetchurl, aterm, getopt, pkgconfig}:
|
# Note: sdf2-bundle currently requires GNU make 3.80; remove explicit
|
||||||
|
# dependency when this is fixed.
|
||||||
|
{stdenv, fetchurl, aterm, getopt, pkgconfig, make}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "sdf2-bundle-2.3.3";
|
name = "sdf2-bundle-2.3.3";
|
||||||
@ -7,6 +9,6 @@ stdenv.mkDerivation {
|
|||||||
md5 = "62ecabe5fbb8bbe043ee18470107ef88";
|
md5 = "62ecabe5fbb8bbe043ee18470107ef88";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [aterm pkgconfig];
|
buildInputs = [aterm pkgconfig make];
|
||||||
propagatedBuildInputs = [getopt];
|
propagatedBuildInputs = [getopt];
|
||||||
}
|
}
|
||||||
|
@ -497,6 +497,10 @@ rec {
|
|||||||
inherit fetchurl stdenv;
|
inherit fetchurl stdenv;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
gnumake380 = import ../development/tools/build-managers/gnumake-3.80 {
|
||||||
|
inherit fetchurl stdenv;
|
||||||
|
};
|
||||||
|
|
||||||
mk = (import ../development/tools/build-managers/mk) {
|
mk = (import ../development/tools/build-managers/mk) {
|
||||||
inherit fetchurl stdenv;
|
inherit fetchurl stdenv;
|
||||||
};
|
};
|
||||||
@ -988,6 +992,7 @@ rec {
|
|||||||
|
|
||||||
sdf = (import ../development/tools/parsing/sdf) {
|
sdf = (import ../development/tools/parsing/sdf) {
|
||||||
inherit fetchurl stdenv aterm getopt pkgconfig;
|
inherit fetchurl stdenv aterm getopt pkgconfig;
|
||||||
|
make = gnumake380;
|
||||||
};
|
};
|
||||||
|
|
||||||
jikespg = (import ../development/tools/parsing/jikespg) {
|
jikespg = (import ../development/tools/parsing/jikespg) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user