summary refs log tree commit diff
path: root/pkgs/build-support/rust/default.nix
diff options
context:
space:
mode:
authortilpner <till@hoeppner.ws>2017-06-14 23:36:27 +0200
committerJörg Thalheim <joerg@thalheim.io>2017-06-25 11:56:15 +0100
commitc610f99d8fc25dbdcd8530aca17a838c32ac569f (patch)
tree3a4c1d34bccdd7dc143656378af13d08342bdcf5 /pkgs/build-support/rust/default.nix
parent46427b77f44fcb840584b88fa88bca21fb4706d5 (diff)
downloadnixlib-c610f99d8fc25dbdcd8530aca17a838c32ac569f.tar
nixlib-c610f99d8fc25dbdcd8530aca17a838c32ac569f.tar.gz
nixlib-c610f99d8fc25dbdcd8530aca17a838c32ac569f.tar.bz2
nixlib-c610f99d8fc25dbdcd8530aca17a838c32ac569f.tar.lz
nixlib-c610f99d8fc25dbdcd8530aca17a838c32ac569f.tar.xz
nixlib-c610f99d8fc25dbdcd8530aca17a838c32ac569f.tar.zst
nixlib-c610f99d8fc25dbdcd8530aca17a838c32ac569f.zip
Expose custom Rust registry versions
This allows users to specify a custom registry src,
because currently every packager would need to create
an outdated Cargo.lock just to be compatible with the
probably outdated rustRegistry in nixpkgs.

Currently there is no easy way to convince cargo to
do that, so this makes that workaround unnecessary.
Diffstat (limited to 'pkgs/build-support/rust/default.nix')
-rw-r--r--pkgs/build-support/rust/default.nix7
1 files changed, 6 insertions, 1 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;
   };