about summary refs log tree commit diff
path: root/pkgs/build-support/rust
diff options
context:
space:
mode:
authorLuka Blaskovic <lblasc@tvbeat.com>2023-11-11 06:15:23 +0000
committerLuka Blaskovic <lblasc@tvbeat.com>2023-11-11 06:29:50 +0000
commit8ffe19c0996b6f077459637edfb3c3731709112a (patch)
tree262479242705d81b405f0e719d4d653748dd2cdc /pkgs/build-support/rust
parentf209847507d446153d373f728215dfff7469d5bd (diff)
downloadnixlib-8ffe19c0996b6f077459637edfb3c3731709112a.tar
nixlib-8ffe19c0996b6f077459637edfb3c3731709112a.tar.gz
nixlib-8ffe19c0996b6f077459637edfb3c3731709112a.tar.bz2
nixlib-8ffe19c0996b6f077459637edfb3c3731709112a.tar.lz
nixlib-8ffe19c0996b6f077459637edfb3c3731709112a.tar.xz
nixlib-8ffe19c0996b6f077459637edfb3c3731709112a.tar.zst
nixlib-8ffe19c0996b6f077459637edfb3c3731709112a.zip
build-rust-crate: set CARGO_MANIFEST_LINKS if links is set
Diffstat (limited to 'pkgs/build-support/rust')
-rw-r--r--pkgs/build-support/rust/build-rust-crate/configure-crate.nix2
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix4
2 files changed, 5 insertions, 1 deletions
diff --git a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
index 60310f178747..29447aa751a9 100644
--- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
@@ -7,6 +7,7 @@
 , completeBuildDeps
 , completeDeps
 , crateAuthors
+, crateLinks
 , crateDescription
 , crateHomepage
 , crateFeatures
@@ -134,6 +135,7 @@ in ''
   export CARGO_CFG_TARGET_VENDOR=${stdenv.hostPlatform.parsed.vendor.name}
 
   export CARGO_MANIFEST_DIR=$(pwd)
+  export CARGO_MANIFEST_LINKS=${crateLinks}
   export DEBUG="${toString (!release)}"
   export OPT_LEVEL="${toString optLevel}"
   export TARGET="${rust.toRustTargetSpec stdenv.hostPlatform}"
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index d977fb9f7c27..672a96226634 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -240,6 +240,7 @@ crate_: lib.makeOverridable
         "edition"
         "buildTests"
         "codegenUnits"
+        "links"
       ];
       extraDerivationAttrs = builtins.removeAttrs crate processedAttrs;
       nativeBuildInputs_ = nativeBuildInputs;
@@ -322,6 +323,7 @@ crate_: lib.makeOverridable
       crateDescription = crate.description or "";
       crateAuthors = if crate ? authors && lib.isList crate.authors then crate.authors else [ ];
       crateHomepage = crate.homepage or "";
+      crateLinks = crate.links or "";
       crateType =
         if lib.attrByPath [ "procMacro" ] false crate then [ "proc-macro" ] else
         if lib.attrByPath [ "plugin" ] false crate then [ "dylib" ] else
@@ -342,7 +344,7 @@ crate_: lib.makeOverridable
 
       configurePhase = configureCrate {
         inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription
-          crateFeatures crateRenames libName build workspace_member release libPath crateVersion
+          crateFeatures crateRenames libName build workspace_member release libPath crateVersion crateLinks
           extraLinkFlags extraRustcOptsForBuildRs
           crateAuthors crateHomepage verbose colors codegenUnits;
       };