On Feb 11, 2011, at 11:20 AM, Peter Simons wrote:
If hledger offers optional features by means of Cabal flags, then users of the library need the ability to depend on hledger with a specific set
of features (flags) enabled or disabled, but unfortunately Cabal can't
do that.

The new approach remedies that problem by placing optional features in
separate packages. That creates a different problem, however, because
users may now install hledger and hledger-web separately, which -- as we
know -- may create all kinds of version conflicts that are non-trivial
to resolve.

This is the problem you're now trying to solve by over-specifying the
dependencies of hledger. Arguably, though, Cabal should solve that
problem for the user, i.e. by offering to re-compile hledger to resolve
the conflict etc., but unfortunately Cabal can't do that either.

Hi Peter.. thanks for the follow-up. In case it wasn't clear, I do realise now that attempts to over-specify depedencies to avoid practical cabal install issues can backfire, and a package author should just accept that cabal install can't be made 100% reliable installation method for non-experts (for now - I know many people are thinking about this).

And, I've fixed/relaxed the process dependency in hledger head, and only laziness/business has prevented that from being released to hackage. I'll do that asap.

Cheers - Simon

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to