Author: ludo
Date: Tue Nov 9 09:14:07 2010
New Revision: 24623
URL: https://svn.nixos.org/websvn/nix/?rev=24623&sc=1
Log:
Re-add GNU Make 3.81.
Added:
nixpkgs/branches/stdenv-updates/pkgs/development/tools/build-managers/gnumake/3.81.nix
nixpkgs/branches/stdenv-updates/pkgs/development/tools/build-managers/gnumake/log-3.81.patch
Modified:
nixpkgs/branches/stdenv-updates/pkgs/top-level/all-packages.nix
Added:
nixpkgs/branches/stdenv-updates/pkgs/development/tools/build-managers/gnumake/3.81.nix
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++
nixpkgs/branches/stdenv-updates/pkgs/development/tools/build-managers/gnumake/3.81.nix
Tue Nov 9 09:14:07 2010 (r24623)
@@ -0,0 +1,46 @@
+{stdenv, fetchurl}:
+
+let version = "3.81"; in
+stdenv.mkDerivation {
+ name = "gnumake-${version}";
+
+ src = fetchurl {
+ url = "mirror://gnu/make/make-${version}.tar.bz2";
+ md5 = "354853e0b2da90c527e35aabb8d6f1e6";
+ };
+
+ doCheck = true;
+
+ patches =
+ [
+ # Provide nested log output for subsequent pretty-printing by
+ # nix-log2xml.
+ ./log-3.81.patch
+
+ # Purity: don't look for library dependencies (of the form
+ # `-lfoo') in /lib and /usr/lib. It's a stupid feature anyway.
+ # Likewise, when searching for included Makefiles, don't look in
+ # /usr/include and friends.
+ ./impure-dirs.patch
+ ];
+
+ meta = {
+ description = "GNU Make, a program controlling the generation of
non-source files from sources";
+
+ longDescription =
+ '' Make is a tool which controls the generation of executables and
+ other non-source files of a program from the program's source files.
+
+ Make gets its knowledge of how to build your program from a file
+ called the makefile, which lists each of the non-source files and
+ how to compute it from other files. When you write a program, you
+ should write a makefile for it, so that it is possible to use Make
+ to build and install the program.
+ '';
+
+ homepage = http://www.gnu.org/software/make/;
+
+ license = "GPLv2+";
+ maintainers = [ stdenv.lib.maintainers.ludo ];
+ };
+}
Added:
nixpkgs/branches/stdenv-updates/pkgs/development/tools/build-managers/gnumake/log-3.81.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++
nixpkgs/branches/stdenv-updates/pkgs/development/tools/build-managers/gnumake/log-3.81.patch
Tue Nov 9 09:14:07 2010 (r24623)
@@ -0,0 +1,125 @@
+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
+***************
+*** 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))
+! ? (enable_nested_output ? "\e[3s\e[a%s\e[b" : "%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
+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
+***************
+*** 886,891 ****
+--- 886,900 ----
+ }
+
+
++ static void close_nesting()
++ {
++ while (stdout_nesting_level--)
++ printf("\e[q");
++ while (stderr_nesting_level--)
++ fprintf(stderr, "\e[q");
++ }
++
++
+ #ifdef _AMIGA
+ int
+ main (int argc, char **argv)
+***************
+*** 931,936 ****
+--- 940,950 ----
+ atexit (close_stdout);
+ #endif
+
++ atexit(close_nesting);
++
++ if (getenv("NIX_INDENT_MAKE"))
++ enable_nested_output = 1;
++
+ /* Needed for OS/2 */
+ initialize_main(&argc, &argv);
+
+***************
+*** 3095,3100 ****
+--- 3109,3120 ----
+
+ /* Use entire sentences to give the translators a fighting chance. */
+
++ if (entering && enable_nested_output)
++ {
++ printf("\e[p");
++ stdout_nesting_level++;
++ }
++
+ if (makelevel == 0)
+ if (starting_directory == 0)
+ if (entering)
+***************
+*** 3124,3129 ****
+--- 3144,3159 ----
+ printf (_("%s[%u]: Leaving directory `%s'\n"),
+ program, makelevel, starting_directory);
+
++ if (!entering && enable_nested_output)
++ {
++ printf("\e[q");
++ stdout_nesting_level--;
++ }
++
+ /* Flush stdout to be sure this comes before any stderr output. */
+ fflush (stdout);
+ }
++
++ 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
+***************
+*** 609,611 ****
+--- 609,614 ----
+ #define ENULLLOOP(_v,_c) do{ errno = 0; \
+ while (((_v)=_c)==0 && errno==EINTR);
}while(0)
+
++ 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
+***************
+*** 1120,1126 ****
+--- 1120,1137 ----
+ /* The normal case: start some commands. */
+ if (!touch_flag || file->cmds->any_recurse)
+ {
++ if (enable_nested_output)
++ {
++ log_working_directory (1);
++ fprintf(stderr, "\e[pbuilding %s\n", file->name);
++ stderr_nesting_level++;
++ }
+ execute_file_commands (file);
++ if (enable_nested_output)
++ {
++ fprintf(stderr, "\e[q");
++ stderr_nesting_level--;
++ }
+ return;
+ }
+
Modified: nixpkgs/branches/stdenv-updates/pkgs/top-level/all-packages.nix
==============================================================================
--- nixpkgs/branches/stdenv-updates/pkgs/top-level/all-packages.nix Mon Nov
8 23:45:58 2010 (r24622)
+++ nixpkgs/branches/stdenv-updates/pkgs/top-level/all-packages.nix Tue Nov
9 09:14:07 2010 (r24623)
@@ -2427,6 +2427,7 @@
gnumake = callPackage ../development/tools/build-managers/gnumake { };
gnumake380 = callPackage ../development/tools/build-managers/gnumake-3.80 {
};
+ gnumake381 = callPackage
../development/tools/build-managers/gnumake/3.81.nix { };
gradle = callPackage ../development/tools/build-managers/gradle { };
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits