Description
Here's some ideas for how to improve cabal outdated
with the nix-local-build UI in mind:
-
cabal outdated
should support target-selectors likenew-build
et al:cabal outdated all
would then iterate over all local packages configured incabal.project
and check all components for over-constricted bounds.And it also makes sense to limit
outdated
to some components, i.e. if only care about a few components (and e.g. not the testsuite):cabal outdated lib:foo exe:doo
would only check the two named components in whichever local package they're located.Conversely, we have special names to e.g. refer to all testsuites in the target-selector; so you could also say
cabal outdated tests
to iterate over all test-suite components in yourcabal.project
. -
cabal outdated
already supportscabal.project.freeze
; however, it would be convenient to have a variant which consults the last computed install-plan (and possibly compute one if it's needs (re)computation); IOW, a variant that combinescabal new-freeze
withcabal outdated --new-freeze-file
but without generating/overwriting an existingcabal.project.freeze
file.