buildRustPackage: make dependencies' source writable

Some packages, such as the xcb crate, do code generation at build-time;
therefore, the dependencies' source tree must be writable.
This commit is contained in:
Thomas Tuegel 2017-11-20 11:02:01 -06:00
parent eb85761137
commit 7ede960a27
No known key found for this signature in database
GPG Key ID: 22CBF5249D4B4D59

View File

@ -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 "");