[Haskell-cafe] Binary serialization, was Re:
Abstraction leak
Duncan Coutts
duncan.coutts at worc.ox.ac.uk
Thu Jul 5 13:08:45 EDT 2007
On Thu, 2007-07-05 at 17:51 +0100, Neil Mitchell wrote:
> Hi
>
> It's not a great experience now, but hopefully things are moving in
> the right direction.
>
> > - Found crypto 3.0.3 on hackage.
> > - Tried to build, it depends on NewBinary
>
> Cabal-install is intended to remove this problem, so that you can say
> "i want crypto" and it gets everything that requires.
>
> > - Found that on hackage, downloaded and built OK. Lots of scary
> > warnings about happy, greencard etc, not being found during configure,
> > but let's go on.
>
> I've complained about these before, although I don't think anyone
> considered doing anything about it.
We know what needs to change, but it's not a trivial change.
The problem is that currently .cabal files to not specify what build
tools they need, so Cabal has to look for all the possible tools it
knows about before it finds out if any of them will be needed. This is
because at the moment it has to check for these tools in the configure
step, but currently it only finds out if it needs the tools in the build
phase.
The right thing to do is to have proper dep resolution that works out
what tools are needed and it should tell the developer to record this in
the .cabal file in a new build tools dependency field. They do have to
be recorded in the .cabal file because it's impossible for the dep
resolution to discover the build tools required in the configure step
without actually running some of those build tools, which obviously
should not happen in the configure step. So the best we can do is tell
developers when they've missed a tool.
Then once they're recorded in the .cabal file it'll be easy to avoid
looking for and warning about build tools that are not required.
Duncan
More information about the Haskell-Cafe
mailing list