From 7c5430c27c910e35805530d563352911690c7c57 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Tue, 9 Jan 2018 15:03:03 +0100 Subject: [PATCH] Revert "rust: store the cargo-vendor config" This reverts commit 0af2c5891bfccfe5a6e8ba67e95c5852c45529d2. See https://github.com/NixOS/nixpkgs/commit/0af2c5891bfccfe5a6e8ba67e95c5852c45529d2#commitcomment-26737983 This breaks the cargoSha256 hashes. --- pkgs/build-support/rust/cargo-vendor.nix | 6 +++--- pkgs/build-support/rust/default.nix | 22 +++++++++++++-------- pkgs/build-support/rust/fetchcargo.nix | 10 ++-------- pkgs/development/compilers/rust/default.nix | 2 +- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/pkgs/build-support/rust/cargo-vendor.nix b/pkgs/build-support/rust/cargo-vendor.nix index 95ee7d2b989..9c379eaa333 100644 --- a/pkgs/build-support/rust/cargo-vendor.nix +++ b/pkgs/build-support/rust/cargo-vendor.nix @@ -2,11 +2,11 @@ let inherit (stdenv) system; - version = "0.1.13"; + version = "0.1.12"; hashes = { - x86_64-linux = "1znv8hm4z4bfb6kncf95jv6h20qkmz3yhhr8f4vz2wamynklm9pr"; - x86_64-darwin = "0hcib4yli216qknjv7r2w8afakhl9yj19yyppp12c1p4pxhr1qr6"; + x86_64-linux = "1hxlavcxy374yypfamlkygjg662lhll8j434qcvdawkvlidg5ii5"; + x86_64-darwin = "1jkvhh710gwjnnjx59kaplx2ncfvkx9agfa76rr94sbjqq4igddm"; }; hash = hashes. ${system} or badSystem; diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index e3ede9372df..57948c33bbc 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -43,15 +43,21 @@ in stdenv.mkDerivation (args // { postUnpack = '' eval "$cargoDepsHook" - if [[ ! -f $cargoDeps/.config ]]; then - echo "ERROR: file not found: $cargoDeps/.config" - echo "try updating the cargoSha256" - exit 1 - fi + unpackFile "$cargoDeps" + cargoDepsCopy=$(stripHash $(basename $cargoDeps)) + chmod -R +w "$cargoDepsCopy" - mkdir -p .cargo - # inherit cargo config from the deps, rewrite the target directory - cat $cargoDeps/.config | sed "s|REPLACEME|$cargoDeps|g" > .cargo/config + mkdir .cargo + cat >.cargo/config <<-EOF + [source.crates-io] + registry = 'https://github.com/rust-lang/crates.io-index' + replace-with = 'vendored-sources' + + [source.vendored-sources] + directory = '$(pwd)/$cargoDepsCopy' + EOF + + unset cargoDepsCopy export RUST_LOG=${logLevel} export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt diff --git a/pkgs/build-support/rust/fetchcargo.nix b/pkgs/build-support/rust/fetchcargo.nix index b8e55606473..9b3ba530339 100644 --- a/pkgs/build-support/rust/fetchcargo.nix +++ b/pkgs/build-support/rust/fetchcargo.nix @@ -22,15 +22,9 @@ stdenv.mkDerivation { export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt export CARGO_HOME=$(mktemp -d cargo-home.XXX) - cargo vendor --locked | tee result.txt + cargo vendor - mkdir $out - - # keep the outputted cargo config but remove the target directory. - # the target directory should be $out but that should change the sha256 - cat result.txt | sed "s|directory = \".*|directory = \"REPLACEME\"|" > $out/.config - - cp -ar vendor/* $out/ + cp -ar vendor $out ''; outputHashAlgo = "sha256"; diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index 6ab0ecaf155..b5550a96a83 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -32,7 +32,7 @@ rec { cargo = callPackage ./cargo.nix rec { version = "0.23.0"; srcSha = "14b2n1msxma19ydchj54hd7f2zdsr524fg133dkmdn7j65f1x6aj"; - cargoSha256 = "1mcqv45l0d1gw8v3v48gm1902xckj6r0s8l1z46nbmrsjs34rzhx"; + cargoSha256 = "1sj59z0w172qvjwg1ma5fr5am9dgw27086xwdnrvlrk4hffcr7y7"; inherit rustc; # the rustc that will be wrapped by cargo inherit rustPlatform; # used to build cargo