stdenv: Remove log nesting

Nix/Hydra no longer support pretty printing of logs, so this is no
longer useful.
This commit is contained in:
Eelco Dolstra 2017-07-24 14:25:57 +02:00
parent 9f345ce2c7
commit 6669a3b477
No known key found for this signature in database
GPG Key ID: 8170B4726D7198DE
3 changed files with 4 additions and 161 deletions

View File

@ -15,10 +15,6 @@ stdenv.mkDerivation {
patches =
[
# Provide nested log output for subsequent pretty-printing by
# nix-log2xml.
./log.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

View File

@ -1,125 +0,0 @@
diff -rc job.c job.c
*** job.c 2006-03-20 04:03:04.000000000 +0100
--- 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 main.c main.c
*** main.c 2006-03-20 03:36:37.000000000 +0100
--- 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.h
*** make.h 2006-02-16 00:54:43.000000000 +0100
--- make.h 2009-01-19 19:32:03.000000000 +0100
***************
*** 609,611 ****
--- 609,614 ----
#define ENULLLOOP(_v,_c) do { errno = 0; (_v) = _c; } \
while((_v)==0 && errno==EINTR)
+ extern int enable_nested_output;
+ extern int stdout_nesting_level;
+ extern int stderr_nesting_level;
diff -rc reremake.c
*** remake.c 2006-03-20 03:36:37.000000000 +0100
--- 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;
}

View File

@ -77,32 +77,10 @@ _eval() {
######################################################################
# Logging.
nestingLevel=0
startNest() {
# Assert natural as sanity check.
let nestingLevel+=1 "nestingLevel>=0"
echo -en "\033[$1p"
}
stopNest() {
# Assert natural as sanity check.
let nestingLevel-=1 "nestingLevel>=0"
echo -en "\033[q"
}
header() {
startNest "$2"
echo "$1"
}
# Make sure that even when we exit abnormally, the original nesting
# level is properly restored.
closeNest() {
while [ $nestingLevel -gt 0 ]; do
stopNest
done
}
# Obsolete.
stopNest() { true; }
header() { echo "$1"; }
closeNest() { true; }
# Prints a command such that all word splits are unambiguous. We need
# to split the command in three parts because the middle format string
@ -123,8 +101,6 @@ exitHandler() {
exitCode=$?
set +e
closeNest
if [ -n "$showBuildStats" ]; then
times > "$NIX_BUILD_TOP/.times"
local -a times=($(cat "$NIX_BUILD_TOP/.times"))
@ -593,7 +569,6 @@ unpackFile() {
echo "do not know how to unpack source archive $curSrc"
exit 1
fi
stopNest
}
@ -688,7 +663,6 @@ patchPhase() {
# "2>&1" is a hack to make patch fail if the decompressor fails (nonexistent patch, etc.)
# shellcheck disable=SC2086
$uncompress < "$i" 2>&1 | patch ${patchFlags:--p1}
stopNest
done
runHook postPatch
@ -973,8 +947,6 @@ genericBuild() {
echo
echo "@ phase-succeeded $out $curPhase"
fi
stopNest
done
}