rustRegistry: switch to mkDerivation

fixes #26582
This commit is contained in:
Jörg Thalheim 2017-06-15 22:12:31 +01:00
parent c610f99d8f
commit 7a10cc84a0
3 changed files with 40 additions and 32 deletions

View File

@ -1,5 +1,10 @@
{ stdenv, callPackage, path, cacert, git, rust }:
{ stdenv, callPackage, path, cacert, git, rust, rustRegistry }:
let
rustRegistry' = rustRegistry;
in
{ name, depsSha256
, rustRegistry ? rustRegistry'
, src ? null
, srcs ? null
, sourceRoot ? null
@ -8,13 +13,10 @@
, cargoUpdateHook ? ""
, cargoDepsHook ? ""
, cargoBuildFlags ? []
, registry ? null
, ... } @ args:
let
lib = stdenv.lib;
rustRegistry = callPackage (path + /pkgs/top-level/rust-packages.nix)
(lib.optionalAttrs (registry != null) { src = registry; });
fetchDeps = import ./fetchcargo.nix {
inherit stdenv cacert git rust rustRegistry;

View File

@ -5777,6 +5777,8 @@ with pkgs;
inherit (darwin) apple_sdk;
};
rustRegistry = callPackage ./rust-packages.nix { };
rust = rustStable;
rustStable = callPackage ../development/compilers/rust {
inherit (llvmPackages_4) llvm;

View File

@ -4,16 +4,19 @@
# version that we define here. If you're having problems downloading / finding
# a Rust library, try updating this to a newer commit.
{ runCommand, fetchFromGitHub, git
, src ? fetchFromGitHub {
{ stdenv, fetchFromGitHub, git }:
stdenv.mkDerivation {
name = "rustRegistry-2017-06-25";
src = fetchFromGitHub {
owner = "rust-lang";
repo = "crates.io-index";
rev = "cda0f689f844710a3d73c7ff459efa64997f73b5";
sha256 = "1b3brl9nn3qqaysd8lx9gaazd863grqx547iw7y9j6mkcc7sakvc";
}
}:
runCommand "rustRegistry" { inherit src; } ''
rev = "9714616bf3b7836cb827d8d1eabef017d730fb5e";
sha256 = "02lpmjsqwa16j14y3jzgw4dpzfy001nfyi78x9b8rgp1w3qdjbkr";
};
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
# For some reason, cargo doesn't like fetchgit's git repositories, not even
# if we set leaveDotGit to true, set the fetchgit branch to 'master' and clone
# the repository (tested with registry rev
@ -26,7 +29,7 @@ runCommand "rustRegistry" { inherit src; } ''
mkdir -p $out
cp -r ${src}/* $out/
cp -r ./* $out/
cd $out
@ -39,4 +42,5 @@ runCommand "rustRegistry" { inherit src; } ''
$git commit --quiet -m 'Rust registry commit'
touch $out/touch . "$out/.cargo-index-lock"
''
'';
}