[darcs-users] enfranchising darcs?

Don Stewart dons at galois.com
Fri Oct 17 17:49:36 UTC 2008


benjamin.franksen:
> Eric Kow wrote:
> > The idea is that if I do:
> > 
> >   runhaskell setup clean
> >   ghc-pkg unregister mtl
> >   runhaskell setup configure
> >   runhaskell setup build
> > 
> > For some reason I thought the configure would pass and that the build
> > would fail.  But I see this was an error, because actually the configure
> > fails with:
> > 
> > | Error building darcs.depend:
> > | 
> > | src/Printer.lhs:58:7:
> > |     Could not find module `Control.Monad.Reader':
> > |       Use -v to see a list of the files searched for.
> > | Error:  Failure building darcs.depend
> > | 
> > | src/Printer.lhs:58:7:
> > |     Could not find module `Control.Monad.Reader':
> > |       Use -v to see a list of the files searched for.
> > 
> > ... which is more or less reasonable since it's configure that's
> > failing.  I would prefer something more informative, like "try
> > installing mtl", but as you say below...
> 
> Another issue with franchise (as it stands) is this: I have a parsec-3
> installed but also a parsec-2. I want darcs to build using parsec-2,
> ignoring parsec-3. How do I do this?
> 
> I tried to hide parsec-3:

A lot of work has gone into versioning support in Cabal, fwiw,
documented here is how to build against a less-than-the-latest version
of a package, if multiple ones are installed,

http://haskell.org/haskellwiki/Upgrading_packages#Adding_base-3_constraints

So, if you ultimately build with ghc --make, then

     ghc --make -package parsec-2.0.1.0

If you use Cabal (via runhaskell), add a constraint,

     runhaskell Setup.hs configure --constraint="parsec < 3"

If you use cabal-install, no changes, the solver will work this out.

-- Don


More information about the darcs-users mailing list