about summary refs log tree commit diff
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@secure.mailbox.org>2017-11-26 09:20:47 -0600
committerGitHub <noreply@github.com>2017-11-26 09:20:47 -0600
commit471dc983cd7ade881331646ff58017063dc7b467 (patch)
treec9c677639abd0633ae5cb8594a0a21837c468240
parentbb8866cb7dfa5199f9a3337733172b4993eeb1e0 (diff)
parent7ede960a27620b183f10c1a5e875d714e16ce9c0 (diff)
Merge pull request #31912 from ttuegel/rust/rw-source
buildRustPackage: make dependencies' source writable
-rw-r--r--pkgs/build-support/rust/default.nix8
1 files changed, 7 insertions, 1 deletions
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix
index 37ea264a53fbf..57948c33bbc31 100644
--- a/pkgs/build-support/rust/default.nix
+++ b/pkgs/build-support/rust/default.nix
@@ -43,6 +43,10 @@ in stdenv.mkDerivation (args // {
   postUnpack = ''
     eval "$cargoDepsHook"
 
+    unpackFile "$cargoDeps"
+    cargoDepsCopy=$(stripHash $(basename $cargoDeps))
+    chmod -R +w "$cargoDepsCopy"
+
     mkdir .cargo
     cat >.cargo/config <<-EOF
       [source.crates-io]
@@ -50,9 +54,11 @@ in stdenv.mkDerivation (args // {
       replace-with = 'vendored-sources'
 
       [source.vendored-sources]
-      directory = '$cargoDeps'
+      directory = '$(pwd)/$cargoDepsCopy'
     EOF
 
+    unset cargoDepsCopy
+
     export RUST_LOG=${logLevel}
     export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
   '' + (args.postUnpack or "");