* [gentoo-commits] proj/betagarden:master commit in: sys-devel/make/files/, sys-devel/make/
@ 2011-09-26 21:06 Sebastian Pipping
0 siblings, 0 replies; 3+ messages in thread
From: Sebastian Pipping @ 2011-09-26 21:06 UTC (permalink / raw
To: gentoo-commits
commit: 491cba441cee11a8b81abb1fc4754808e517c914
Author: Sebastian Pipping <sebastian <AT> pipping <DOT> org>
AuthorDate: Mon Sep 26 20:59:22 2011 +0000
Commit: Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Mon Sep 26 21:06:19 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/betagarden.git;a=commit;h=491cba44
sys-devel/make: 3.82-r3 (dup from main tree)
---
.../make/files/make-3.82-MAKEFLAGS-reexec.patch | 14 +++
.../make/files/make-3.82-archives-many-objs.patch | 60 +++++++++++
sys-devel/make/files/make-3.82-glob-speedup.patch | 104 ++++++++++++++++++++
.../make/files/make-3.82-memory-corruption.patch | 37 +++++++
sys-devel/make/make-3.82-r3.ebuild | 44 ++++++++
5 files changed, 259 insertions(+), 0 deletions(-)
diff --git a/sys-devel/make/files/make-3.82-MAKEFLAGS-reexec.patch b/sys-devel/make/files/make-3.82-MAKEFLAGS-reexec.patch
new file mode 100644
index 0000000..a2f5965
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-MAKEFLAGS-reexec.patch
@@ -0,0 +1,14 @@
+http://bugs.gentoo.org/331975
+https://savannah.gnu.org/bugs/?30723
+
+--- main.c 2010/07/19 07:10:53 1.243
++++ main.c 2010/08/10 07:35:34 1.244
+@@ -2093,7 +2093,7 @@
+ const char *pv = define_makeflags (1, 1);
+ char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
+ sprintf (p, "MAKEFLAGS=%s", pv);
+- putenv (p);
++ putenv (allocated_variable_expand (p));
+ }
+
+ if (ISDB (DB_BASIC))
diff --git a/sys-devel/make/files/make-3.82-archives-many-objs.patch b/sys-devel/make/files/make-3.82-archives-many-objs.patch
new file mode 100644
index 0000000..abdcd32
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-archives-many-objs.patch
@@ -0,0 +1,60 @@
+http://bugs.gentoo.org/334889
+https://savannah.gnu.org/bugs/?30612
+
+revision 1.194
+date: 2010-08-13 22:50:14 -0400; author: psmith; state: Exp; lines: +9 -6; commitid: 4UaslPqQHZTs5wKu;
+- Fix Savannah bug #30612: handling of archive references with >1 object
+
+Index: read.c
+===================================================================
+RCS file: /sources/make/make/read.c,v
+retrieving revision 1.193
+retrieving revision 1.194
+diff -u -p -r1.193 -r1.194
+--- read.c 13 Jul 2010 01:20:42 -0000 1.193
++++ read.c 14 Aug 2010 02:50:14 -0000 1.194
+@@ -3028,7 +3028,7 @@ parse_file_seq (char **stringp, unsigned
+ {
+ /* This looks like the first element in an open archive group.
+ A valid group MUST have ')' as the last character. */
+- const char *e = p + nlen;
++ const char *e = p;
+ do
+ {
+ e = next_token (e);
+@@ -3084,19 +3084,19 @@ parse_file_seq (char **stringp, unsigned
+ Go to the next item in the string. */
+ if (flags & PARSEFS_NOGLOB)
+ {
+- NEWELT (concat (2, prefix, tp));
++ NEWELT (concat (2, prefix, tmpbuf));
+ continue;
+ }
+
+ /* If we get here we know we're doing glob expansion.
+ TP is a string in tmpbuf. NLEN is no longer used.
+ We may need to do more work: after this NAME will be set. */
+- name = tp;
++ name = tmpbuf;
+
+ /* Expand tilde if applicable. */
+- if (tp[0] == '~')
++ if (tmpbuf[0] == '~')
+ {
+- tildep = tilde_expand (tp);
++ tildep = tilde_expand (tmpbuf);
+ if (tildep != 0)
+ name = tildep;
+ }
+@@ -3152,7 +3152,10 @@ parse_file_seq (char **stringp, unsigned
+ else
+ {
+ /* We got a chain of items. Attach them. */
+- (*newp)->next = found;
++ if (*newp)
++ (*newp)->next = found;
++ else
++ *newp = found;
+
+ /* Find and set the new end. Massage names if necessary. */
+ while (1)
diff --git a/sys-devel/make/files/make-3.82-glob-speedup.patch b/sys-devel/make/files/make-3.82-glob-speedup.patch
new file mode 100644
index 0000000..c826c2c
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-glob-speedup.patch
@@ -0,0 +1,104 @@
+change from upstream to speed up by skipping unused globs
+https://bugs.gentoo.org/382845
+
+http://cvs.savannah.gnu.org/viewvc/make/read.c?root=make&r1=1.198&r2=1.200
+
+Revision 1.200
+Sat May 7 14:36:12 2011 UTC (4 months, 1 week ago) by psmith
+Branch: MAIN
+Changes since 1.199: +1 -1 lines
+Inverted the boolean test from what I wanted it to be. Added a
+regression test to make sure this continues to work.
+
+Revision 1.199
+Mon May 2 00:18:06 2011 UTC (4 months, 2 weeks ago) by psmith
+Branch: MAIN
+Changes since 1.198: +35 -25 lines
+Avoid invoking glob() unless the filename has potential globbing
+characters in it, for performance improvements.
+
+--- a/read.c 2011/04/29 15:27:39 1.198
++++ b/read.c 2011/05/07 14:36:12 1.200
+@@ -2901,6 +2901,7 @@
+ const char *name;
+ const char **nlist = 0;
+ char *tildep = 0;
++ int globme = 1;
+ #ifndef NO_ARCHIVES
+ char *arname = 0;
+ char *memname = 0;
+@@ -3109,32 +3110,40 @@
+ }
+ #endif /* !NO_ARCHIVES */
+
+- switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
+- {
+- case GLOB_NOSPACE:
+- fatal (NILF, _("virtual memory exhausted"));
+-
+- case 0:
+- /* Success. */
+- i = gl.gl_pathc;
+- nlist = (const char **)gl.gl_pathv;
+- break;
+-
+- case GLOB_NOMATCH:
+- /* If we want only existing items, skip this one. */
+- if (flags & PARSEFS_EXISTS)
+- {
+- i = 0;
+- break;
+- }
+- /* FALLTHROUGH */
+-
+- default:
+- /* By default keep this name. */
++ /* glob() is expensive: don't call it unless we need to. */
++ if (!(flags & PARSEFS_EXISTS) && strpbrk (name, "?*[") == NULL)
++ {
++ globme = 0;
+ i = 1;
+ nlist = &name;
+- break;
+- }
++ }
++ else
++ switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
++ {
++ case GLOB_NOSPACE:
++ fatal (NILF, _("virtual memory exhausted"));
++
++ case 0:
++ /* Success. */
++ i = gl.gl_pathc;
++ nlist = (const char **)gl.gl_pathv;
++ break;
++
++ case GLOB_NOMATCH:
++ /* If we want only existing items, skip this one. */
++ if (flags & PARSEFS_EXISTS)
++ {
++ i = 0;
++ break;
++ }
++ /* FALLTHROUGH */
++
++ default:
++ /* By default keep this name. */
++ i = 1;
++ nlist = &name;
++ break;
++ }
+
+ /* For each matched element, add it to the list. */
+ while (i-- > 0)
+@@ -3174,7 +3183,8 @@
+ #endif /* !NO_ARCHIVES */
+ NEWELT (concat (2, prefix, nlist[i]));
+
+- globfree (&gl);
++ if (globme)
++ globfree (&gl);
+
+ #ifndef NO_ARCHIVES
+ if (arname)
diff --git a/sys-devel/make/files/make-3.82-memory-corruption.patch b/sys-devel/make/files/make-3.82-memory-corruption.patch
new file mode 100644
index 0000000..b28c073
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-memory-corruption.patch
@@ -0,0 +1,37 @@
+--- function.c 2011/04/18 01:25:20 1.121
++++ function.c 2011/05/02 12:35:01 1.122
+@@ -706,7 +706,7 @@
+ const char *word_iterator = argv[0];
+ char buf[20];
+
+- while (find_next_token (&word_iterator, (unsigned int *) 0) != 0)
++ while (find_next_token (&word_iterator, NULL) != 0)
+ ++i;
+
+ sprintf (buf, "%d", i);
+@@ -1133,21 +1133,14 @@
+
+ /* Find the maximum number of words we'll have. */
+ t = argv[0];
+- wordi = 1;
+- while (*t != '\0')
++ wordi = 0;
++ while ((p = find_next_token (&t, NULL)) != 0)
+ {
+- char c = *(t++);
+-
+- if (! isspace ((unsigned char)c))
+- continue;
+-
++ ++t;
+ ++wordi;
+-
+- while (isspace ((unsigned char)*t))
+- ++t;
+ }
+
+- words = xmalloc (wordi * sizeof (char *));
++ words = xmalloc ((wordi == 0 ? 1 : wordi) * sizeof (char *));
+
+ /* Now assign pointers to each string in the array. */
+ t = argv[0];
diff --git a/sys-devel/make/make-3.82-r3.ebuild b/sys-devel/make/make-3.82-r3.ebuild
new file mode 100644
index 0000000..b1de58f
--- /dev/null
+++ b/sys-devel/make/make-3.82-r3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/make-3.82-r3.ebuild,v 1.1 2011/09/17 23:29:34 vapier Exp $
+
+EAPI="2"
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="Standard tool to compile source trees"
+HOMEPAGE="http://www.gnu.org/software/make/make.html"
+SRC_URI="mirror://gnu//make/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="nls static"
+
+DEPEND="nls? ( sys-devel/gettext )"
+RDEPEND="nls? ( virtual/libintl )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-archives-many-objs.patch #334889
+ epatch "${FILESDIR}"/${P}-MAKEFLAGS-reexec.patch #31975
+ epatch "${FILESDIR}"/${P}-memory-corruption.patch #355907
+ epatch "${FILESDIR}"/${P}-glob-speedup.patch #382845
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ econf \
+ --program-prefix=g \
+ $(use_enable nls)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog NEWS README*
+ if [[ ${USERLAND} == "GNU" ]] ; then
+ # we install everywhere as 'gmake' but on GNU systems,
+ # symlink 'make' to 'gmake'
+ dosym gmake /usr/bin/make
+ dosym gmake.1 /usr/share/man/man1/make.1
+ fi
+}
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [gentoo-commits] proj/betagarden:master commit in: sys-devel/make/files/, sys-devel/make/
@ 2011-09-26 21:06 Sebastian Pipping
0 siblings, 0 replies; 3+ messages in thread
From: Sebastian Pipping @ 2011-09-26 21:06 UTC (permalink / raw
To: gentoo-commits
commit: 4a2cc99d48cd6c30df3b95829f76d177f1870d6e
Author: Sebastian Pipping <sebastian <AT> pipping <DOT> org>
AuthorDate: Mon Sep 26 21:03:23 2011 +0000
Commit: Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Mon Sep 26 21:06:23 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/betagarden.git;a=commit;h=4a2cc99d
sys-devel/make: Add colorization patch v1 (keeping revision on purpose)
---
sys-devel/make/files/make-3.82-color.patch | 141 ++++++++++++++++++++++++++++
sys-devel/make/make-3.82-r3.ebuild | 4 +-
2 files changed, 144 insertions(+), 1 deletions(-)
diff --git a/sys-devel/make/files/make-3.82-color.patch b/sys-devel/make/files/make-3.82-color.patch
new file mode 100644
index 0000000..d6fa0bf
--- /dev/null
+++ b/sys-devel/make/files/make-3.82-color.patch
@@ -0,0 +1,141 @@
+From 9cb97d5705658f31ba3c4fb197d8800e3f77aec0 Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Mon, 26 Sep 2011 22:54:04 +0200
+Subject: [PATCH] Colorize make output (v1)
+
+---
+ job.c | 2 +-
+ main.c | 2 ++
+ misc.c | 16 +++++++++-------
+ remake.c | 45 ++++++++++++++++++++++++++++++++++++++++-----
+ 4 files changed, 52 insertions(+), 13 deletions(-)
+
+diff --git a/job.c b/job.c
+index aacfb84..37017e0 100644
+--- a/job.c
++++ b/job.c
+@@ -1144,7 +1144,7 @@ start_job_command (struct child *child)
+ appear. */
+
+ message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag))
+- ? "%s" : (char *) 0, p);
++ ? "\033[1;35m%s\033[0m" : (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 --git a/main.c b/main.c
+index c6989e3..5c6528d 100644
+--- a/main.c
++++ b/main.c
+@@ -3231,6 +3231,7 @@ log_working_directory (int entering)
+
+ /* Use entire sentences to give the translators a fighting chance. */
+
++ printf ("\033[0;36m");
+ if (makelevel == 0)
+ if (starting_directory == 0)
+ if (entering)
+@@ -3259,6 +3260,7 @@ log_working_directory (int entering)
+ else
+ printf (_("%s[%u]: Leaving directory `%s'\n"),
+ program, makelevel, starting_directory);
++ printf ("\033[0m");
+
+ /* Flush stdout to be sure this comes before any stderr output. */
+ fflush (stdout);
+diff --git a/misc.c b/misc.c
+index 7a6f773..ad31b83 100644
+--- a/misc.c
++++ b/misc.c
+@@ -236,16 +236,18 @@ message (prefix, fmt, va_alist)
+ if (fmt != 0)
+ {
+ if (prefix)
+- {
+- if (makelevel == 0)
+- printf ("%s: ", program);
+- else
+- printf ("%s[%u]: ", program, makelevel);
+- }
++ {
++ if (makelevel == 0)
++ printf ("\033[36m%s: ", program);
++ else
++ printf ("\033[36m%s[%u]: ", program, makelevel);
++ }
++ else
++ printf ("\033[36m");
+ VA_START (args, fmt);
+ VA_PRINTF (stdout, fmt, args);
+ VA_END (args);
+- putchar ('\n');
++ printf ("\n\033[0m");
+ }
+
+ fflush (stdout);
+diff --git a/remake.c b/remake.c
+index 27d2550..3babb7a 100644
+--- a/remake.c
++++ b/remake.c
+@@ -69,6 +69,38 @@ static void remake_file (struct file *file);
+ static FILE_TIMESTAMP name_mtime (const char *name);
+ static const char *library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr);
+
++/*
++ * Take string <text> and wrap it by <begin> and <end>
++ * The result is malloc'd and has to be free'd.
++ */
++static char * colorize(const char * begin, const char * text, const char * end) {
++ const char * const jobs[] = {begin, text, end};
++ const size_t job_count = sizeof(jobs) / sizeof(char *);
++ size_t job_lens[job_count];
++ size_t out_len = 1;
++ int i = 0;
++
++ /* Count */
++ for (; i < job_count; i++) {
++ job_lens[i] = strlen(jobs[i]);
++ out_len += job_lens[i];
++ }
++
++ /* Allocate */
++ char * const out = malloc(266);
++ assert(out);
++
++ /* Concat */
++ char * walker = out;
++ for (i = 0; i < job_count; i++) {
++ strcpy(walker, jobs[i]);
++ walker += job_lens[i];
++ }
++ walker[0] = '\0';
++
++ return out;
++}
++
+ \f
+ /* Remake all the goals in the `struct dep' chain GOALS. Return -1 if nothing
+ was done, 0 if all goals were updated successfully, or 1 if a goal failed.
+@@ -230,11 +262,14 @@ update_goal_chain (struct dep *goals)
+ && file->update_status == 0 && !g->changed
+ /* Never give a message under -s or -q. */
+ && !silent_flag && !question_flag)
+- message (1, ((file->phony || file->cmds == 0)
+- ? _("Nothing to be done for `%s'.")
+- : _("`%s' is up to date.")),
+- file->name);
+-
++ {
++ const char * const text = ((file->phony || file->cmds == 0)
++ ? _("Nothing to be done for `%s'.")
++ : _("`%s' is up to date."));
++ char * const colorized = colorize("\033[36m", text, "\033[0m");
++ message (1, colorized, file->name);
++ free (colorized);
++ }
+ /* This goal is finished. Remove it from the chain. */
+ if (lastgoal == 0)
+ goals = g->next;
+--
+1.7.6.1
+
diff --git a/sys-devel/make/make-3.82-r3.ebuild b/sys-devel/make/make-3.82-r3.ebuild
index b1de58f..905f4ac 100644
--- a/sys-devel/make/make-3.82-r3.ebuild
+++ b/sys-devel/make/make-3.82-r3.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://gnu//make/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+KEYWORDS="~amd64 ~x86"
IUSE="nls static"
DEPEND="nls? ( sys-devel/gettext )"
@@ -23,6 +23,8 @@ src_prepare() {
epatch "${FILESDIR}"/${P}-MAKEFLAGS-reexec.patch #31975
epatch "${FILESDIR}"/${P}-memory-corruption.patch #355907
epatch "${FILESDIR}"/${P}-glob-speedup.patch #382845
+
+ epatch "${FILESDIR}"/${P}-color.patch
}
src_configure() {
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [gentoo-commits] proj/betagarden:master commit in: sys-devel/make/files/, sys-devel/make/
@ 2011-09-27 12:23 Sebastian Pipping
0 siblings, 0 replies; 3+ messages in thread
From: Sebastian Pipping @ 2011-09-27 12:23 UTC (permalink / raw
To: gentoo-commits
commit: d225100fe64ebf8a4ef6fe073f5edb284c1198a5
Author: Sebastian Pipping <sebastian <AT> pipping <DOT> org>
AuthorDate: Tue Sep 27 12:22:55 2011 +0000
Commit: Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Tue Sep 27 12:22:58 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/betagarden.git;a=commit;h=d225100f
sys-devel/make: Move to sping overlay (to keep feature patches out of betagarden)
---
.../make/files/make-3.82-MAKEFLAGS-reexec.patch | 14 --
.../make/files/make-3.82-archives-many-objs.patch | 60 ---------
sys-devel/make/files/make-3.82-color.patch | 141 --------------------
sys-devel/make/files/make-3.82-glob-speedup.patch | 104 --------------
.../make/files/make-3.82-memory-corruption.patch | 37 -----
sys-devel/make/make-3.82-r3.ebuild | 46 -------
6 files changed, 0 insertions(+), 402 deletions(-)
diff --git a/sys-devel/make/files/make-3.82-MAKEFLAGS-reexec.patch b/sys-devel/make/files/make-3.82-MAKEFLAGS-reexec.patch
deleted file mode 100644
index a2f5965..0000000
--- a/sys-devel/make/files/make-3.82-MAKEFLAGS-reexec.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-http://bugs.gentoo.org/331975
-https://savannah.gnu.org/bugs/?30723
-
---- main.c 2010/07/19 07:10:53 1.243
-+++ main.c 2010/08/10 07:35:34 1.244
-@@ -2093,7 +2093,7 @@
- const char *pv = define_makeflags (1, 1);
- char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
- sprintf (p, "MAKEFLAGS=%s", pv);
-- putenv (p);
-+ putenv (allocated_variable_expand (p));
- }
-
- if (ISDB (DB_BASIC))
diff --git a/sys-devel/make/files/make-3.82-archives-many-objs.patch b/sys-devel/make/files/make-3.82-archives-many-objs.patch
deleted file mode 100644
index abdcd32..0000000
--- a/sys-devel/make/files/make-3.82-archives-many-objs.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-http://bugs.gentoo.org/334889
-https://savannah.gnu.org/bugs/?30612
-
-revision 1.194
-date: 2010-08-13 22:50:14 -0400; author: psmith; state: Exp; lines: +9 -6; commitid: 4UaslPqQHZTs5wKu;
-- Fix Savannah bug #30612: handling of archive references with >1 object
-
-Index: read.c
-===================================================================
-RCS file: /sources/make/make/read.c,v
-retrieving revision 1.193
-retrieving revision 1.194
-diff -u -p -r1.193 -r1.194
---- read.c 13 Jul 2010 01:20:42 -0000 1.193
-+++ read.c 14 Aug 2010 02:50:14 -0000 1.194
-@@ -3028,7 +3028,7 @@ parse_file_seq (char **stringp, unsigned
- {
- /* This looks like the first element in an open archive group.
- A valid group MUST have ')' as the last character. */
-- const char *e = p + nlen;
-+ const char *e = p;
- do
- {
- e = next_token (e);
-@@ -3084,19 +3084,19 @@ parse_file_seq (char **stringp, unsigned
- Go to the next item in the string. */
- if (flags & PARSEFS_NOGLOB)
- {
-- NEWELT (concat (2, prefix, tp));
-+ NEWELT (concat (2, prefix, tmpbuf));
- continue;
- }
-
- /* If we get here we know we're doing glob expansion.
- TP is a string in tmpbuf. NLEN is no longer used.
- We may need to do more work: after this NAME will be set. */
-- name = tp;
-+ name = tmpbuf;
-
- /* Expand tilde if applicable. */
-- if (tp[0] == '~')
-+ if (tmpbuf[0] == '~')
- {
-- tildep = tilde_expand (tp);
-+ tildep = tilde_expand (tmpbuf);
- if (tildep != 0)
- name = tildep;
- }
-@@ -3152,7 +3152,10 @@ parse_file_seq (char **stringp, unsigned
- else
- {
- /* We got a chain of items. Attach them. */
-- (*newp)->next = found;
-+ if (*newp)
-+ (*newp)->next = found;
-+ else
-+ *newp = found;
-
- /* Find and set the new end. Massage names if necessary. */
- while (1)
diff --git a/sys-devel/make/files/make-3.82-color.patch b/sys-devel/make/files/make-3.82-color.patch
deleted file mode 100644
index c6dfe63..0000000
--- a/sys-devel/make/files/make-3.82-color.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From 9cb97d5705658f31ba3c4fb197d8800e3f77aec0 Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Mon, 26 Sep 2011 22:54:04 +0200
-Subject: [PATCH] Colorize make output (v1)
-
----
- job.c | 2 +-
- main.c | 2 ++
- misc.c | 16 +++++++++-------
- remake.c | 45 ++++++++++++++++++++++++++++++++++++++++-----
- 4 files changed, 52 insertions(+), 13 deletions(-)
-
-diff --git a/job.c b/job.c
-index aacfb84..37017e0 100644
---- a/job.c
-+++ b/job.c
-@@ -1144,7 +1144,7 @@ start_job_command (struct child *child)
- appear. */
-
- message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag))
-- ? "%s" : (char *) 0, p);
-+ ? "\033[1;35m%s\033[0m" : (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 --git a/main.c b/main.c
-index c6989e3..5c6528d 100644
---- a/main.c
-+++ b/main.c
-@@ -3231,6 +3231,7 @@ log_working_directory (int entering)
-
- /* Use entire sentences to give the translators a fighting chance. */
-
-+ printf ("\033[0;36m");
- if (makelevel == 0)
- if (starting_directory == 0)
- if (entering)
-@@ -3259,6 +3260,7 @@ log_working_directory (int entering)
- else
- printf (_("%s[%u]: Leaving directory `%s'\n"),
- program, makelevel, starting_directory);
-+ printf ("\033[0m");
-
- /* Flush stdout to be sure this comes before any stderr output. */
- fflush (stdout);
-diff --git a/misc.c b/misc.c
-index 7a6f773..ad31b83 100644
---- a/misc.c
-+++ b/misc.c
-@@ -236,16 +236,18 @@ message (prefix, fmt, va_alist)
- if (fmt != 0)
- {
- if (prefix)
-- {
-- if (makelevel == 0)
-- printf ("%s: ", program);
-- else
-- printf ("%s[%u]: ", program, makelevel);
-- }
-+ {
-+ if (makelevel == 0)
-+ printf ("\033[36m%s: ", program);
-+ else
-+ printf ("\033[36m%s[%u]: ", program, makelevel);
-+ }
-+ else
-+ printf ("\033[36m");
- VA_START (args, fmt);
- VA_PRINTF (stdout, fmt, args);
- VA_END (args);
-- putchar ('\n');
-+ printf ("\n\033[0m");
- }
-
- fflush (stdout);
-diff --git a/remake.c b/remake.c
-index 27d2550..3babb7a 100644
---- a/remake.c
-+++ b/remake.c
-@@ -69,6 +69,38 @@ static void remake_file (struct file *file);
- static FILE_TIMESTAMP name_mtime (const char *name);
- static const char *library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr);
-
-+/*
-+ * Take string <text> and wrap it by <begin> and <end>
-+ * The result is malloc'd and has to be free'd.
-+ */
-+static char * colorize(const char * begin, const char * text, const char * end) {
-+ const char * const jobs[] = {begin, text, end};
-+ const size_t job_count = sizeof(jobs) / sizeof(char *);
-+ size_t job_lens[job_count];
-+ size_t out_len = 1;
-+ int i = 0;
-+
-+ /* Count */
-+ for (; i < job_count; i++) {
-+ job_lens[i] = strlen(jobs[i]);
-+ out_len += job_lens[i];
-+ }
-+
-+ /* Allocate */
-+ char * const out = malloc(out_len);
-+ assert(out);
-+
-+ /* Concat */
-+ char * walker = out;
-+ for (i = 0; i < job_count; i++) {
-+ strcpy(walker, jobs[i]);
-+ walker += job_lens[i];
-+ }
-+ walker[0] = '\0';
-+
-+ return out;
-+}
-+
- \f
- /* Remake all the goals in the `struct dep' chain GOALS. Return -1 if nothing
- was done, 0 if all goals were updated successfully, or 1 if a goal failed.
-@@ -230,11 +262,14 @@ update_goal_chain (struct dep *goals)
- && file->update_status == 0 && !g->changed
- /* Never give a message under -s or -q. */
- && !silent_flag && !question_flag)
-- message (1, ((file->phony || file->cmds == 0)
-- ? _("Nothing to be done for `%s'.")
-- : _("`%s' is up to date.")),
-- file->name);
--
-+ {
-+ const char * const text = ((file->phony || file->cmds == 0)
-+ ? _("Nothing to be done for `%s'.")
-+ : _("`%s' is up to date."));
-+ char * const colorized = colorize("\033[36m", text, "\033[0m");
-+ message (1, colorized, file->name);
-+ free (colorized);
-+ }
- /* This goal is finished. Remove it from the chain. */
- if (lastgoal == 0)
- goals = g->next;
---
-1.7.6.1
-
diff --git a/sys-devel/make/files/make-3.82-glob-speedup.patch b/sys-devel/make/files/make-3.82-glob-speedup.patch
deleted file mode 100644
index c826c2c..0000000
--- a/sys-devel/make/files/make-3.82-glob-speedup.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-change from upstream to speed up by skipping unused globs
-https://bugs.gentoo.org/382845
-
-http://cvs.savannah.gnu.org/viewvc/make/read.c?root=make&r1=1.198&r2=1.200
-
-Revision 1.200
-Sat May 7 14:36:12 2011 UTC (4 months, 1 week ago) by psmith
-Branch: MAIN
-Changes since 1.199: +1 -1 lines
-Inverted the boolean test from what I wanted it to be. Added a
-regression test to make sure this continues to work.
-
-Revision 1.199
-Mon May 2 00:18:06 2011 UTC (4 months, 2 weeks ago) by psmith
-Branch: MAIN
-Changes since 1.198: +35 -25 lines
-Avoid invoking glob() unless the filename has potential globbing
-characters in it, for performance improvements.
-
---- a/read.c 2011/04/29 15:27:39 1.198
-+++ b/read.c 2011/05/07 14:36:12 1.200
-@@ -2901,6 +2901,7 @@
- const char *name;
- const char **nlist = 0;
- char *tildep = 0;
-+ int globme = 1;
- #ifndef NO_ARCHIVES
- char *arname = 0;
- char *memname = 0;
-@@ -3109,32 +3110,40 @@
- }
- #endif /* !NO_ARCHIVES */
-
-- switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
-- {
-- case GLOB_NOSPACE:
-- fatal (NILF, _("virtual memory exhausted"));
--
-- case 0:
-- /* Success. */
-- i = gl.gl_pathc;
-- nlist = (const char **)gl.gl_pathv;
-- break;
--
-- case GLOB_NOMATCH:
-- /* If we want only existing items, skip this one. */
-- if (flags & PARSEFS_EXISTS)
-- {
-- i = 0;
-- break;
-- }
-- /* FALLTHROUGH */
--
-- default:
-- /* By default keep this name. */
-+ /* glob() is expensive: don't call it unless we need to. */
-+ if (!(flags & PARSEFS_EXISTS) && strpbrk (name, "?*[") == NULL)
-+ {
-+ globme = 0;
- i = 1;
- nlist = &name;
-- break;
-- }
-+ }
-+ else
-+ switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
-+ {
-+ case GLOB_NOSPACE:
-+ fatal (NILF, _("virtual memory exhausted"));
-+
-+ case 0:
-+ /* Success. */
-+ i = gl.gl_pathc;
-+ nlist = (const char **)gl.gl_pathv;
-+ break;
-+
-+ case GLOB_NOMATCH:
-+ /* If we want only existing items, skip this one. */
-+ if (flags & PARSEFS_EXISTS)
-+ {
-+ i = 0;
-+ break;
-+ }
-+ /* FALLTHROUGH */
-+
-+ default:
-+ /* By default keep this name. */
-+ i = 1;
-+ nlist = &name;
-+ break;
-+ }
-
- /* For each matched element, add it to the list. */
- while (i-- > 0)
-@@ -3174,7 +3183,8 @@
- #endif /* !NO_ARCHIVES */
- NEWELT (concat (2, prefix, nlist[i]));
-
-- globfree (&gl);
-+ if (globme)
-+ globfree (&gl);
-
- #ifndef NO_ARCHIVES
- if (arname)
diff --git a/sys-devel/make/files/make-3.82-memory-corruption.patch b/sys-devel/make/files/make-3.82-memory-corruption.patch
deleted file mode 100644
index b28c073..0000000
--- a/sys-devel/make/files/make-3.82-memory-corruption.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- function.c 2011/04/18 01:25:20 1.121
-+++ function.c 2011/05/02 12:35:01 1.122
-@@ -706,7 +706,7 @@
- const char *word_iterator = argv[0];
- char buf[20];
-
-- while (find_next_token (&word_iterator, (unsigned int *) 0) != 0)
-+ while (find_next_token (&word_iterator, NULL) != 0)
- ++i;
-
- sprintf (buf, "%d", i);
-@@ -1133,21 +1133,14 @@
-
- /* Find the maximum number of words we'll have. */
- t = argv[0];
-- wordi = 1;
-- while (*t != '\0')
-+ wordi = 0;
-+ while ((p = find_next_token (&t, NULL)) != 0)
- {
-- char c = *(t++);
--
-- if (! isspace ((unsigned char)c))
-- continue;
--
-+ ++t;
- ++wordi;
--
-- while (isspace ((unsigned char)*t))
-- ++t;
- }
-
-- words = xmalloc (wordi * sizeof (char *));
-+ words = xmalloc ((wordi == 0 ? 1 : wordi) * sizeof (char *));
-
- /* Now assign pointers to each string in the array. */
- t = argv[0];
diff --git a/sys-devel/make/make-3.82-r3.ebuild b/sys-devel/make/make-3.82-r3.ebuild
deleted file mode 100644
index 905f4ac..0000000
--- a/sys-devel/make/make-3.82-r3.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/make-3.82-r3.ebuild,v 1.1 2011/09/17 23:29:34 vapier Exp $
-
-EAPI="2"
-
-inherit flag-o-matic eutils
-
-DESCRIPTION="Standard tool to compile source trees"
-HOMEPAGE="http://www.gnu.org/software/make/make.html"
-SRC_URI="mirror://gnu//make/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="nls static"
-
-DEPEND="nls? ( sys-devel/gettext )"
-RDEPEND="nls? ( virtual/libintl )"
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-archives-many-objs.patch #334889
- epatch "${FILESDIR}"/${P}-MAKEFLAGS-reexec.patch #31975
- epatch "${FILESDIR}"/${P}-memory-corruption.patch #355907
- epatch "${FILESDIR}"/${P}-glob-speedup.patch #382845
-
- epatch "${FILESDIR}"/${P}-color.patch
-}
-
-src_configure() {
- use static && append-ldflags -static
- econf \
- --program-prefix=g \
- $(use_enable nls)
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "make install failed"
- dodoc AUTHORS ChangeLog NEWS README*
- if [[ ${USERLAND} == "GNU" ]] ; then
- # we install everywhere as 'gmake' but on GNU systems,
- # symlink 'make' to 'gmake'
- dosym gmake /usr/bin/make
- dosym gmake.1 /usr/share/man/man1/make.1
- fi
-}
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-09-27 12:24 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-26 21:06 [gentoo-commits] proj/betagarden:master commit in: sys-devel/make/files/, sys-devel/make/ Sebastian Pipping
-- strict thread matches above, loose matches on Subject: below --
2011-09-26 21:06 Sebastian Pipping
2011-09-27 12:23 Sebastian Pipping
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox