From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- dev-util/colorgcc/Manifest | 7 + dev-util/colorgcc/colorgcc-1.3.2-r7.ebuild | 68 ++++++ .../colorgcc/files/colorgcc-1.3.2-gentoo-one.patch | 242 +++++++++++++++++++++ .../colorgcc/files/colorgcc-1.3.2-gentoo-two.patch | 75 +++++++ .../colorgcc/files/colorgcc-1.3.2-nohang.patch | 58 +++++ dev-util/colorgcc/files/colorgcc-1.3.2-note.patch | 57 +++++ dev-util/colorgcc/metadata.xml | 8 + 7 files changed, 515 insertions(+) create mode 100644 dev-util/colorgcc/Manifest create mode 100644 dev-util/colorgcc/colorgcc-1.3.2-r7.ebuild create mode 100644 dev-util/colorgcc/files/colorgcc-1.3.2-gentoo-one.patch create mode 100644 dev-util/colorgcc/files/colorgcc-1.3.2-gentoo-two.patch create mode 100644 dev-util/colorgcc/files/colorgcc-1.3.2-nohang.patch create mode 100644 dev-util/colorgcc/files/colorgcc-1.3.2-note.patch create mode 100644 dev-util/colorgcc/metadata.xml (limited to 'dev-util/colorgcc') diff --git a/dev-util/colorgcc/Manifest b/dev-util/colorgcc/Manifest new file mode 100644 index 000000000000..0578bf46b30d --- /dev/null +++ b/dev-util/colorgcc/Manifest @@ -0,0 +1,7 @@ +AUX colorgcc-1.3.2-gentoo-one.patch 6576 BLAKE2B ef07061997435ff2807f15e2192a11effb8e527f1c179de333a183447b423ea2c5c070fc1693fb24aef17ab6bfe99863fafc5025b2ab8d0f463b37173df96af1 SHA512 c69817277bd8fa63a4cb54abc2b6300d3f31becd189a01605b06b828a11a4b0ea5edf78048bcbf6f271693149376bc625770605d6bb157251c77f7a4608dae91 +AUX colorgcc-1.3.2-gentoo-two.patch 1953 BLAKE2B d5f7c061674ac993c2228fe435b38c0bc06e1b0f9a403219d96e358427e6cadc66ee3532a893d131265d448edc9e79b6c089963c635003ff05f279b84fb2cce4 SHA512 ede1391446346e5701ddb5fb1ee34c87d1d9877b2ec221f07923b6a17e199caa93f3183d4d8f7349955d425a3094a9ce8e2d2ace71a3c5030f811eb0895a834d +AUX colorgcc-1.3.2-nohang.patch 1752 BLAKE2B 244d7e7480b148849516ac672a7d164c58c4b4dc500d13e03b0fa2626eeb7bd776eb31f3e982cb1255611057bc26810d468ff247f08a7f9d1aeab7dd7ac46e42 SHA512 4c345e7e21e6a53f16197ea64594ddef646045de2d3d4f1ad500f24c081d06490babc7b375d6e5b0968da73d8332da2590e7f6924d81c20fe8ca9d59949d0b22 +AUX colorgcc-1.3.2-note.patch 1922 BLAKE2B 79c2950839c25870bea70a8cb9636a6525283773d8a180a93491d1a93a7d90c2f80814f6f98c75a497eea9b008d10c65b7e872afab47a38484c021aad53c08c2 SHA512 8b9dfd8a3790178a245ffc40bd5631397b9d1acdb5fd06e7c768d9679414174f06036ed09d29b61fc349b9155f95a2505e2dda88736ca899f038b3ca17207a72 +DIST colorgcc-1.3.2.tar.gz 11076 BLAKE2B 80843c200157fea52cc9f0f7f3008a52860ab8e1256490126d499b34f6821957de92755cbda835806e2df83866ef11096d6d80a0739fb87ef7c348ccf58d76af SHA512 1f6031bcc0f6eb6bdaf0359debe13d1a6579c4f5bfb8dfeef79904a2ffcc94322f2c7f9948439c2975bd4ffed1ebaa085bd7ce338289bdf9c170cd40e1c1a448 +EBUILD colorgcc-1.3.2-r7.ebuild 2109 BLAKE2B 35a54cf4be04591bacada65d44b3d860c7cf6e445d5d28d8ba866ac342cf2be43b42c2cf43d9b18bf6d37676aa93af7881a8463f77384cfa7e366efc753a1bd3 SHA512 bdd1cf69e9212208263e6211a39b048d5a243b96f684da4b9d203949c314048c3e7c1410203880b09c69d52a61418cc376f6ce48f2e06d61b1e74a4833e5ad7c +MISC metadata.xml 265 BLAKE2B 75452ad720a31a08fc0dcd02eec704c18b11bc0660686f9a320b85fc879f55a564ce9c3b6a8c710781b74c5e8eb3d0544c02a042fb35a0b62a5e1491f675296a SHA512 176f814d8c555e8726f36e012367b698e8a19a0662982621029a7f9190beecc5e6798e43c51698dc149364966cdeff7061121e54fa9d4cf2a3559a6ce4904e25 diff --git a/dev-util/colorgcc/colorgcc-1.3.2-r7.ebuild b/dev-util/colorgcc/colorgcc-1.3.2-r7.ebuild new file mode 100644 index 000000000000..35ac497be836 --- /dev/null +++ b/dev-util/colorgcc/colorgcc-1.3.2-r7.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils + +DESCRIPTION="Perl script to colorise the gcc output." +HOMEPAGE="http://schlueters.de/colorgcc.html" +SRC_URI="mirror://gentoo/${P}.tar.gz" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="alpha amd64 hppa ~mips ppc sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="" + +DEPEND="dev-lang/perl" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-gentoo-one.patch + "${FILESDIR}"/${P}-gentoo-two.patch + "${FILESDIR}"/${P}-note.patch + "${FILESDIR}"/${P}-nohang.patch +) + +src_prepare() { + epatch "${PATCHES[@]}" +} + +src_install() { + dobin "${PN}" + dodir "/etc/${PN}" "/usr/lib/${PN}/bin" + insinto "/etc/${PN}" + doins "${PN}rc" + einfo "Scanning for compiler front-ends" + into "/usr/lib/${PN}/bin" + local COMPILERS=( gcc cc c++ g++ ${CHOST}-gcc ${CHOST}-c++ ${CHOST}-g++ ) + for c in "${COMPILERS[@]}"; do + [[ -n "$(type -p ${c})" ]] && \ + dosym "/usr/bin/${PN}" "/usr/lib/${PN}/bin/${c}" + done + + dodoc CREDITS ChangeLog +} + +pkg_postinst() { + echo + elog "If you have existing \$HOME/.colorgccrc files that set the location" + elog "of the compilers, you should remove those lines for maximum" + elog "flexibility. The colorgcc script now knows how to pass the command" + elog "on to the next step in the PATH without manual tweaking, making it" + elog "easier to use with things like ccache and distcc on a conditional" + elog "basis. You can tweak the /etc/colorgcc/colorgccrc file to change" + elog "the default settings for everyone (or copy this file as a basis for" + elog "a custom \$HOME/.colorgccrc file)." + elog + elog "NOTE: the symlinks for colorgcc are now located in" + elog "/usr/lib/colorgcc/bin *NOT* /usr/bin/wrappers. You'll need to" + elog "change any PATH settings that referred to the old location." + echo + + # portage won't delete the old symlinks for users that are upgrading + # because the old symlinks still point to /usr/bin/colorgcc which exists... + if [[ -d "${EROOT}"/usr/bin/wrappers ]]; then + rm -frv "${EROOT}"/usr/bin/wrappers || die + fi +} diff --git a/dev-util/colorgcc/files/colorgcc-1.3.2-gentoo-one.patch b/dev-util/colorgcc/files/colorgcc-1.3.2-gentoo-one.patch new file mode 100644 index 000000000000..68a177ba75c7 --- /dev/null +++ b/dev-util/colorgcc/files/colorgcc-1.3.2-gentoo-one.patch @@ -0,0 +1,242 @@ +--- colorgcc.orig 1999-04-29 10:16:08.000000000 -0700 ++++ colorgcc 2003-04-11 16:38:52.000000000 -0700 +@@ -88,16 +88,16 @@ + # + # 1.0.0 Initial Version + ++use strict; ++ + use Term::ANSIColor; + use IPC::Open3; ++use Cwd 'abs_path'; ++ ++my(%nocolor, %colors, %compilerPaths); + + sub initDefaults + { +- $compilerPaths{"gcc"} = "/usr/local/bin/gcc"; +- $compilerPaths{"g++"} = "/usr/local/bin/g++"; +- $compilerPaths{"cc"} = "/usr/bin/cc"; +- $compilerPaths{"c++"} = "/usr/local/bin/c++"; +- + $nocolor{"dumb"} = "true"; + + $colors{"srcColor"} = color("cyan"); +@@ -125,26 +125,26 @@ + next if (m/^\#.*/); # It's a comment. + next if (!m/(.*):\s*(.*)/); # It's not of the form "foo: bar". + +- $option = $1; +- $value = $2; ++ my $option = $1; ++ my $value = $2; + +- if ($option =~ m/cc|c\+\+|gcc|g\+\+/) +- { +- $compilerPaths{$option} = $value; +- } +- elsif ($option eq "nocolor") ++ if ($option eq "nocolor") + { + # The nocolor option lists terminal types, separated by + # spaces, not to do color on. +- foreach $termtype (split(/\s+/, $value)) ++ foreach my $term (split(' ', $value)) + { +- $nocolor{$termtype} = "true"; ++ $nocolor{$term} = 1; + } + } +- else ++ elsif (defined $colors{$option}) + { + $colors{$option} = color($value); + } ++ else ++ { ++ $compilerPaths{$option} = $value; ++ } + } + close(PREFS); + } +@@ -180,41 +180,80 @@ + initDefaults(); + + # Read the configuration file, if there is one. +-$configFile = $ENV{"HOME"} . "/.colorgccrc"; ++my $configFile = $ENV{"HOME"} . "/.colorgccrc"; + if (-f $configFile) + { + loadPreferences($configFile); + } ++elsif (-f '/etc/colorgcc/colorgccrc') ++{ ++ loadPreferences('/etc/colorgcc/colorgccrc'); ++} + + # Figure out which compiler to invoke based on our program name. + $0 =~ m%.*/(.*)$%; +-$progName = $1 || $0; +- +-$compiler = $compilerPaths{$progName} || $compilerPaths{"gcc"}; +- +-# Get the terminal type. +-$terminal = $ENV{"TERM"} || "dumb"; ++my $progName = $1 || $0; ++my $compiler_pid; + +-# If it's in the list of terminal types not to color, or if +-# we're writing to something that's not a tty, don't do color. +-if (! -t STDOUT || $nocolor{$terminal}) ++# If called as "colorgcc", just filter STDIN to STDOUT. ++if ($progName eq 'colorgcc') + { +- exec $compiler, @ARGV +- or die("Couldn't exec"); ++ open(GCCOUT, "<&STDIN"); + } ++else ++{ ++ # See if the user asked for a specific compiler. ++ my $compiler; ++ if (!defined($compiler = $compilerPaths{$progName})) ++ { ++ # Find our wrapper dir on the PATH and tweak the PATH to remove ++ # everything up-to and including our wrapper dir. ++ if ($0 =~ m#(.*)/#) ++ { ++ # We were called with an explicit path, so trim that off the PATH. ++ my $find = $1; ++ $find = abs_path($1) unless $find =~ m#^/#; ++ $ENV{'PATH'} =~ s#.*(^|:)\Q$find\E(:|$)##; ++ } ++ else ++ { ++ my(@dirs) = split(/:/, $ENV{'PATH'}); ++ while (defined($_ = shift @dirs)) ++ { ++ if (-x "$_/$progName") ++ { ++ $ENV{'PATH'} = join(':', @dirs); ++ last; ++ } ++ } ++ } ++ $compiler = $progName; ++ } + +-# Keep the pid of the compiler process so we can get its return +-# code and use that as our return code. +-$compiler_pid = open3('<&STDIN', \*GCCOUT, \*GCCOUT, $compiler, @ARGV); ++ # Get the terminal type. ++ my $terminal = $ENV{"TERM"} || "dumb"; ++ ++ # If it's in the list of terminal types not to color, or if ++ # we're writing to something that's not a tty, don't do color. ++ if (! -t STDOUT || $nocolor{$terminal}) ++ { ++ exec $compiler, @ARGV ++ or die("Couldn't exec"); ++ } ++ ++ # Keep the pid of the compiler process so we can get its return ++ # code and use that as our return code. ++ $compiler_pid = open3('<&STDIN', \*GCCOUT, \*GCCOUT, $compiler, @ARGV); ++} + + # Colorize the output from the compiler. + while() + { +- if (m/^(.*?):([0-9]+):(.*)$/) # filename:lineno:message ++ if (m#^(.+?\.[^:/ ]+):([0-9]+):(.*)$#) # filename:lineno:message + { +- $field1 = $1 || ""; +- $field2 = $2 || ""; +- $field3 = $3 || ""; ++ my $field1 = $1 || ""; ++ my $field2 = $2 || ""; ++ my $field3 = $3 || ""; + + if ($field3 =~ m/\s+warning:.*/) + { +@@ -232,6 +271,10 @@ + } + print("\n"); + } ++ elsif (m/^:.+`.*'$/) # filename:message: ++ { ++ srcscan($_, $colors{"warningMessageColor"}); ++ } + elsif (m/^(.*?):(.+):$/) # filename:message: + { + # No line number, treat as an "introductory" line of text. +@@ -244,11 +287,9 @@ + } + } + +-# Get the return code of the compiler and exit with that. +-waitpid($compiler_pid, 0); +-exit ($? >> 8); +- +- +- +- +- ++if ($compiler_pid) ++{ ++ # Get the return code of the compiler and exit with that. ++ waitpid($compiler_pid, 0); ++ exit ($? >> 8); ++} +--- colorgccrc.orig 1999-04-29 10:16:08.000000000 -0700 ++++ colorgccrc 2003-02-12 17:38:38.000000000 -0800 +@@ -20,12 +20,14 @@ + # For example, srcColor: bold cyan on_yellow + # + +-# Define the paths to the actual location of the various compilers. ++# Only define the paths to the actual location of the various compilers if ++# you need to do something weird. For normal installs, we'll figure out ++# who to call next automatically. + # (Currently, colorgcc only understands these: g++ gcc c++ cc) +-g++: /usr/local/bin/g++ +-gcc: /usr/local/bin/gcc +-c++: /usr/local/bin/c++ +-cc: /usr/bin/cc ++##g++: /usr/bin/g++ ++##gcc: /usr/bin/gcc ++##c++: /usr/bin/c++ ++##cc: /usr/bin/cc + + # Don't do color if our terminal type ($TERM) is one of these. + # (List all terminal types on one line, seperated by whitespace.) +@@ -43,12 +45,10 @@ + + # Warnings + warningFileNameColor: reset +-warningNumberColor: white ++warningNumberColor: blue + warningMessageColor: yellow + + # Errors + errorFileNameColor: reset +-errorNumberColor: white ++errorNumberColor: blue + errorMessageColor: bold red +- +- +--- INSTALL.orig 1999-04-29 10:16:08.000000000 -0700 ++++ INSTALL 2003-04-07 17:12:25.000000000 -0700 +@@ -27,9 +27,9 @@ + When "g++" is invoked, colorgcc is run instead. colorgcc looks at the + program name to figure out which compiler to use. + +-Copy the sample colorgccrc file to $HOME/.colorgccrc and make sure the +-absolute paths for the compilers are correct for your system. +-See the comments in the sample .colorgccrc for more information. ++Modify the file /etc/colorgcc/colorgccrc if you want to change the default ++values for everyone. For individual customizations, copy this file to ++$HOME/.colorgccrc and change that. + + + Note: diff --git a/dev-util/colorgcc/files/colorgcc-1.3.2-gentoo-two.patch b/dev-util/colorgcc/files/colorgcc-1.3.2-gentoo-two.patch new file mode 100644 index 000000000000..911a31b21bf3 --- /dev/null +++ b/dev-util/colorgcc/files/colorgcc-1.3.2-gentoo-two.patch @@ -0,0 +1,75 @@ +--- colorgcc.r9 2003-09-21 12:14:48.000000000 -0700 ++++ colorgcc 2003-09-21 13:11:22.000000000 -0700 +@@ -95,6 +95,7 @@ + use Cwd 'abs_path'; + + my(%nocolor, %colors, %compilerPaths); ++my($unfinishedQuote, $previousColor); + + sub initDefaults + { +@@ -159,14 +160,37 @@ + + my($line, $normalColor) = @_; + ++ if (defined $normalColor) ++ { ++ $previousColor = $normalColor; ++ } ++ else ++ { ++ $normalColor = $previousColor; ++ } ++ + my($srcon) = color("reset") . $colors{"srcColor"}; + my($srcoff) = color("reset") . $normalColor; + +- $line = $normalColor . $line; ++ $line = ($unfinishedQuote? $srcon : $normalColor) . $line; + +- # This substitute replaces `foo' with `AfooB' where A is the escape ++ # These substitutions replaces `foo' with `AfooB' where A is the escape + # sequence that turns on the the desired source color, and B is the + # escape sequence that returns to $normalColor. ++ ++ # Handle multi-line quotes. ++ if ($unfinishedQuote) { ++ if ($line =~ s/^([^\`]*?)\'/$1$srcoff\'/) ++ { ++ $unfinishedQuote = 0; ++ } ++ } ++ if ($line =~ s/\`([^\']*?)$/\`$srcon$1/) ++ { ++ $unfinishedQuote = 1; ++ } ++ ++ # Single line quoting. + $line =~ s/\`(.*?)\'/\`$srcon$1$srcoff\'/g; + + print($line, color("reset")); +@@ -190,6 +214,10 @@ + loadPreferences('/etc/colorgcc/colorgccrc'); + } + ++# Set our default output color. This presumes that any unrecognized output ++# is an error. ++$previousColor = $colors{"errorMessageColor"}; ++ + # Figure out which compiler to invoke based on our program name. + $0 =~ m%.*/(.*)$%; + my $progName = $1 || $0; +@@ -281,10 +309,9 @@ + # No line number, treat as an "introductory" line of text. + srcscan($_, $colors{"introColor"}); + } +- else # Anything else. ++ else # Anything else. + { +- # Doesn't seem to be a warning or an error. Print normally. +- print(color("reset"), $_); ++ srcscan($_, undef); + } + } + + diff --git a/dev-util/colorgcc/files/colorgcc-1.3.2-nohang.patch b/dev-util/colorgcc/files/colorgcc-1.3.2-nohang.patch new file mode 100644 index 000000000000..9602146b0af9 --- /dev/null +++ b/dev-util/colorgcc/files/colorgcc-1.3.2-nohang.patch @@ -0,0 +1,58 @@ +--- /usr/bin/colorgcc 2010-12-13 00:08:37.000000000 -0200 ++++ colorgcc 2011-10-05 15:26:53.000000000 -0300 +@@ -221,17 +221,16 @@ + # Figure out which compiler to invoke based on our program name. + $0 =~ m%.*/(.*)$%; + my $progName = $1 || $0; +-my $compiler_pid; ++my $compiler; + + # If called as "colorgcc", just filter STDIN to STDOUT. +-if ($progName eq 'colorgcc') ++if ($progName =~ m/^colorgcc[-0-9.]*(\.pl)?$/) + { +- open(GCCOUT, "<&STDIN"); ++ $compiler = 'gcc'; + } + else + { + # See if the user asked for a specific compiler. +- my $compiler; + if (!defined($compiler = $compilerPaths{$progName})) + { + # Find our wrapper dir on the PATH and tweak the PATH to remove +@@ -257,23 +256,23 @@ + } + $compiler = $progName; + } ++} + +- # Get the terminal type. +- my $terminal = $ENV{"TERM"} || "dumb"; ++# Get the terminal type. ++my $terminal = $ENV{"TERM"} || "dumb"; + +- # If it's in the list of terminal types not to color, or if +- # we're writing to something that's not a tty, don't do color. +- if (! -t STDOUT || $nocolor{$terminal}) +- { ++# If it's in the list of terminal types not to color, or if ++# we're writing to something that's not a tty, don't do color. ++if (! -t STDOUT || $nocolor{$terminal}) ++{ + exec $compiler, @ARGV + or die("Couldn't exec"); +- } +- +- # Keep the pid of the compiler process so we can get its return +- # code and use that as our return code. +- $compiler_pid = open3('<&STDIN', \*GCCOUT, \*GCCOUT, $compiler, @ARGV); + } + ++# Keep the pid of the compiler process so we can get its return ++# code and use that as our return code. ++my $compiler_pid = open3('<&STDIN', \*GCCOUT, \*GCCOUT, $compiler, @ARGV); ++ + # Colorize the output from the compiler. + while() + { diff --git a/dev-util/colorgcc/files/colorgcc-1.3.2-note.patch b/dev-util/colorgcc/files/colorgcc-1.3.2-note.patch new file mode 100644 index 000000000000..026503e8f2c9 --- /dev/null +++ b/dev-util/colorgcc/files/colorgcc-1.3.2-note.patch @@ -0,0 +1,57 @@ +--- /usr/bin/colorgcc 2009-10-29 20:24:46.717190000 +0100 ++++ colorgcc 2009-10-29 20:27:42.614162888 +0100 +@@ -102,7 +102,8 @@ + $nocolor{"dumb"} = "true"; + + $colors{"srcColor"} = color("cyan"); +- $colors{"introColor"} = color("blue"); ++ $colors{"introFileNameColor"} = color("blue"); ++ $colors{"introMessageColor"} = color("blue"); + + $colors{"warningFileNameColor"} = color("yellow"); + $colors{"warningNumberColor"} = color("yellow"); +@@ -111,6 +112,10 @@ + $colors{"errorFileNameColor"} = color("bold red"); + $colors{"errorNumberColor"} = color("bold red"); + $colors{"errorMessageColor"} = color("bold red"); ++ ++ $colors{"noteFileNameColor"} = color("green"); ++ $colors{"noteNumberColor"} = color("green"); ++ $colors{"noteMessageColor"} = color("green"); + } + + sub loadPreferences +@@ -290,12 +295,18 @@ + print($colors{"warningNumberColor"}, "$field2:", color("reset")); + srcscan($field3, $colors{"warningMessageColor"}); + } +- else +- { ++ elsif ($field3 =~ m/\s+error:.*/) ++ { + # Error + print($colors{"errorFileNameColor"}, "$field1:", color("reset")); + print($colors{"errorNumberColor"}, "$field2:", color("reset")); + srcscan($field3, $colors{"errorMessageColor"}); ++ } else ++ { ++ # Note ++ print($colors{"noteFileNameColor"}, "$field1:", color("reset")); ++ print($colors{"noteNumberColor"}, "$field2:", color("reset")); ++ srcscan($field3, $colors{"noteMessageColor"}); + } + print("\n"); + } +@@ -305,8 +316,11 @@ + } + elsif (m/^(.*?):(.+):$/) # filename:message: + { ++ my $field1 = $1 || ""; ++ my $field2 = $2 || ""; + # No line number, treat as an "introductory" line of text. +- srcscan($_, $colors{"introColor"}); ++ print($colors{"introFileNameColor"}, "$field1:", color("reset")); ++ print($colors{"introMessageColor"}, "$field2:\n", color("reset")); + } + else # Anything else. + { diff --git a/dev-util/colorgcc/metadata.xml b/dev-util/colorgcc/metadata.xml new file mode 100644 index 000000000000..3cf14bf74636 --- /dev/null +++ b/dev-util/colorgcc/metadata.xml @@ -0,0 +1,8 @@ + + + + + shell-tools@gentoo.org + Gentoo Shell Tools Project + + -- cgit v1.2.3