diff options
author | Léo Gaspard <leo@gaspard.io> | 2018-08-13 14:44:30 +0900 |
---|---|---|
committer | Léo Gaspard <leo@gaspard.io> | 2018-08-13 22:07:58 +0900 |
commit | 48e5fbe8eeddf9fbe1fca3c9ee0e5fd5ac1bafb0 (patch) | |
tree | 6ec8c21015436f18619c0320d844002c17ccf287 /pkgs/build-support/rust | |
parent | f8e8ecde51b49132d7f8d5adb971c0e37eddcdc2 (diff) | |
download | nixlib-48e5fbe8eeddf9fbe1fca3c9ee0e5fd5ac1bafb0.tar nixlib-48e5fbe8eeddf9fbe1fca3c9ee0e5fd5ac1bafb0.tar.gz nixlib-48e5fbe8eeddf9fbe1fca3c9ee0e5fd5ac1bafb0.tar.bz2 nixlib-48e5fbe8eeddf9fbe1fca3c9ee0e5fd5ac1bafb0.tar.lz nixlib-48e5fbe8eeddf9fbe1fca3c9ee0e5fd5ac1bafb0.tar.xz nixlib-48e5fbe8eeddf9fbe1fca3c9ee0e5fd5ac1bafb0.tar.zst nixlib-48e5fbe8eeddf9fbe1fca3c9ee0e5fd5ac1bafb0.zip |
buildRustPackage: allow patches to fix Cargo.lock
Diffstat (limited to 'pkgs/build-support/rust')
-rw-r--r-- | pkgs/build-support/rust/default.nix | 5 | ||||
-rw-r--r-- | pkgs/build-support/rust/fetchcargo.nix | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index fb1d6e390ae1..820989a76206 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -7,6 +7,8 @@ in { name, cargoSha256 ? "unset" , src ? null , srcs ? null +, cargoPatches ? [] +, patches ? [] , sourceRoot ? null , logLevel ? "" , buildInputs ? [] @@ -23,6 +25,7 @@ let cargoDeps = if cargoVendorDir == null then fetchcargo { inherit name src srcs sourceRoot cargoUpdateHook; + patches = cargoPatches; sha256 = cargoSha256; } else null; @@ -44,6 +47,8 @@ in stdenv.mkDerivation (args // { buildInputs = [ cacert git rust.cargo rust.rustc ] ++ buildInputs; + patches = cargoPatches ++ patches; + configurePhase = args.configurePhase or '' runHook preConfigure # noop 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 |