Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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 2999c3d4c1d..d3f9ded4a04 100644
- --- a/pkgs/build-support/rust/build-rust-crate/build-crate.nix
- +++ b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
- @@ -3,11 +3,11 @@
- dependencies,
- crateFeatures, libName, release, libPath,
- crateType, metadata, crateBin, hasCrateBin,
- - extraRustcOpts, verbose, colors }:
- + extraRustcOpts, verbose, colors, renames }:
- let
- - deps = makeDeps dependencies;
- + deps = makeDeps dependencies renames;
- rustcOpts =
- lib.lists.foldl' (opts: opt: opts + " " + opt)
- (if release then "-C opt-level=3" else "-C debuginfo=2")
- 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 169adcf2d43..7993f789d43 100644
- --- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
- +++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
- @@ -15,6 +15,7 @@
- , libName
- , libPath
- , release
- +, renames
- , target_os
- , verbose
- , workspace_member }:
- @@ -24,7 +25,7 @@ let version_ = lib.splitString "-" crateVersion;
- rustcOpts = lib.lists.foldl' (opts: opt: opts + " " + opt)
- (if release then "-C opt-level=3" else "-C debuginfo=2")
- (["-C codegen-units=$NIX_BUILD_CORES"] ++ extraRustcOpts);
- - buildDeps = makeDeps buildDependencies;
- + buildDeps = makeDeps buildDependencies renames;
- authors = lib.concatStringsSep ":" crateAuthors;
- optLevel = if release then 3 else 0;
- completeDepsDir = lib.concatStringsSep " " completeDeps;
- diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
- index acb2ee63cce..d50f6c7668e 100644
- --- a/pkgs/build-support/rust/build-rust-crate/default.nix
- +++ b/pkgs/build-support/rust/build-rust-crate/default.nix
- @@ -13,13 +13,15 @@ let
- then "macos"
- else stdenv.hostPlatform.parsed.kernel.name;
- - makeDeps = dependencies:
- + makeDeps = dependencies: renames:
- (lib.concatMapStringsSep " " (dep:
- - let extern = lib.strings.replaceStrings ["-"] ["_"] dep.libName; in
- + let
- + extern = lib.strings.replaceStrings ["-"] ["_"] dep.libName;
- + name = lib.strings.replaceStrings ["-"] ["_"] (builtins.getAttr dep.libName renames); in
- (if lib.lists.any (x: x == "lib") dep.crateType then
- - " --extern ${extern}=${dep.out}/lib/lib${extern}-${dep.metadata}.rlib"
- + " --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}.rlib"
- else
- - " --extern ${extern}=${dep.out}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
- + " --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
- ) dependencies);
- echo_build_heading = colors: ''
- @@ -60,7 +62,7 @@ let
- in
- crate_: lib.makeOverridable ({ rust, release, verbose, features, buildInputs, crateOverrides,
- - dependencies, buildDependencies,
- + dependencies, buildDependencies, renames,
- extraRustcOpts,
- preUnpack, postUnpack, prePatch, patches, postPatch,
- preConfigure, postConfigure, preBuild, postBuild, preInstall, postInstall }:
- @@ -71,7 +73,7 @@ let crate = crate_ // (lib.attrByPath [ crate_.crateName ] (attr: {}) crateOverr
- processedAttrs = [
- "src" "buildInputs" "crateBin" "crateLib" "libName" "libPath"
- "buildDependencies" "dependencies" "features"
- - "crateName" "version" "build" "authors" "colors" "edition"
- + "crateName" "renames" "version" "build" "authors" "colors" "edition"
- ];
- extraDerivationAttrs = lib.filterAttrs (n: v: ! lib.elem n processedAttrs) crate;
- buildInputs_ = buildInputs;
- @@ -145,13 +147,13 @@ stdenv.mkDerivation (rec {
- inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription
- crateFeatures libName build workspace_member release libPath crateVersion
- extraLinkFlags extraRustcOpts
- - crateAuthors crateHomepage verbose colors target_os;
- + crateAuthors crateHomepage verbose colors target_os renames;
- };
- buildPhase = buildCrate {
- inherit crateName dependencies
- crateFeatures libName release libPath crateType
- metadata crateBin hasCrateBin verbose colors
- - extraRustcOpts;
- + extraRustcOpts renames;
- };
- installPhase = installCrate crateName metadata;
- @@ -177,4 +179,5 @@ stdenv.mkDerivation (rec {
- postInstall = crate_.postInstall or "";
- dependencies = crate_.dependencies or [];
- buildDependencies = crate_.buildDependencies or [];
- + renames = crate_.renames or {};
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement