Enabling build tools
to locally provision system dependencies raises an interesting question for the community. Our first step in this direction was to add this feature to Stack, to locally provision the dependencies for projects
. We added new metadata to the project metadata file, i.e. stack.yaml
. But as discussed with Neil Mitchell here
, arguably it ought to be possible to make system dependencies package
metadata. That is, included in the .cabal
file. That way, packages can hide
their system dependencies, arguing that it's an implementation detail of the package. That's a community discussion we ought to have: do we, as a community, want first-class support in Cabal-the-framework and presumably Cabal-the-library for local package provisioning (via Nix or otherwise)? If so, how?