summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2006-02-19 07:46:08 +0000
committerMike Frysinger <vapier@gentoo.org>2006-02-19 07:46:08 +0000
commitfc9c4745275c5ace96030cb58abde56505dd07b4 (patch)
tree1d913569cc92a1e571088f5eec837b0e624cb28d /sys-devel
parentFixes a crash issue on PPC64. (Fixes bug #58092) (diff)
downloadhistorical-fc9c4745275c5ace96030cb58abde56505dd07b4.tar.gz
historical-fc9c4745275c5ace96030cb58abde56505dd07b4.tar.bz2
historical-fc9c4745275c5ace96030cb58abde56505dd07b4.zip
Add patch from upstream for conditional eval statements #123317 by Maurice van der Pot.
Package-Manager: portage-2.1_pre4-r1
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/make/ChangeLog11
-rw-r--r--sys-devel/make/Manifest53
-rw-r--r--sys-devel/make/files/digest-make-3.80-r41
-rw-r--r--sys-devel/make/files/make-3.80-conditional-eval.patch157
-rw-r--r--sys-devel/make/make-3.80-r4.ebuild51
5 files changed, 260 insertions, 13 deletions
diff --git a/sys-devel/make/ChangeLog b/sys-devel/make/ChangeLog
index 8853d5057fa0..45572daaf575 100644
--- a/sys-devel/make/ChangeLog
+++ b/sys-devel/make/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-devel/make
-# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/ChangeLog,v 1.32 2005/09/29 22:31:41 vapier Exp $
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/ChangeLog,v 1.33 2006/02/19 07:46:08 vapier Exp $
+
+*make-3.80-r4 (19 Feb 2006)
+
+ 19 Feb 2006; Mike Frysinger <vapier@gentoo.org>
+ +files/make-3.80-conditional-eval.patch, +make-3.80-r4.ebuild:
+ Add patch from upstream for conditional eval statements #123317 by Maurice
+ van der Pot.
*make-3.80-r3 (29 Sep 2005)
diff --git a/sys-devel/make/Manifest b/sys-devel/make/Manifest
index 64ef22111a1f..c28987809056 100644
--- a/sys-devel/make/Manifest
+++ b/sys-devel/make/Manifest
@@ -1,21 +1,52 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-MD5 039d9a79c20899233ae7f42867feee7c make-3.80-r1.ebuild 1105
-MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
-MD5 f86f99b2ab003e6f5483f365a3db7ebc make-3.80-r2.ebuild 1301
-MD5 cd294e0cc4eb67fedc45653fee8a3c41 make-3.80-r3.ebuild 1250
-MD5 389b848eb375318eadf5ae4b05f1d0d0 ChangeLog 4080
+MD5 45932a9e6bb2b8b85d3f57fd8d1f1abb ChangeLog 4317
+RMD160 2d05290b808844bf4cbb9fc0abd3d9d217cb9bdd ChangeLog 4317
+SHA256 935bf4549089d93e487fcbb539e546dd6472c61f93276be81f79749e964b685a ChangeLog 4317
+MD5 3adc1d9cc832e98b435305f9f466279b files/3.80-memory.patch 2248
+RMD160 3c8d5c017c61061eb4d6f666799d377f1ba272ca files/3.80-memory.patch 2248
+SHA256 0fa6d8b039fd56313626a3865cde7ef09622525a751ec55bf3741a6fc172091f files/3.80-memory.patch 2248
+MD5 6c9afd5ac674f6a9703fdab9e49846c4 files/digest-make-3.80-r1 62
+RMD160 cff61309b79eb0db2c94849d0b0c2a17210a083b files/digest-make-3.80-r1 62
+SHA256 442395259dfc7b8ed19313ea2a83f2b5ba6fb4872c45e5f398dbeda22c571972 files/digest-make-3.80-r1 62
MD5 6c9afd5ac674f6a9703fdab9e49846c4 files/digest-make-3.80-r2 62
+RMD160 cff61309b79eb0db2c94849d0b0c2a17210a083b files/digest-make-3.80-r2 62
+SHA256 442395259dfc7b8ed19313ea2a83f2b5ba6fb4872c45e5f398dbeda22c571972 files/digest-make-3.80-r2 62
MD5 6c9afd5ac674f6a9703fdab9e49846c4 files/digest-make-3.80-r3 62
+RMD160 cff61309b79eb0db2c94849d0b0c2a17210a083b files/digest-make-3.80-r3 62
+SHA256 442395259dfc7b8ed19313ea2a83f2b5ba6fb4872c45e5f398dbeda22c571972 files/digest-make-3.80-r3 62
+MD5 6c9afd5ac674f6a9703fdab9e49846c4 files/digest-make-3.80-r4 62
+RMD160 cff61309b79eb0db2c94849d0b0c2a17210a083b files/digest-make-3.80-r4 62
+SHA256 442395259dfc7b8ed19313ea2a83f2b5ba6fb4872c45e5f398dbeda22c571972 files/digest-make-3.80-r4 62
+MD5 5f0f25e055829e46b995d873911eea2f files/make-3.80-conditional-eval.patch 4144
+RMD160 f8755c6ea82cfc4cdc6675b2e462fb6438b9e569 files/make-3.80-conditional-eval.patch 4144
+SHA256 68f182f5435296b60acc710006bddf745bee6c37e68ae2942c778add93a40155 files/make-3.80-conditional-eval.patch 4144
MD5 85ce0c4d36cd02b0c1abae84c022dba3 files/make-3.80-parallel-build-failure.patch 2210
+RMD160 5c7fe016fc854b017315bf22c6ddc1c600d4b99a files/make-3.80-parallel-build-failure.patch 2210
+SHA256 71f80dee56a04f30f2fe8bb9012d32ed830d2e0e9f68c183819c5ccf025c9b62 files/make-3.80-parallel-build-failure.patch 2210
MD5 ea2daf4e61545882b6ba566f2b9132a2 files/make-3.80-ppc64-hardened-clock_gettime.patch 514
-MD5 3adc1d9cc832e98b435305f9f466279b files/3.80-memory.patch 2248
-MD5 6c9afd5ac674f6a9703fdab9e49846c4 files/digest-make-3.80-r1 62
+RMD160 d97ddeeabb9cdb71f7c5cab4dfa4790113128e27 files/make-3.80-ppc64-hardened-clock_gettime.patch 514
+SHA256 5ae45d5306337bfec631418d31d81fdc2d58ac807f8012a833e6be8886d7d5e2 files/make-3.80-ppc64-hardened-clock_gettime.patch 514
+MD5 039d9a79c20899233ae7f42867feee7c make-3.80-r1.ebuild 1105
+RMD160 22efc5fcd91fa85bac9a9ca422770ca126e3b4c7 make-3.80-r1.ebuild 1105
+SHA256 30a0a4d5d2bd7ff83d6598dd858dcfaad86acf600aa52cf6c70c7f2c3b5206a0 make-3.80-r1.ebuild 1105
+MD5 f86f99b2ab003e6f5483f365a3db7ebc make-3.80-r2.ebuild 1301
+RMD160 e2e8f7bfdcf9aecb921459bb28608780bc270de4 make-3.80-r2.ebuild 1301
+SHA256 565f1b74dd38782050fb5182982e498150d85d6620957505cb6563edc36edd11 make-3.80-r2.ebuild 1301
+MD5 cd294e0cc4eb67fedc45653fee8a3c41 make-3.80-r3.ebuild 1250
+RMD160 763e698e91622d93c3225563ab4771743e588077 make-3.80-r3.ebuild 1250
+SHA256 97fef79ea5d441bb8ada9251398c8ecb14f1949dea7dc2da96fff15532324134 make-3.80-r3.ebuild 1250
+MD5 c0ce1299b317ceb3d32b7d02f414bf65 make-3.80-r4.ebuild 1308
+RMD160 6a9ec781ae99e52d77ae9080aefd18cf21368378 make-3.80-r4.ebuild 1308
+SHA256 f0b4945bc100c265e85c6ef136808b223d49f25feab4f0e6c79a30b13b1e917b make-3.80-r4.ebuild 1308
+MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
+RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 metadata.xml 164
+SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92 metadata.xml 164
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.2 (GNU/Linux)
+Version: GnuPG v1.4.2.1 (GNU/Linux)
-iD8DBQFDPGuOgIKl8Uu19MoRAjhEAJ4qRPsFNJbXLK56nH5jnJ75gOpUDwCffYyD
-52ORL1FoXo8BsQMJud/XjoI=
-=aVOh
+iD8DBQFD+CJQ2+ySkm8kpY0RAqvfAKCxgNYeZu40sOcAm1oflb/yyT9l9ACfVdsn
+7dSUR70rA9Pi6gR8OVXpVjQ=
+=kH2Y
-----END PGP SIGNATURE-----
diff --git a/sys-devel/make/files/digest-make-3.80-r4 b/sys-devel/make/files/digest-make-3.80-r4
new file mode 100644
index 000000000000..bdd63b418ee6
--- /dev/null
+++ b/sys-devel/make/files/digest-make-3.80-r4
@@ -0,0 +1 @@
+MD5 0bbd1df101bc0294d440471e50feca71 make-3.80.tar.bz2 920645
diff --git a/sys-devel/make/files/make-3.80-conditional-eval.patch b/sys-devel/make/files/make-3.80-conditional-eval.patch
new file mode 100644
index 000000000000..f4c1581f316f
--- /dev/null
+++ b/sys-devel/make/files/make-3.80-conditional-eval.patch
@@ -0,0 +1,157 @@
+Fix from upstream
+
+https://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=1516
+http://bugs.gentoo.org/123317
+
+Index: read.c
+===================================================================
+RCS file: /cvsroot/make/make/read.c,v
+retrieving revision 1.124
+retrieving revision 1.125
+diff -u -p -r1.124 -r1.125
+--- read.c 14 Oct 2002 21:54:04 -0000 1.124
++++ read.c 25 Oct 2002 22:01:47 -0000 1.125
+@@ -272,6 +272,34 @@ read_all_makefiles (char **makefiles)
+ return read_makefiles;
+ }
+
++/* Install a new conditional and return the previous one. */
++
++static struct conditionals *
++install_conditionals (struct conditionals *new)
++{
++ struct conditionals *save = conditionals;
++
++ bzero ((char *) new, sizeof (*new));
++ conditionals = new;
++
++ return save;
++}
++
++/* Free the current conditionals and reinstate a saved one. */
++
++static void
++restore_conditionals (struct conditionals *saved)
++{
++ /* Free any space allocated by conditional_line. */
++ if (conditionals->ignoring)
++ free (conditionals->ignoring);
++ if (conditionals->seen_else)
++ free (conditionals->seen_else);
++
++ /* Restore state. */
++ conditionals = saved;
++}
++
+ static int
+ eval_makefile (char *filename, int flags)
+ {
+@@ -388,6 +416,8 @@ int
+ eval_buffer (char *buffer)
+ {
+ struct ebuffer ebuf;
++ struct conditionals *saved;
++ struct conditionals new;
+ const struct floc *curfile;
+ int r;
+
+@@ -402,8 +432,12 @@ eval_buffer (char *buffer)
+ curfile = reading_file;
+ reading_file = &ebuf.floc;
+
++ saved = install_conditionals (&new);
++
+ r = eval (&ebuf, 1);
+
++ restore_conditionals (saved);
++
+ reading_file = curfile;
+
+ return r;
+@@ -412,13 +446,8 @@ eval_buffer (char *buffer)
+
+ /* Read file FILENAME as a makefile and add its contents to the data base.
+
+- SET_DEFAULT is true if we are allowed to set the default goal.
++ SET_DEFAULT is true if we are allowed to set the default goal. */
+
+- FILENAME is added to the `read_makefiles' chain.
+-
+- Returns 0 if a file was not found or not read.
+- Returns 1 if FILENAME was found and read.
+- Returns 2 if FILENAME was read, and we kept a reference (don't free it). */
+
+ static int
+ eval (struct ebuffer *ebuf, int set_default)
+@@ -782,9 +811,7 @@ eval (struct ebuffer *ebuf, int set_defa
+
+ /* Save the state of conditionals and start
+ the included makefile with a clean slate. */
+- save = conditionals;
+- bzero ((char *) &new_conditionals, sizeof new_conditionals);
+- conditionals = &new_conditionals;
++ save = install_conditionals (&new_conditionals);
+
+ /* Record the rules that are waiting so they will determine
+ the default goal before those in the included makefile. */
+@@ -810,14 +837,8 @@ eval (struct ebuffer *ebuf, int set_defa
+ }
+ }
+
+- /* Free any space allocated by conditional_line. */
+- if (conditionals->ignoring)
+- free (conditionals->ignoring);
+- if (conditionals->seen_else)
+- free (conditionals->seen_else);
+-
+- /* Restore state. */
+- conditionals = save;
++ /* Restore conditional state. */
++ restore_conditionals (save);
+
+ goto rule_complete;
+ }
+Index: tests/scripts/functions/eval
+===================================================================
+RCS file: /cvsroot/make/make/tests/scripts/functions/eval,v
+retrieving revision 1.1
+retrieving revision 1.2
+diff -u -p -r1.1 -r1.2
+--- tests/scripts/functions/eval 8 Jul 2002 02:26:48 -0000 1.1
++++ tests/scripts/functions/eval 25 Oct 2002 22:01:47 -0000 1.2
+@@ -57,4 +57,35 @@ $answer = "A = A B = B\n";
+
+ &compare_output($answer,&get_logfile(1));
+
++# Test to make sure eval'ing inside conditionals works properly
++
++$makefile3 = &get_tmpfile;
++
++open(MAKEFILE,"> $makefile3");
++
++print MAKEFILE <<'EOF';
++FOO = foo
++
++all:: ; @echo it
++
++define Y
++ all:: ; @echo worked
++endef
++
++ifdef BAR
++$(eval $(Y))
++endif
++
++EOF
++
++close(MAKEFILE);
++
++&run_make_with_options($makefile3, "", &get_logfile);
++$answer = "it\n";
++&compare_output($answer,&get_logfile(1));
++
++&run_make_with_options($makefile3, "BAR=1", &get_logfile);
++$answer = "it\nworked\n";
++&compare_output($answer,&get_logfile(1));
++
+ 1;
diff --git a/sys-devel/make/make-3.80-r4.ebuild b/sys-devel/make/make-3.80-r4.ebuild
new file mode 100644
index 000000000000..58088ee8185c
--- /dev/null
+++ b/sys-devel/make/make-3.80-r4.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/make-3.80-r4.ebuild,v 1.1 2006/02/19 07:46:08 vapier Exp $
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="Standard tool to compile source trees"
+HOMEPAGE="http://www.gnu.org/software/make/make.html"
+SRC_URI="ftp://ftp.gnu.org/gnu/make/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="nls static build"
+
+DEPEND="nls? ( sys-devel/gettext )"
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${PV}-memory.patch
+ epatch "${FILESDIR}"/${P}-parallel-build-failure.patch
+ epatch "${FILESDIR}"/${P}-conditional-eval.patch #123317
+}
+
+src_compile() {
+ use static && append-ldflags -static
+ econf \
+ $(use_enable nls) \
+ --program-prefix=g \
+ || die
+ emake || die
+}
+
+src_install() {
+ if use build ; then
+ if [[ ${USERLAND} == "GNU" ]] ; then
+ dobin make || die "dobin"
+ else
+ newbin make gmake || die "newbin failed"
+ fi
+ else
+ make DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog NEWS README*
+ if [[ ${USERLAND} == "GNU" ]] ; then
+ dosym gmake /usr/bin/make
+ dosym gmake.1 /usr/share/man/man1/make.1
+ fi
+ fi
+}