summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier Villavicencio <the_paya@gentoo.org>2010-04-04 20:01:31 +0000
committerJavier Villavicencio <the_paya@gentoo.org>2010-04-04 20:01:31 +0000
commit03ff568ff6f5d2c6d2733873ddd5fb4ae1fa988a (patch)
treed87d4f804d5beb2aab4f6077fa2eadcfa449f14a /sys-devel
parentsparc stable wrt #307757 (diff)
downloadgentoo-2-03ff568ff6f5d2c6d2733873ddd5fb4ae1fa988a.tar.gz
gentoo-2-03ff568ff6f5d2c6d2733873ddd5fb4ae1fa988a.tar.bz2
gentoo-2-03ff568ff6f5d2c6d2733873ddd5fb4ae1fa988a.zip
Fix for bug #312697, bad gnulib's spawn.
(Portage version: 2.2_rc67/cvs/FreeBSD i386)
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/bison/ChangeLog6
-rw-r--r--sys-devel/bison/bison-2.4.2.ebuild8
-rw-r--r--sys-devel/bison/files/bison-2.4.2-gnulib_spawn.patch61
3 files changed, 73 insertions, 2 deletions
diff --git a/sys-devel/bison/ChangeLog b/sys-devel/bison/ChangeLog
index cd0285508fa2..c937345f15a1 100644
--- a/sys-devel/bison/ChangeLog
+++ b/sys-devel/bison/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-devel/bison
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/bison/ChangeLog,v 1.81 2010/04/04 17:16:16 hwoarang Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/bison/ChangeLog,v 1.82 2010/04/04 20:01:31 the_paya Exp $
+
+ 04 Apr 2010; Javier Villavicencio <the_paya@gentoo.org>
+ bison-2.4.2.ebuild, +files/bison-2.4.2-gnulib_spawn.patch:
+ Add patch to fix gnulib's spawn, fixes bug #312697.
04 Apr 2010; Markos Chandras <hwoarang@gentoo.org> bison-2.4.1.ebuild:
Stable on amd64 wrt bug #311867
diff --git a/sys-devel/bison/bison-2.4.2.ebuild b/sys-devel/bison/bison-2.4.2.ebuild
index 0de2f479cd0d..981214b7b271 100644
--- a/sys-devel/bison/bison-2.4.2.ebuild
+++ b/sys-devel/bison/bison-2.4.2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/bison/bison-2.4.2.ebuild,v 1.1 2010/03/29 04:58:51 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/bison/bison-2.4.2.ebuild,v 1.2 2010/04/04 20:01:31 the_paya Exp $
inherit toolchain-funcs flag-o-matic
@@ -16,6 +16,12 @@ IUSE="nls static"
DEPEND="nls? ( sys-devel/gettext )"
RDEPEND="sys-devel/m4"
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${PN}-2.4.2-gnulib_spawn.patch # 312697
+}
+
src_compile() {
use static && append-ldflags -static
econf $(use_enable nls)
diff --git a/sys-devel/bison/files/bison-2.4.2-gnulib_spawn.patch b/sys-devel/bison/files/bison-2.4.2-gnulib_spawn.patch
new file mode 100644
index 000000000000..b72409f2bc3e
--- /dev/null
+++ b/sys-devel/bison/files/bison-2.4.2-gnulib_spawn.patch
@@ -0,0 +1,61 @@
+Don't override the system defined values on FreeBSD >=8.
+See Gentoo bugs #310335 and #312697.
+(Shortened) patch from upstream gnulib.
+
+--- bison-2.4.2/lib/spawn.in.h
++++ bison/lib/spawn.in.h
+@@ -110,26 +112,38 @@
+
+
+ /* Flags to be set in the `posix_spawnattr_t'. */
+-#if @REPLACE_POSIX_SPAWN@
++#if @HAVE_POSIX_SPAWN@
++/* Use the values from the system, but provide the missing ones. */
++# ifndef POSIX_SPAWN_SETSCHEDPARAM
++# define POSIX_SPAWN_SETSCHEDPARAM 0
++# endif
++# ifndef POSIX_SPAWN_SETSCHEDULER
++# define POSIX_SPAWN_SETSCHEDULER 0
++# endif
++#else
++# if @REPLACE_POSIX_SPAWN@
+ /* Use the values from the system, for better compatibility. */
+ /* But this implementation does not support AIX extensions. */
+-# undef POSIX_SPAWN_FORK_HANDLERS
+-#else
+-# define POSIX_SPAWN_RESETIDS 0x01
+-# define POSIX_SPAWN_SETPGROUP 0x02
+-# define POSIX_SPAWN_SETSIGDEF 0x04
+-# define POSIX_SPAWN_SETSIGMASK 0x08
+-# define POSIX_SPAWN_SETSCHEDPARAM 0x10
+-# define POSIX_SPAWN_SETSCHEDULER 0x20
++# undef POSIX_SPAWN_FORK_HANDLERS
++# else
++# define POSIX_SPAWN_RESETIDS 0x01
++# define POSIX_SPAWN_SETPGROUP 0x02
++# define POSIX_SPAWN_SETSIGDEF 0x04
++# define POSIX_SPAWN_SETSIGMASK 0x08
++# define POSIX_SPAWN_SETSCHEDPARAM 0x10
++# define POSIX_SPAWN_SETSCHEDULER 0x20
++# endif
+ #endif
+ /* A GNU extension. Use the next free bit position. */
+ #define POSIX_SPAWN_USEVFORK \
+- ((POSIX_SPAWN_RESETIDS | (POSIX_SPAWN_RESETIDS - 1) \
+- | POSIX_SPAWN_SETPGROUP | (POSIX_SPAWN_SETPGROUP - 1) \
+- | POSIX_SPAWN_SETSIGDEF | (POSIX_SPAWN_SETSIGDEF - 1) \
+- | POSIX_SPAWN_SETSIGMASK | (POSIX_SPAWN_SETSIGMASK - 1) \
+- | POSIX_SPAWN_SETSCHEDPARAM | (POSIX_SPAWN_SETSCHEDPARAM - 1) \
+- | POSIX_SPAWN_SETSCHEDULER | (POSIX_SPAWN_SETSCHEDULER - 1)) \
++ ((POSIX_SPAWN_RESETIDS | (POSIX_SPAWN_RESETIDS - 1) \
++ | POSIX_SPAWN_SETPGROUP | (POSIX_SPAWN_SETPGROUP - 1) \
++ | POSIX_SPAWN_SETSIGDEF | (POSIX_SPAWN_SETSIGDEF - 1) \
++ | POSIX_SPAWN_SETSIGMASK | (POSIX_SPAWN_SETSIGMASK - 1) \
++ | POSIX_SPAWN_SETSCHEDPARAM \
++ | (POSIX_SPAWN_SETSCHEDPARAM > 0 ? POSIX_SPAWN_SETSCHEDPARAM - 1 : 0) \
++ | POSIX_SPAWN_SETSCHEDULER \
++ | (POSIX_SPAWN_SETSCHEDULER > 0 ? POSIX_SPAWN_SETSCHEDULER - 1 : 0)) \
+ + 1)
+ typedef int verify_POSIX_SPAWN_USEVFORK_no_overlap
+ [2 * (((POSIX_SPAWN_RESETIDS | POSIX_SPAWN_SETPGROUP
+