nixpkgs/pkgs/development/ruby-modules
Alyssa Ross 67b1265fb3
bundlerEnv: ensure dependencies always included
Suppose I have a Gemfile like this:

    source "https://rubygems.org"
    gem "actioncable"
    gem "websocket-driver", group: :test

The gemset.nix generated by Bundix 2.4.1 will set ActionCable's groups
to [ "default" ], and websocket-driver's to [ "test" ]. This means that
the generated bundlerEnv wouldn't include websocket-driver unless the
test group was included, even though it's required by the default group.

This is arguably a bug in Bundix (websocket-driver's groups should
probably be [ "default" "test" ] or just [ "default" ]), but there's no
reason bundlerEnv should omit dependencies even given such an input --
it won't necessarily come from Bundix, and it would be good for
bundlerEnv to do the right thing.

To fix this, filterGemset is now a recursive function, that adds
dependencies of gems in the group to the filtered gemset until it
stabilises on the gems that match the required groups, and all of their
recursive dependencies.
2018-12-11 21:26:07 +00:00
..
bundix bundix: 2.4.0 -> 2.4.1 (#51660) 2018-12-07 17:49:33 +01:00
bundled-common bundlerEnv: ensure dependencies always included 2018-12-11 21:26:07 +00:00
bundler bundler: 1.16.4 -> 1.17.1 2018-11-15 17:41:20 +00:00
bundler-app xcpretty: init at 0.3.0 (#48494) 2018-11-28 12:21:37 +01:00
bundler-env [bot] treewide: remove unused 'args@' in lambdas 2018-07-20 19:54:05 +00:00
gem buildRubyGem: Provide manpages for Ruby gems (#49334) 2018-10-29 01:48:05 +01:00
gem-config gobject-introspection: rename package 2018-12-02 12:42:29 +01:00
solargraph solargraph: 0.28.2 -> 0.29.1 2018-12-02 02:48:01 -05:00
testing reewide: Purge all uses stdenv.system and top-level system 2018-08-30 17:20:32 -04:00
runtests.sh Small changes in response to review. 2017-07-02 17:18:58 -07:00