From 9ad38ec3229e2b29cf54213fb7d4b8d109d3898d Mon Sep 17 00:00:00 2001 From: Charles Strahan Date: Thu, 15 Jan 2015 20:58:05 -0500 Subject: [PATCH] ruby: allow for overriding the src --- .../interpreters/ruby/load-ruby-env.nix | 17 ++++++++++------- 1 file 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 913e2cb39f2..c4356ed5f50 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;