diff options
author | Charles Strahan <charles.c.strahan@gmail.com> | 2015-01-15 20:58:05 -0500 |
---|---|---|
committer | Charles Strahan <charles.c.strahan@gmail.com> | 2015-01-15 20:58:05 -0500 |
commit | 9ad38ec3229e2b29cf54213fb7d4b8d109d3898d (patch) | |
tree | e1079d65fe073c7cd6a1fc4e4cc0f850bf4fe4bc /pkgs/development/interpreters/ruby/load-ruby-env.nix | |
parent | 1a1e6cfc04c9123f622d6db9c7ac5ba3832dc30b (diff) | |
download | nixlib-9ad38ec3229e2b29cf54213fb7d4b8d109d3898d.tar nixlib-9ad38ec3229e2b29cf54213fb7d4b8d109d3898d.tar.gz nixlib-9ad38ec3229e2b29cf54213fb7d4b8d109d3898d.tar.bz2 nixlib-9ad38ec3229e2b29cf54213fb7d4b8d109d3898d.tar.lz nixlib-9ad38ec3229e2b29cf54213fb7d4b8d109d3898d.tar.xz nixlib-9ad38ec3229e2b29cf54213fb7d4b8d109d3898d.tar.zst nixlib-9ad38ec3229e2b29cf54213fb7d4b8d109d3898d.zip |
ruby: allow for overriding the src
Diffstat (limited to 'pkgs/development/interpreters/ruby/load-ruby-env.nix')
-rw-r--r-- | pkgs/development/interpreters/ruby/load-ruby-env.nix | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/pkgs/development/interpreters/ruby/load-ruby-env.nix b/pkgs/development/interpreters/ruby/load-ruby-env.nix index 913e2cb39f2c..c4356ed5f50f 100644 --- a/pkgs/development/interpreters/ruby/load-ruby-env.nix +++ b/pkgs/development/interpreters/ruby/load-ruby-env.nix @@ -43,16 +43,19 @@ let instantiate = (attrs: let + defaultAttrs = { + name = "${attrs.name}-${attrs.version}"; + inherit ruby gemPath; + }; gemPath = map (name: gemset''."${name}") (attrs.dependencies or []); fixedAttrs = attrs // (fixes."${attrs.name}" or (const {})) attrs; + withSource = fixedAttrs // + (if (lib.isDerivation fixedAttrs.src || builtins.isString fixedAttrs.src) + then {} + else { src = (fetchers."${fixedAttrs.src.type}" fixedAttrs); }); + in - buildRubyGem ( - fixedAttrs // { - name = "${attrs.name}-${attrs.version}"; - src = fetchers."${attrs.src.type}" attrs; - inherit ruby gemPath; - } - ) + buildRubyGem (withSource // defaultAttrs) ); gemset' = if builtins.isAttrs gemset then gemset else import gemset; |