diff options
-rw-r--r-- | pkgs/build-support/rust/default.nix | 7 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 3 | ||||
-rw-r--r-- | pkgs/top-level/rust-packages.nix | 28 |
3 files changed, 16 insertions, 22 deletions
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index 2275a065594f..6e2c44552252 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -1,4 +1,4 @@ -{ stdenv, cacert, git, rust, rustRegistry }: +{ stdenv, callPackage, path, cacert, git, rust }: { name, depsSha256 , src ? null , srcs ? null @@ -8,9 +8,14 @@ , 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; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 18d1b4a6e3c2..d7a34f55f7a2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5795,7 +5795,6 @@ with pkgs; rustNightlyBin = lowPrio (callPackage ../development/compilers/rust/nightlyBin.nix { buildRustPackage = callPackage ../build-support/rust { rust = rustNightlyBin; - rustRegistry = callPackage ./rust-packages.nix { }; }; }); @@ -5812,8 +5811,6 @@ with pkgs; in { inherit rust; - rustRegistry = callPackage ./rust-packages.nix { }; - buildRustPackage = callPackage ../build-support/rust { inherit rust; }; diff --git a/pkgs/top-level/rust-packages.nix b/pkgs/top-level/rust-packages.nix index 45e4d8e812e7..67351b7bec0a 100644 --- a/pkgs/top-level/rust-packages.nix +++ b/pkgs/top-level/rust-packages.nix @@ -4,24 +4,16 @@ # 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 }: - -let - version = "2017-06-16"; - rev = "cda0f689f844710a3d73c7ff459efa64997f73b5"; - sha256 = "1b3brl9nn3qqaysd8lx9gaazd863grqx547iw7y9j6mkcc7sakvc"; - - src = fetchFromGitHub { - inherit rev; - inherit sha256; - - owner = "rust-lang"; - repo = "crates.io-index"; - }; - -in - -runCommand "rustRegistry-${version}-${builtins.substring 0 7 rev}" { inherit src; } '' +{ runCommand, fetchFromGitHub, git +, src ? fetchFromGitHub { + owner = "rust-lang"; + repo = "crates.io-index"; + rev = "cda0f689f844710a3d73c7ff459efa64997f73b5"; + sha256 = "1b3brl9nn3qqaysd8lx9gaazd863grqx547iw7y9j6mkcc7sakvc"; + } +}: + +runCommand "rustRegistry" { inherit src; } '' # 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 |