On 2015-03-25, at 12:16, Michael Snoyman <mich...@fpcomplete.com> wrote:

> Trying to understand the problem: currently, with your approach, if the 
> project depends on a library not in the LTS Haskell release, then the 
> cabal-install dependency solver won't be able to find it. Instead, you'd like 
> to be able to use the dependency solver to track down those extra 
> dependencies. Is that correct?
> 
> If so, why not take a multi-pass approach: download the cabal.config from 
> stackage.org (which creates an inclusive snapshot), and then use --dry-run, 
> which will tell you all the packages to be used.

You’re correct.  However, this will have to be `cabal install 
--dependencies-only --dry-run`, and not `cabal freeze --dry-run`, because 
`cabal freeze` always completely ignores any existing version constraints, 
whether local or global (https://github.com/haskell/cabal/issues/2265).

I’m planning to switch away from `cabal freeze` soon, but it’s not going to be 
a drop-in replacement (https://github.com/mietek/halcyon/issues/52).

This is a good moment to carefully consider the meaning of a per-application 
`cabal.config` file, and whether the `cabal freeze` flavour should be 
completely replaced by separate constraints files.  Perhaps, as mentioned in 
the original `cabal freeze` proposal, we could also have separate constraints 
sets for different GHC versions.

I’m hoping Cabal developers could chime in on the discussion.


-- 
Miëtek
https://mietek.io


Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
cabal-devel mailing list
cabal-devel@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/cabal-devel

Reply via email to