Merge pull request #42722 from thefloweringash/bison2-darwin

bison2: Fix Darwin runtime crash
This commit is contained in:
Matthew Bauer 2018-07-05 11:42:39 -04:00 committed by GitHub
commit a4476912f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 1 deletions

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, m4, perl }:
{ stdenv, lib, fetchurl, m4, perl }:
stdenv.mkDerivation rec {
name = "bison-2.7.1";
@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ m4 ] ++ stdenv.lib.optional doCheck perl;
propagatedBuildInputs = [ m4 ];
patches = lib.optional stdenv.isDarwin ./darwin-vasnprintf.patch;
doCheck = true;
# M4 = "${m4}/bin/m4";

View File

@ -0,0 +1,12 @@
diff -ur bison-2.7-pristine/lib/vasnprintf.c bison-2.7/lib/vasnprintf.c
--- bison-2.7-pristine/lib/vasnprintf.c 2012-11-30 20:48:23.000000000 +0900
+++ bison-2.7/lib/vasnprintf.c 2018-06-28 16:55:31.000000000 +0900
@@ -4870,7 +4870,7 @@
#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 _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || (defined __APPLE__ && defined __MACH__))
fbp[1] = '%';
fbp[2] = 'n';
fbp[3] = '\0';