summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2010-03-31 22:42:05 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2010-03-31 22:42:05 +0000
commit92021747b723608449cdffe646f4b664c01bea7b (patch)
tree4b940ebe05fb4a5708fa49841e44436beb57ebfe /sys-devel
parentRemove old KDE versions. (diff)
downloadgentoo-2-92021747b723608449cdffe646f4b664c01bea7b.tar.gz
gentoo-2-92021747b723608449cdffe646f4b664c01bea7b.tar.bz2
gentoo-2-92021747b723608449cdffe646f4b664c01bea7b.zip
Bug #193258 reported some parallel make failures for complex cases. The original patch with that was not however suitable, so take the much simplier patch that Fedora did instead.
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/make/ChangeLog10
-rw-r--r--sys-devel/make/files/make-3.81-jobserver.patch18
-rw-r--r--sys-devel/make/make-3.81-r2.ebuild46
3 files changed, 73 insertions, 1 deletions
diff --git a/sys-devel/make/ChangeLog b/sys-devel/make/ChangeLog
index db9205b9bc29..578fd70ed9a1 100644
--- a/sys-devel/make/ChangeLog
+++ b/sys-devel/make/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-devel/make
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/ChangeLog,v 1.62 2010/02/13 08:48:41 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/ChangeLog,v 1.63 2010/03/31 22:42:05 robbat2 Exp $
+
+*make-3.81-r2 (31 Mar 2010)
+
+ 31 Mar 2010; Robin H. Johnson <robbat2@gentoo.org> +make-3.81-r2.ebuild,
+ +files/make-3.81-jobserver.patch:
+ Bug #193258 reported some parallel make failures for complex cases. The
+ original patch with that was not however suitable, so take the much
+ simplier patch that Fedora did instead.
13 Feb 2010; Mike Frysinger <vapier@gentoo.org>
files/make-3.81-long-cmdline.patch:
diff --git a/sys-devel/make/files/make-3.81-jobserver.patch b/sys-devel/make/files/make-3.81-jobserver.patch
new file mode 100644
index 000000000000..df651079bfab
--- /dev/null
+++ b/sys-devel/make/files/make-3.81-jobserver.patch
@@ -0,0 +1,18 @@
+diff -urp make-3.81/main.c make-3.81-pm/main.c
+--- make-3.81/main.c 2007-09-24 15:28:34.000000000 +0200
++++ make-3.81-pm/main.c 2007-09-24 15:32:50.000000000 +0200
+@@ -1669,8 +1669,12 @@ main (int argc, char **argv, char **envp
+
+ if (job_slots > 0)
+ {
+- close (job_fds[0]);
+- close (job_fds[1]);
++ if (restarts == 0)
++ {
++ close (job_fds[0]);
++ close (job_fds[1]);
++ }
++
+ job_fds[0] = job_fds[1] = -1;
+ free (jobserver_fds->list);
+ free (jobserver_fds);
diff --git a/sys-devel/make/make-3.81-r2.ebuild b/sys-devel/make/make-3.81-r2.ebuild
new file mode 100644
index 000000000000..c5000424e443
--- /dev/null
+++ b/sys-devel/make/make-3.81-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/make-3.81-r2.ebuild,v 1.1 2010/03/31 22:42:05 robbat2 Exp $
+
+inherit flag-o-matic
+
+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-2"
+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_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-tests-lang.patch
+ epatch "${FILESDIR}"/${P}-long-cmdline.patch #301116
+ # related to bug #193258, but this is the final patch that Fedora went with.
+ epatch "${FILESDIR}"/${P}-jobserver.patch
+}
+
+src_compile() {
+ use static && append-ldflags -static
+ econf \
+ $(use_enable nls) \
+ --program-prefix=g \
+ || die
+ emake || die
+}
+
+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
+}