buildRustPackage: allow patches to fix Cargo.lock

This commit is contained in:
Léo Gaspard 2018-08-13 14:44:30 +09:00
parent f8e8ecde51
commit b6e881ab72
2 changed files with 5 additions and 4 deletions

View File

@ -7,6 +7,7 @@ in
{ name, cargoSha256 ? "unset" { name, cargoSha256 ? "unset"
, src ? null , src ? null
, srcs ? null , srcs ? null
, patches ? []
, sourceRoot ? null , sourceRoot ? null
, logLevel ? "" , logLevel ? ""
, buildInputs ? [] , buildInputs ? []
@ -22,7 +23,7 @@ assert cargoVendorDir == null -> cargoSha256 != "unset";
let let
cargoDeps = if cargoVendorDir == null cargoDeps = if cargoVendorDir == null
then fetchcargo { then fetchcargo {
inherit name src srcs sourceRoot cargoUpdateHook; inherit name src srcs patches sourceRoot cargoUpdateHook;
sha256 = cargoSha256; sha256 = cargoSha256;
} }
else null; else null;

View File

@ -1,11 +1,11 @@
{ stdenv, cacert, git, rust, cargo-vendor }: { stdenv, cacert, git, rust, cargo-vendor }:
{ name ? "cargo-deps", src, srcs, sourceRoot, sha256, cargoUpdateHook ? "" }: { name ? "cargo-deps", src, srcs, patches, sourceRoot, sha256, cargoUpdateHook ? "" }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "${name}-vendor"; name = "${name}-vendor";
nativeBuildInputs = [ cacert cargo-vendor git rust.cargo ]; nativeBuildInputs = [ cacert cargo-vendor git rust.cargo ];
inherit src srcs sourceRoot; inherit src srcs patches sourceRoot;
phases = "unpackPhase installPhase"; phases = "unpackPhase patchPhase installPhase";
installPhase = '' installPhase = ''
if [[ ! -f Cargo.lock ]]; then if [[ ! -f Cargo.lock ]]; then