commit:     aaaa952fdeda1fa2f7c7a61f21063fd42c9d47c6
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 12 12:09:58 2017 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Nov 12 12:10:14 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aaaa952f

sys-devel/m4: add patch to fix crash at runtime on Darwin 17, bug #632500

Package-Manager: Portage-2.3.8, Repoman-2.3.3

 .../m4/files/m4-1.4.18-darwin17-printf-n.patch     | 30 ++++++++++++++++++++++
 sys-devel/m4/m4-1.4.18.ebuild                      |  7 +++++
 2 files changed, 37 insertions(+)

diff --git a/sys-devel/m4/files/m4-1.4.18-darwin17-printf-n.patch 
b/sys-devel/m4/files/m4-1.4.18-darwin17-printf-n.patch
new file mode 100644
index 00000000000..1c77ed773c2
--- /dev/null
+++ b/sys-devel/m4/files/m4-1.4.18-darwin17-printf-n.patch
@@ -0,0 +1,30 @@
+http://lists.gnu.org/archive/html/bug-gnulib/2017-07/txtmumXtpD69v.txt
+
+extract of only the relevant hunk to avoid irrelevant conflicts
+
+From c41f233c4c38e84023a16339782ee306f03e7f59 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <address@hidden>
+Date: Fri, 7 Jul 2017 14:10:20 -0700
+Subject: [PATCH] vasnprintf: port to macOS 10.13
+
+Problem reported by comex in:
+http://lists.gnu.org/archive/html/bug-gnulib/2017-07/msg00056.html
+* lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
+
+diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c
+index 9c2af0e..fecaf27 100644
+--- a/lib/vasnprintf.c
++++ b/lib/vasnprintf.c
+@@ -4869,7 +4869,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
+ #endif
+                   *fbp = dp->conversion;
+ #if USE_SNPRINTF
+-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && 
!defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined 
__CYGWIN__))
++# if ! (((__GLIBC__ > 2                                                 \
++          || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3))                  \
++         && !defined __UCLIBC__)                                        \
++        || (defined __APPLE__ && defined __MACH__)                      \
++        || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+                 fbp[1] = '%';
+                 fbp[2] = 'n';
+                 fbp[3] = '\0';

diff --git a/sys-devel/m4/m4-1.4.18.ebuild b/sys-devel/m4/m4-1.4.18.ebuild
index 1bb440ec6f2..f249374d1d2 100644
--- a/sys-devel/m4/m4-1.4.18.ebuild
+++ b/sys-devel/m4/m4-1.4.18.ebuild
@@ -3,6 +3,8 @@
 
 EAPI="5"
 
+inherit eutils
+
 DESCRIPTION="GNU macro processor"
 HOMEPAGE="https://www.gnu.org/software/m4/m4.html";
 SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
@@ -16,6 +18,11 @@ IUSE="examples"
 DEPEND="app-arch/xz-utils"
 RDEPEND=""
 
+src_prepare() {
+       epatch "${FILESDIR}"/${P}-darwin17-printf-n.patch
+       default
+}
+
 src_configure() {
        # Disable automagic dependency over libsigsegv; see bug #278026
        export ac_cv_libsigsegv=no

Reply via email to