diff options
Diffstat (limited to 'pkgs/build-support/rust/build-rust-crate/default.nix')
-rw-r--r-- | pkgs/build-support/rust/build-rust-crate/default.nix | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix index 6534e21c0f0c..381485e3752e 100644 --- a/pkgs/build-support/rust/build-rust-crate/default.nix +++ b/pkgs/build-support/rust/build-rust-crate/default.nix @@ -22,9 +22,9 @@ let else extern; in (if lib.lists.any (x: x == "lib") dep.crateType then - " --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}.rlib" + " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}.rlib" else - " --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}") + " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}") ) dependencies); echo_build_heading = colors: '' @@ -96,12 +96,12 @@ stdenv.mkDerivation (rec { buildInputs = (crate.buildInputs or []) ++ buildInputs_; dependencies = builtins.map - (dep: dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; }) + (dep: lib.getLib (dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; })) dependencies_; buildDependencies = builtins.map - (dep: dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; }) + (dep: lib.getLib (dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; })) buildDependencies_; completeDeps = lib.lists.unique (dependencies ++ lib.lists.concatMap (dep: dep.completeDeps) dependencies); @@ -160,6 +160,9 @@ stdenv.mkDerivation (rec { }; installPhase = installCrate crateName metadata; + outputs = [ "out" "lib" ]; + outputDev = [ "lib" ]; + } // extraDerivationAttrs )) { rust = rustc; |