about summary refs log tree commit diff
path: root/pkgs/development/interpreters/ruby
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-01-06 21:43:22 +0300
committerNikolay Amiantov <ab@fmap.me>2016-01-10 07:26:37 +0300
commit75358ad0e7a143ad6849882a1967ef6a5c2e6e68 (patch)
tree35d75491ecc4ebb571f49abf82f01d486ceb55bf /pkgs/development/interpreters/ruby
parent732495017b9ec6e0105c0c31aa20c9b397ef16cb (diff)
downloadnixlib-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.nix24
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}
           '';