diff --git a/pkgs/build-support/buildenv/default.nix b/pkgs/build-support/buildenv/default.nix index 5183a358ce70..c6b6acd5f8e2 100644 --- a/pkgs/build-support/buildenv/default.nix +++ b/pkgs/build-support/buildenv/default.nix @@ -51,6 +51,8 @@ lib.makeOverridable , passthru ? {} , meta ? {} +, pname ? null +, version ? null }: let chosenOutputs = map (drv: { @@ -78,7 +80,7 @@ in runCommand name rec { inherit manifest ignoreCollisions checkCollisionContents passthru meta pathsToLink extraPrefix postBuild - nativeBuildInputs buildInputs; + nativeBuildInputs buildInputs pname version; pkgs = builtins.toJSON chosenOutputs; extraPathsFrom = lib.optional includeClosures (writeClosure pathsForClosure); preferLocalBuild = true; diff --git a/pkgs/development/ruby-modules/bundled-common/default.nix b/pkgs/development/ruby-modules/bundled-common/default.nix index 1cb657483936..14da25f5d263 100644 --- a/pkgs/development/ruby-modules/bundled-common/default.nix +++ b/pkgs/development/ruby-modules/bundled-common/default.nix @@ -11,6 +11,7 @@ { name ? null , pname ? null +, version ? null , mainGemName ? null , gemdir ? null , gemfile ? null @@ -65,14 +66,16 @@ let gems = lib.flip lib.mapAttrs configuredGemset (name: attrs: buildGem name attrs); + version' = if version != null then + version + else if pname != null then + gems.${pname}.suffix + else null; + name' = if name != null then name else - let - gem = gems.${pname}; - suffix = gem.suffix; - in - "${pname}-${suffix}"; + "${pname}-${version'}"; pname' = if pname != null then pname @@ -117,9 +120,10 @@ let basicEnvArgs = { - inherit nativeBuildInputs buildInputs ignoreCollisions; + inherit nativeBuildInputs buildInputs ignoreCollisions pname; name = name'; + version = version'; paths = envPaths; pathsToLink = [ "/lib" ]; diff --git a/pkgs/development/ruby-modules/bundler-app/default.nix b/pkgs/development/ruby-modules/bundler-app/default.nix index 01e90ba53f1f..7fdfa6f15019 100644 --- a/pkgs/development/ruby-modules/bundler-app/default.nix +++ b/pkgs/development/ruby-modules/bundler-app/default.nix @@ -39,8 +39,9 @@ let inherit ruby; }) args; - cmdArgs = removeAttrs args [ "pname" "postBuild" "gemConfig" "passthru" "gemset" "gemdir" ] // { + cmdArgs = removeAttrs args [ "postBuild" "gemConfig" "passthru" "gemset" "gemdir" ] // { inherit preferLocalBuild allowSubstitutes; # pass the defaults + inherit (basicEnv) version; nativeBuildInputs = nativeBuildInputs ++ lib.optionals (scripts != []) [ makeWrapper ];