Need sys/wait.h for WIFEXITED and WEXITSTATUS Make tar(1) read from stdin not default /dev/rst0 Index: src/libexpr/primops/fetchGit.cc --- src/libexpr/primops/fetchGit.cc.orig +++ src/libexpr/primops/fetchGit.cc @@ -6,6 +6,7 @@ #include "hash.hh" #include +#include #include @@ -173,7 +174,7 @@ GitInfo exportGit(ref store, const std::string Path tmpDir = createTempDir(); AutoDelete delTmpDir(tmpDir, true); - runProgram("tar", true, { "x", "-C", tmpDir }, tar); + runProgram("tar", true, { "-xf-", "-C", tmpDir }, tar); gitInfo.storePath = store->addToStore(name, tmpDir);