[Haskell-cafe] Re: Wiki software?

John MacFarlane jgm at berkeley.edu
Sat Nov 21 13:13:58 EST 2009


+++ Gwern Branwen [Nov 21 09 11:38 ]:
> On Sat, Nov 21, 2009 at 11:14 AM, Vladimir Ivanov
> <vladimir.v.ivanov at gmail.com> wrote:
> > I decided to give orchid a try, but failed to install the latest
> > version (0.0.8) using cabal.
> >
> > The reason is that one of the dependencies (filestore) depends on
> > parsec-2.0.* and orchid requires parsec3. I installed filestore-0.2
> > separately, but nothing changed.
> >
> > $ cabal install orchid
> > Resolving dependencies...
> > cabal: cannot configure filestore-0.2. It requires parsec ==2.*
> > For the dependency on parsec ==2.* there are these packages: parsec-2.0,
> > parsec-2.1.0.0 and parsec-2.1.0.1. However none of them are available.
> > parsec-2.0 was excluded because orchid-0.0.8 requires parsec ==3.0.*
> > parsec-2.1.0.0 was excluded because orchid-0.0.8 requires parsec ==3.0.*
> > parsec-2.1.0.1 was excluded because orchid-0.0.8 requires parsec ==3.0.*
> >
> > $ ghc-pkg list filestore
> > /usr/lib64/ghc-6.10.1/./package.conf:
> > ~/.ghc/x86_64-linux-6.10.1/package.conf:
> >    filestore-0.2, filestore-0.3.2, filestore-0.3.3
> >
> > $ ghc-pkg list parsec
> > /usr/lib64/ghc-6.10.1/./package.conf:
> >    parsec-2.1.0.1, parsec-3.0.0
> >
> > $ cabal --version
> > cabal-install version 0.6.2
> > using version 1.6.0.2 of the Cabal library
> >
> > Have you seen this before?
> > I hope I overlooked something trivial... =)
> >
> > -- vi
> 
> Apparently you can build filestore with parsec-3 if you want.
> Data/FileStore/Git.hs doesn't seem to use any of the functionality
> that changed between 2 & 3. I swapped the dep:
> 
>  hunk ./filestore.cabal 35
>  -                         parsec >= 2 && < 3, process, time,
> datetime, regex-posix, xml, split, Diff
>  +                         parsec >= 3, process, time, datetime,
> regex-posix, xml, split, Diff
> 
> Configured, noticing what parsec was being used:
> 
>  Dependency parsec >=3: using parsec-3.0.0
> 
> Built & installed successfully.

This is a bit of a problem.  gitit requires parsec >= 2 && < 3,
so gitit needs filestore to depend on parsec-2.  The reason why
is that pandoc depends on parsec-2, and the reason pandoc depends
on parsec-2 is that parsec-2 is significantly faster than parsec-3.
(I've verified this with several benchmarks, and so have others.)

John



More information about the Haskell-Cafe mailing list