diff --git a/pkgs/build-support/rust/build-rust-package/default.nix b/pkgs/build-support/rust/build-rust-package/default.nix index d79f669f4914..e7238634845b 100644 --- a/pkgs/build-support/rust/build-rust-package/default.nix +++ b/pkgs/build-support/rust/build-rust-package/default.nix @@ -18,6 +18,18 @@ windows, }: +lib.extendMkDerivation { + constructDrv = stdenv.mkDerivation; + + excludeDrvArgNames = [ + "depsExtraArgs" + "cargoUpdateHook" + "cargoDeps" + "cargoLock" + ]; + + extendDrvArgs = + finalAttrs: { name ? "${args.pname}-${args.version}", @@ -119,15 +131,7 @@ let target = stdenv.hostPlatform.rust.rustcTargetSpec; targetIsJSON = lib.hasSuffix ".json" target; in - -stdenv.mkDerivation ( - (removeAttrs args [ - "depsExtraArgs" - "cargoUpdateHook" - "cargoDeps" - "cargoLock" - ]) - // lib.optionalAttrs (stdenv.hostPlatform.isDarwin && buildType == "debug") { + lib.optionalAttrs (stdenv.hostPlatform.isDarwin && buildType == "debug") { RUSTFLAGS = "-C split-debuginfo=packed " + (args.RUSTFLAGS or ""); } // { @@ -194,5 +198,5 @@ stdenv.mkDerivation ( # default to Rust's platforms platforms = lib.intersectLists meta.platforms or lib.platforms.all rustc.targetPlatforms; }; - } -) + }; +}