
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