summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2018-07-05 11:42:39 -0400
committerGitHub <noreply@github.com>2018-07-05 11:42:39 -0400
commita4476912f82185f01b16b8146b12619b68416650 (patch)
tree67ab14a2b302915ba7e1e05ac1444882dee2107e /pkgs/development
parenteecbb632fd1010366cb65d28370b2bf873d661dc (diff)
parentf29fa2098cee9209abbb3b5cd21855aacf5bb383 (diff)
downloadnixpkgs-a4476912f82185f01b16b8146b12619b68416650.tar
nixpkgs-a4476912f82185f01b16b8146b12619b68416650.tar.gz
nixpkgs-a4476912f82185f01b16b8146b12619b68416650.tar.bz2
nixpkgs-a4476912f82185f01b16b8146b12619b68416650.tar.lz
nixpkgs-a4476912f82185f01b16b8146b12619b68416650.tar.xz
nixpkgs-a4476912f82185f01b16b8146b12619b68416650.tar.zst
nixpkgs-a4476912f82185f01b16b8146b12619b68416650.zip
Merge pull request #42722 from thefloweringash/bison2-darwin
bison2: Fix Darwin runtime crash
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/tools/parsing/bison/2.x.nix4
-rw-r--r--pkgs/development/tools/parsing/bison/darwin-vasnprintf.patch12
2 files changed, 15 insertions, 1 deletions
diff --git a/pkgs/development/tools/parsing/bison/2.x.nix b/pkgs/development/tools/parsing/bison/2.x.nix
index 77b52f4a0ba..071ad933291 100644
--- a/pkgs/development/tools/parsing/bison/2.x.nix
+++ b/pkgs/development/tools/parsing/bison/2.x.nix
@@ -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";
 
diff --git a/pkgs/development/tools/parsing/bison/darwin-vasnprintf.patch b/pkgs/development/tools/parsing/bison/darwin-vasnprintf.patch
new file mode 100644
index 00000000000..84b0e6d39d8
--- /dev/null
+++ b/pkgs/development/tools/parsing/bison/darwin-vasnprintf.patch
@@ -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';