summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-03-29 17:44:26 +0000
committerMike Frysinger <vapier@gentoo.org>2008-03-29 17:44:26 +0000
commitf56de39e3c47b8e9bc10842084ae01005f8ddfa9 (patch)
tree483c9c035a1ec8ee2feec67c424086c07ec4cdee /sys-devel
parentold (diff)
downloadgentoo-2-f56de39e3c47b8e9bc10842084ae01005f8ddfa9.tar.gz
gentoo-2-f56de39e3c47b8e9bc10842084ae01005f8ddfa9.tar.bz2
gentoo-2-f56de39e3c47b8e9bc10842084ae01005f8ddfa9.zip
Grab fix from upstream gnulib for %n crash #213833 by Sergey Dryabzhinsky.
(Portage version: 2.2_pre5)
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/m4/ChangeLog11
-rw-r--r--sys-devel/m4/files/m4-1.4.10-gnulib-vasnprintf.patch34
-rw-r--r--sys-devel/m4/files/m4-1.4.10-seek.patch2
-rw-r--r--sys-devel/m4/m4-1.4.10-r2.ebuild48
4 files changed, 93 insertions, 2 deletions
diff --git a/sys-devel/m4/ChangeLog b/sys-devel/m4/ChangeLog
index b67e6ace66d1..22783aa430f2 100644
--- a/sys-devel/m4/ChangeLog
+++ b/sys-devel/m4/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-devel/m4
-# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/m4/ChangeLog,v 1.101 2007/10/16 14:12:04 angelos Exp $
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/m4/ChangeLog,v 1.102 2008/03/29 17:44:25 vapier Exp $
+
+*m4-1.4.10-r2 (29 Mar 2008)
+
+ 29 Mar 2008; Mike Frysinger <vapier@gentoo.org>
+ +files/m4-1.4.10-gnulib-vasnprintf.patch, files/m4-1.4.10-seek.patch,
+ +m4-1.4.10-r2.ebuild:
+ Grab fix from upstream gnulib for %n crash #213833 by Sergey Dryabzhinsky.
16 Oct 2007; Christoph Mende <angelos@gentoo.org> m4-1.4.10.ebuild:
Stable on amd64 wrt bug #195257
diff --git a/sys-devel/m4/files/m4-1.4.10-gnulib-vasnprintf.patch b/sys-devel/m4/files/m4-1.4.10-gnulib-vasnprintf.patch
new file mode 100644
index 000000000000..7a205c7dcd0a
--- /dev/null
+++ b/sys-devel/m4/files/m4-1.4.10-gnulib-vasnprintf.patch
@@ -0,0 +1,34 @@
+http://bugs.gentoo.org/213833
+
+commit 913c09becd9df89dbd9b9f386e7f35c240d5efe8
+Author: Bruno Haible <bruno@clisp.org>
+Date: Fri Oct 19 01:50:42 2007 +0200
+
+ Don't use %n on glibc >= 2.3 systems.
+
+diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c
+index f563823..5d818aa 100644
+--- a/lib/vasnprintf.c
++++ b/lib/vasnprintf.c
+@@ -3385,9 +3385,21 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
+ #endif
+ *fbp = dp->conversion;
+ #if USE_SNPRINTF
++# if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3))
+ fbp[1] = '%';
+ fbp[2] = 'n';
+ fbp[3] = '\0';
++# else
++ /* On glibc2 systems from glibc >= 2.3 - probably also older
++ ones - we know that snprintf's returns value conforms to
++ ISO C 99: the gl_SNPRINTF_DIRECTIVE_N test passes.
++ Therefore we can avoid using %n in this situation.
++ On glibc2 systems from 2004-10-18 or newer, the use of %n
++ in format strings in writable memory may crash the program
++ (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
++ in this situation. */
++ fbp[1] = '\0';
++# endif
+ #else
+ fbp[1] = '\0';
+ #endif
diff --git a/sys-devel/m4/files/m4-1.4.10-seek.patch b/sys-devel/m4/files/m4-1.4.10-seek.patch
index 572d266373f1..9e3d51d0470a 100644
--- a/sys-devel/m4/files/m4-1.4.10-seek.patch
+++ b/sys-devel/m4/files/m4-1.4.10-seek.patch
@@ -1,3 +1,5 @@
+Fix for BSD systems pulled from upstream.
+
diff -ur a/src/output.c b/src/output.c
--- a/src/output.c 2007-07-05 04:56:06 +0100
+++ b/src/output.c 2007-10-15 09:56:23 +0100
diff --git a/sys-devel/m4/m4-1.4.10-r2.ebuild b/sys-devel/m4/m4-1.4.10-r2.ebuild
new file mode 100644
index 000000000000..4efd5ea141dd
--- /dev/null
+++ b/sys-devel/m4/m4-1.4.10-r2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/m4/m4-1.4.10-r2.ebuild,v 1.1 2008/03/29 17:44:25 vapier Exp $
+
+inherit eutils
+
+DESCRIPTION="GNU macro processor"
+HOMEPAGE="http://www.gnu.org/software/m4/m4.html"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2
+ ftp://ftp.seindal.dk/gnu/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+IUSE="examples nls"
+
+# remember: cannot dep on autoconf since it needs us
+DEPEND="nls? ( sys-devel/gettext )"
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-seek.patch
+ epatch "${FILESDIR}"/${P}-gnulib-vasnprintf.patch #213833
+}
+
+src_compile() {
+ local myconf=""
+ [[ ${USERLAND} != "GNU" ]] && myconf="--program-prefix=g"
+ econf \
+ $(use_enable nls) \
+ --enable-changeword \
+ ${myconf} \
+ || die
+ emake || die
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ dodoc BACKLOG ChangeLog NEWS README* THANKS TODO
+ if use examples ; then
+ docinto examples
+ dodoc examples/*
+ rm -f "${D}"/usr/share/doc/${PF}/examples/Makefile*
+ fi
+ rm -f "${D}"/usr/lib/charset.alias #172864
+}