From 19c278de89fa60844fa1ea2b3c2abfa639f75b39 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Wed, 19 Oct 2016 15:21:18 +0200
Subject: [PATCH] Fix Darwin build

Done slightly differently from https://github.com/NixOS/nix/pull/1093.
---
 src/libutil/archive.cc     |  2 --
 src/nix-build/nix-build.cc | 10 ++++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/libutil/archive.cc b/src/libutil/archive.cc
index b9b26c5f5..fbba7f853 100644
--- a/src/libutil/archive.cc
+++ b/src/libutil/archive.cc
@@ -1,5 +1,3 @@
-#define _XOPEN_SOURCE 600
-
 #include "config.h"
 
 #include <cerrno>
diff --git a/src/nix-build/nix-build.cc b/src/nix-build/nix-build.cc
index b209464b8..08c679357 100755
--- a/src/nix-build/nix-build.cc
+++ b/src/nix-build/nix-build.cc
@@ -16,6 +16,8 @@
 
 using namespace nix;
 
+extern char * * environ;
+
 /* Recreate the effect of the perl shellwords function, breaking up a
  * string into arguments like a shell word, including escapes
  */
@@ -448,9 +450,10 @@ int main(int argc, char ** argv)
                     ? Strings{"bash", "--rcfile", rcfile}
                     : Strings{"bash", rcfile};
 
-                execvpe(getEnv("NIX_BUILD_SHELL", "bash").c_str(),
-                        stringsToCharPtrs(args).data(),
-                        stringsToCharPtrs(envStrs).data());
+                environ = stringsToCharPtrs(envStrs).data();
+
+                execvp(getEnv("NIX_BUILD_SHELL", "bash").c_str(),
+                    stringsToCharPtrs(args).data());
 
                 throw SysError("executing shell");
             }
@@ -507,4 +510,3 @@ int main(int argc, char ** argv)
         }
     });
 }
-
-- 
GitLab