about summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorRyan Lahfa <masterancpp@gmail.com>2023-11-19 16:14:58 +0100
committerGitHub <noreply@github.com>2023-11-19 16:14:58 +0100
commit7e869d89ee49e3e0df7ae85bace104ba63124d46 (patch)
tree9fd8500eec33e58e52086299e7cd04ed6be24122 /pkgs/build-support
parent809505b140e0ed050c2fd2230e8e190af4571317 (diff)
parent8ffe19c0996b6f077459637edfb3c3731709112a (diff)
Merge pull request #266787 from tvbeat/cargo-manifest-links
Diffstat (limited to 'pkgs/build-support')
-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 a6f2528a82bae..d837d0012590c 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="${stdenv.hostPlatform.rust.rustcTargetSpec}"
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index d569142af66ad..1760ab6e99a68 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -235,6 +235,7 @@ crate_: lib.makeOverridable
         "edition"
         "buildTests"
         "codegenUnits"
+        "links"
       ];
       extraDerivationAttrs = builtins.removeAttrs crate processedAttrs;
       nativeBuildInputs_ = nativeBuildInputs;
@@ -317,6 +318,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
@@ -337,7 +339,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;
       };