diff --git a/pkgs/development/ruby-modules/bundled-common/default.nix b/pkgs/development/ruby-modules/bundled-common/default.nix index f902ca58c384..415457b86e16 100644 --- a/pkgs/development/ruby-modules/bundled-common/default.nix +++ b/pkgs/development/ruby-modules/bundled-common/default.nix @@ -19,6 +19,7 @@ , meta ? {} , groups ? ["default"] , ignoreCollisions ? false +, buildInputs ? [] , ... }@args: @@ -96,7 +97,7 @@ let envPaths = lib.attrValues gems ++ lib.optional (!hasBundler) bundler; basicEnv = buildEnv { - inherit ignoreCollisions; + inherit buildInputs ignoreCollisions; name = name'; diff --git a/pkgs/development/ruby-modules/bundler-app/default.nix b/pkgs/development/ruby-modules/bundler-app/default.nix index 656896a8f7aa..60e3a38517ce 100644 --- a/pkgs/development/ruby-modules/bundler-app/default.nix +++ b/pkgs/development/ruby-modules/bundler-app/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, callPackage, runCommand, ruby }@defs: +{ lib, stdenv, callPackage, runCommand, makeWrapper, ruby }@defs: # Use for simple installation of Ruby tools shipped in a Gem. # Start with a Gemfile that includes `gem ` @@ -26,6 +26,7 @@ , allowSubstitutes ? false , installManpages ? true , meta ? {} +, buildInputs ? [] , postBuild ? "" , gemConfig ? null }@args: @@ -33,19 +34,22 @@ let basicEnv = (callPackage ../bundled-common {}) args; - cmdArgs = removeAttrs args [ "pname" "postBuild" "gemConfig" ] - // { inherit preferLocalBuild allowSubstitutes; }; # pass the defaults + cmdArgs = removeAttrs args [ "pname" "postBuild" "gemConfig" ] // { + inherit preferLocalBuild allowSubstitutes; # pass the defaults + + buildInputs = buildInputs ++ lib.optional (scripts != []) makeWrapper; + }; in - runCommand basicEnv.name cmdArgs '' + runCommand basicEnv.name cmdArgs '' mkdir -p $out/bin ${(lib.concatMapStrings (x: "ln -s '${basicEnv}/bin/${x}' $out/bin/${x};\n") exes)} ${(lib.concatMapStrings (s: "makeWrapper $out/bin/$(basename ${s}) $srcdir/${s} " + - "--set BUNDLE_GEMFILE ${basicEnv.confFiles}/Gemfile "+ - "--set BUNDLE_PATH ${basicEnv}/${ruby.gemPath} "+ - "--set BUNDLE_FROZEN 1 "+ - "--set GEM_HOME ${basicEnv}/${ruby.gemPath} "+ - "--set GEM_PATH ${basicEnv}/${ruby.gemPath} "+ - "--run \"cd $srcdir\";\n") scripts)} + "--set BUNDLE_GEMFILE ${basicEnv.confFiles}/Gemfile "+ + "--set BUNDLE_PATH ${basicEnv}/${ruby.gemPath} "+ + "--set BUNDLE_FROZEN 1 "+ + "--set GEM_HOME ${basicEnv}/${ruby.gemPath} "+ + "--set GEM_PATH ${basicEnv}/${ruby.gemPath} "+ + "--run \"cd $srcdir\";\n") scripts)} ${lib.optionalString installManpages '' for section in {1..9}; do