diff options
author | Nikolay Amiantov <ab@fmap.me> | 2016-01-06 21:43:22 +0300 |
---|---|---|
committer | Nikolay Amiantov <ab@fmap.me> | 2016-01-10 07:26:37 +0300 |
commit | 75358ad0e7a143ad6849882a1967ef6a5c2e6e68 (patch) | |
tree | 35d75491ecc4ebb571f49abf82f01d486ceb55bf /pkgs/development/interpreters/ruby | |
parent | 732495017b9ec6e0105c0c31aa20c9b397ef16cb (diff) | |
download | nixlib-75358ad0e7a143ad6849882a1967ef6a5c2e6e68.tar nixlib-75358ad0e7a143ad6849882a1967ef6a5c2e6e68.tar.gz nixlib-75358ad0e7a143ad6849882a1967ef6a5c2e6e68.tar.bz2 nixlib-75358ad0e7a143ad6849882a1967ef6a5c2e6e68.tar.lz nixlib-75358ad0e7a143ad6849882a1967ef6a5c2e6e68.tar.xz nixlib-75358ad0e7a143ad6849882a1967ef6a5c2e6e68.tar.zst nixlib-75358ad0e7a143ad6849882a1967ef6a5c2e6e68.zip |
bundlerEnv: add wrapper
Diffstat (limited to 'pkgs/development/interpreters/ruby')
-rw-r--r-- | pkgs/development/interpreters/ruby/bundler-env/default.nix | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/pkgs/development/interpreters/ruby/bundler-env/default.nix b/pkgs/development/interpreters/ruby/bundler-env/default.nix index c7570d815e3b..fdafa5f8f126 100644 --- a/pkgs/development/interpreters/ruby/bundler-env/default.nix +++ b/pkgs/development/interpreters/ruby/bundler-env/default.nix @@ -65,8 +65,24 @@ let "${bundler}/${ruby.gemPath}" \ ${shellEscape (toString envPaths)} '' + lib.optionalString (postBuild != null) postBuild; - passthru = { + passthru = rec { inherit ruby bundler meta gems; + + wrapper = stdenv.mkDerivation { + name = "wrapper-${name}"; + nativeBuildInputs = [ makeWrapper ]; + buildCommand = '' + mkdir -p $out/bin + for i in ${ruby}/bin/*; do + makeWrapper "$i" $out/bin/$(basename "$i") \ + --set BUNDLE_GEMFILE ${confFiles}/Gemfile \ + --set BUNDLE_PATH ${bundlerEnv}/${ruby.gemPath} \ + --set GEM_HOME ${bundlerEnv}/${ruby.gemPath} \ + --set GEM_PATH ${bundlerEnv}/${ruby.gemPath} + done + ''; + }; + env = let irbrc = builtins.toFile "irbrc" '' if !(ENV["OLD_IRBRC"].nil? || ENV["OLD_IRBRC"].empty?) @@ -77,12 +93,8 @@ let ''; in stdenv.mkDerivation { name = "interactive-${name}-environment"; - nativeBuildInputs = [ ruby bundlerEnv ]; + nativeBuildInputs = [ wrapper bundlerEnv ]; shellHook = '' - export BUNDLE_GEMFILE=${confFiles}/Gemfile - export BUNDLE_PATH=${bundlerEnv}/${ruby.gemPath} - export GEM_HOME=${bundlerEnv}/${ruby.gemPath} - export GEM_PATH=${bundlerEnv}/${ruby.gemPath} export OLD_IRBRC="$IRBRC" export IRBRC=${irbrc} ''; |