summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/m4/package.py3
-rw-r--r--var/spack/repos/builtin/packages/m4/secure_snprintf.patch15
2 files changed, 18 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/m4/package.py b/var/spack/repos/builtin/packages/m4/package.py
index 219cde979e..35adc3c0af 100644
--- a/var/spack/repos/builtin/packages/m4/package.py
+++ b/var/spack/repos/builtin/packages/m4/package.py
@@ -36,6 +36,9 @@ class M4(AutotoolsPackage):
patch('gnulib-pgi.patch', when='@1.4.18')
patch('pgi.patch', when='@1.4.17')
+ # from: https://github.com/Homebrew/homebrew-core/blob/master/Formula/m4.rb
+ # Patch credit to Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+ patch('secure_snprintf.patch', when='platform_os = highsierra')
variant('sigsegv', default=True,
description="Build the libsigsegv dependency")
diff --git a/var/spack/repos/builtin/packages/m4/secure_snprintf.patch b/var/spack/repos/builtin/packages/m4/secure_snprintf.patch
new file mode 100644
index 0000000000..da3ae5ba0d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/m4/secure_snprintf.patch
@@ -0,0 +1,15 @@
+With format string strictness, High Sierra also enforces that %n isn't used
+in dynamic format strings, but we should just disable its use on darwin in
+general.
+
+--- a/lib/vasnprintf.c.orig 2017-06-22 15:19:15.000000000 -0700
++++ b/lib/vasnprintf.c 2017-06-22 15:20:20.000000000 -0700
+@@ -4869,7 +4869,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
+ #endif
+ *fbp = dp->conversion;
+ #if USE_SNPRINTF
+-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
++# if !defined(__APPLE__) && !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+ fbp[1] = '%';
+ fbp[2] = 'n';
+ fbp[3] = '\0';