-
Notifications
You must be signed in to change notification settings - Fork 722
Description
For a decent while now, build-tool-depends has been the correct way to add built-time executable dependencies. Cabal, Stack, and cabal2nix all support it to my knowledge. Many packages throughout the ecosystem however still expect to get the executables of any package; probably the biggest example of this would be hspec-discover. This is bad because because it pulls back against the "componentization" that all the tools are striving for, and also harms cross as libraries and build-time tools are built for different platforms.
We tried just "machete-ing" our way through this for Nix in NixOS/nixpkgs#41420, but the number of overrides needed was deemed excessive. First we need to declare Cabal min version after which packages are required to do things properly (probably 3 with the deprecation of old-build?). Second, we need to decide what to do with older Cabal files.