cabal-install and executable dependencies
Herbert Valerio Riedel
hvr at gnu.org
Sun Aug 25 11:11:44 CEST 2013
On 2013-08-25 at 09:50:19 +0200, harry wrote:
> Many packages have dependencies on executable packages. There are currently
> three ways to specify the dependency:
> -Include it in the dependencies list, which will reinstall it every time.
> -Omit it, and the user will have to work it out when they see the Setup
> error message.
> -Some packages "cheat" by including a dummy library with the executable.
> I would like to propose that cabal do simple dependency checking for
> executables. If it exists in the path or cabal's bin directory, then
> the dependency it deemed satisfied.
Are you proposing that each package listed in 'build-depends' should be
looked up for its executables (if it contains any), and check if those
are available as installed executable?
What should happen if the executable is not found?
> If it's in cabal's bin but not the path, the user should be warned.
Why only warned? Shouldn't the dependency check rather fail then, as the
executable most likely won't be found?
What if the executable found via $PATH differs from the one in
~/.cabal/bin (or the respective sandbox `bin` folder?); should then be
warned as well?
> This doesn't support version bounds, but surely it's better than the current
> situation. I'm assume that this has been discussed some time before, but
> can't find any such discussion.
More information about the Libraries