From b6e881ab72fbd0bb50b58668b457f7a79ceb8993 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Gaspard?= Date: Mon, 13 Aug 2018 14:44:30 +0900 Subject: [PATCH] buildRustPackage: allow patches to fix Cargo.lock --- pkgs/build-support/rust/default.nix | 3 ++- pkgs/build-support/rust/fetchcargo.nix | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index fb1d6e390ae1..8265fff2c61c 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -7,6 +7,7 @@ in { name, cargoSha256 ? "unset" , src ? null , srcs ? null +, patches ? [] , sourceRoot ? null , logLevel ? "" , buildInputs ? [] @@ -22,7 +23,7 @@ assert cargoVendorDir == null -> cargoSha256 != "unset"; let cargoDeps = if cargoVendorDir == null then fetchcargo { - inherit name src srcs sourceRoot cargoUpdateHook; + inherit name src srcs patches sourceRoot cargoUpdateHook; sha256 = cargoSha256; } else null; diff --git a/pkgs/build-support/rust/fetchcargo.nix b/pkgs/build-support/rust/fetchcargo.nix index 42a3ac27cb5b..2670ed528640 100644 --- a/pkgs/build-support/rust/fetchcargo.nix +++ b/pkgs/build-support/rust/fetchcargo.nix @@ -1,11 +1,11 @@ { 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 { name = "${name}-vendor"; nativeBuildInputs = [ cacert cargo-vendor git rust.cargo ]; - inherit src srcs sourceRoot; + inherit src srcs patches sourceRoot; - phases = "unpackPhase installPhase"; + phases = "unpackPhase patchPhase installPhase"; installPhase = '' if [[ ! -f Cargo.lock ]]; then