diff --git a/pkgs/build-support/rust/build-rust-crate/build-crate.nix b/pkgs/build-support/rust/build-rust-crate/build-crate.nix index 82560012d17b..37bf3ec26f77 100644 --- a/pkgs/build-support/rust/build-rust-crate/build-crate.nix +++ b/pkgs/build-support/rust/build-rust-crate/build-crate.nix @@ -7,7 +7,7 @@ dependencies, crateFeatures, crateRenames, libName, release, libPath, crateType, metadata, crateBin, hasCrateBin, - extraRustcOpts, + extraRustcOpts, verbose, colors, buildTests, codegenUnits }: @@ -40,7 +40,9 @@ ++ (map (x: "--crate-type ${x}") crateType) ); - binRustcOpts = lib.concatStringsSep " " baseRustcOpts; + binRustcOpts = lib.concatStringsSep " " ( + baseRustcOpts + ); build_bin = if buildTests then "build_bin_test" else "build_bin"; in '' diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix index ee96c873f54b..f6079b7316d6 100644 --- a/pkgs/build-support/rust/build-rust-crate/default.nix +++ b/pkgs/build-support/rust/build-rust-crate/default.nix @@ -300,7 +300,7 @@ crate_: lib.makeOverridable (crate.features ++ features) ); - libName = crate.libName or crate.crateName; + libName = if crate ? libName then crate.libName else crate.crateName; libPath = lib.optionalString (crate ? libPath) crate.libPath; # Seed the symbol hashes with something unique every time. @@ -329,7 +329,7 @@ crate_: lib.makeOverridable colors = lib.attrByPath [ "colors" ] "always" crate; extraLinkFlags = lib.concatStringsSep " " (crate.extraLinkFlags or [ ]); edition = crate.edition or null; - codegenUnits = crate.codegenUnits or 1; + codegenUnits = if crate ? codegenUnits then crate.codegenUnits else 1; extraRustcOpts = lib.optionals (crate ? extraRustcOpts) crate.extraRustcOpts ++ extraRustcOpts_ diff --git a/pkgs/build-support/rust/build-rust-package/default.nix b/pkgs/build-support/rust/build-rust-package/default.nix index 905ec5b98c3b..9b2e62fc240a 100644 --- a/pkgs/build-support/rust/build-rust-package/default.nix +++ b/pkgs/build-support/rust/build-rust-package/default.nix @@ -34,6 +34,7 @@ , buildInputs ? [] , nativeBuildInputs ? [] , cargoUpdateHook ? "" +, cargoDepsHook ? "" , buildType ? "release" , meta ? {} , cargoLock ? null