From 3b59fbd6083f50ec3723439b549c608bfc6d8009 Mon Sep 17 00:00:00 2001 From: Alexander Flatter Date: Mon, 8 Sep 2014 18:44:43 +0200 Subject: [PATCH] WIP --- pkgs/development/interpreters/ruby/bundix.nix | 16 ++++++++++++++++ pkgs/top-level/all-packages.nix | 8 ++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/interpreters/ruby/bundix.nix diff --git a/pkgs/development/interpreters/ruby/bundix.nix b/pkgs/development/interpreters/ruby/bundix.nix new file mode 100644 index 00000000000..b4cc4bbb31f --- /dev/null +++ b/pkgs/development/interpreters/ruby/bundix.nix @@ -0,0 +1,16 @@ +{rubyLibsWith, callPackage, lib}: + +{ + loadRubyEnv = path: config: + let + expr = callPackage path {}; + ruby = config.ruby; + rubyLibs = rubyLibsWith ruby; + gems = rubyLibs.importGems expr.gemset config.gemOverrides; + in { + inherit ruby; # TODO: Set ruby using expr.rubyVersion if not given. + gemPath = map (drv: "${drv}/${ruby.gemPath}") ( + builtins.filter (value: lib.isDerivation value) (lib.attrValues gems) + ); + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 90ce4bf6555..e85d18f01ed 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4045,10 +4045,14 @@ let ruby_2_0 = ruby_2_0_0; ruby_2_1 = ruby_2_1_3; - rubyLibsWith = myruby: callPackage ../development/interpreters/ruby/gems.nix { - ruby = myruby; + rubyLibsWith = ruby: callPackage ../development/interpreters/ruby/gems.nix { + inherit ruby; }; + loadRubyEnv = (callPackage ../development/interpreters/ruby/bundix.nix { + inherit rubyLibsWith; + }).loadRubyEnv; + rubyLibs_1_8_7 = rubyLibsWith ruby_1_8_7; rubyLibs_1_9_3 = rubyLibsWith ruby_1_9_3; rubyLibs_2_0_0 = rubyLibsWith ruby_2_0_0;