nixpkgs/lib
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
..
systems systems/parse.nix: support eabihf 2018-12-02 19:49:36 -06:00
tests lib.isStorePath: fix false result when passed a path object 2018-10-20 22:33:04 +11:00
asserts.nix lib: move assertMsg and assertOneOf to their own library file 2018-09-06 18:14:27 +02:00
attrsets.nix bundlerEnv: ensure dependencies always included 2018-12-11 21:26:07 +00:00
composable-derivation.nix [bot] treewide: remove unused 'inherit' in let blocks 2018-07-20 19:38:19 +00:00
customisation.nix lib: fix wording of the overrideScope warning 2018-10-11 17:23:47 +02:00
debug.nix lib/debug: Update documentation comments for docs generation 2018-10-29 10:45:25 +01:00
default.nix bundlerEnv: ensure dependencies always included 2018-12-11 21:26:07 +00:00
deprecated.nix
fetchers.nix
filesystem.nix
fixed-points.nix bundlerEnv: ensure dependencies always included 2018-12-11 21:26:07 +00:00
generators.nix generators: make toPretty handle floats correctly 2018-10-15 14:03:16 +02:00
kernel.nix linux: translate config to structured config 2018-06-30 16:01:41 +03:00
licenses.nix lib/licenses: remove bsl10 2018-11-16 20:58:49 +01:00
lists.nix lib/lists: Update documentation comments for doc generation 2018-10-29 10:42:43 +01:00
meta.nix treewide: remove lib.meta.enableIfAvailable 2018-05-09 16:21:22 -05:00
minver.nix Nix minimal version: 1.11 -> 2.0 2018-08-30 08:09:54 -04:00
modules.nix module system: rework module merging 2018-08-27 17:11:58 +02:00
options.nix lib/options: Update documentation comments for docs generation 2018-10-29 10:45:28 +01:00
sources.nix lib: commitIdFromGitRepo: simplify a tiny bit 2018-11-08 05:20:18 +00:00
strings-with-deps.nix
strings.nix make-derivation: use pname-version as default name if both are present 2018-11-06 00:04:21 +01:00
trivial.nix group the release info 2018-11-15 21:56:17 +01:00
types.nix Add type port as an alias to u16 2018-10-18 23:39:13 +02:00
versions.nix
zip-int-bits.nix lib/trivial: move zipIntBits to its own file 2018-07-26 20:36:45 +02:00