[darcs-devel] Curl build issues

Gwern Branwen gwern0 at gmail.com
Mon Apr 21 01:26:39 UTC 2008


On 2008.04.17 07:40:02 -0700, David Roundy <droundy at darcs.net> scribbled 2.0K characters:
> On Wed, Apr 16, 2008 at 11:27:36PM -0400, Gwern Branwen wrote:
> > > > Another thing that might qualify as a good reason to adopt cabal is
> > > > because it is the de facto standard for Haskell programmers.
> > > > Hopefully using cabal would increase the number of people like Gwern
> > > > who are willing and able to help out with the build system.
> > >
> > > Yeah, but it's a bad system.  It's worse than what we've got in numerous
> > > ways.  The only thing it has going for it is that it can deal with ghc's
> > > almost-undocumented package system.
> >
> > About the only real disadvantage I can see to using Cabal exclusively and
> > scrapping the GNUmakefile completely is that you might have to move the
> > documentation build scripts and testing scripts out to their own
> > executables. Not a big deal; a 'make-doc.sh' is not much different from
> > 'make doc', IMO.
>
> Off the top of my head: builds will slow down by a factor of two (on my
> machine) because cabal doesn't support parallel builds,

Which will probably be fixed in this year's Summer of Code, Duncan tells me.

> and we would
> sacrifice backwards-compatibility,

Yeah, backwards compatibility to 6.4 users who want to build through Cabal. You'll forgive if I don't cry a river. If there are 6.4 users out there, they should seriously upgrade. If not, let them be content with darcs 1.x and darcs 2.0.0. I don't really know how to express this without resorting to platitudes like 'stop living in the past'. Backwards-compatibility has its cost. And I think the cost ceased to be worth paying when darcs 2.0.0 came out; the biggest problem those hypothetical 6.4 users have is now solved.

> and we'd have a more complicated and
> hard-to-understand build system with a syntax that changes every year or
> so.
> --
> David Roundy

Maybe that's how it looks from inside the belly of the beast with years of experience with Autotools, but I just started with Haskell, Cabal, and Autotools last year.

And let me tell you: Cabal is, for all the flaws it has, a shining citadel of sanity and light compared to the midden heap of autotools, with magic global variables, executable code all over the stinking place, countless files and directories, everywhere unclarity and verbose obfuscation, horrible documentation, ancient cruft, and bad design choices (where they aren't outright malicious, like Makefiles and tabs/spaces). I don't know how one could even set up a basic autotools package - as compared with a simple Setup.hs and foo.cabal.

--
gwern
PLO information white Submarine telex underground 3 Bugs 9/11 M5
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.osuosl.org/pipermail/darcs-devel/attachments/20080420/6d25aec9/attachment.pgp 


More information about the darcs-devel mailing list