Using nixpkgs to do version dependency bounds checking

I was curious if i could construct a nix expression that would be able to build every combination of a given dependency. For example, lets say I have a python package and i want to verify that it works with python3.{5,6,7} and i want to verify that it works with pythonXXPackages.requests_2.[1-22] and many versions of flask.

I realize I would have to define an expression for each individual version of a package, but does anyone know of a decent way to construct something like this?

Pointing me in the right direction would also be appreciated.

I haven’t ever done something like this, but it looks like you could use lib.lists.crossLists to run a function with all combinations of a set of inputs, so you can construct the derivation in that function and then just have to figure out how to produce the inputs that you want to test with.

2 Likes

Oh wow, thanks, this is pretty much exactly what i was looking for to create at least the combination of packages. Thanks @lilyball :slight_smile: