[darcs-users] enfranchising darcs?

David Roundy daveroundy at gmail.com
Fri Oct 17 14:29:01 UTC 2008


On Thu, Oct 16, 2008 at 2:25 PM, Jason Dagit <dagit at codersbase.com> wrote:
> * Now it seems as though the plan is to throw autotools out the window on
> all platforms and unconditionally.  Meaning that on POSIX platforms we are
> changing something that isn't broken.

No, the configure script *is* broken, it's just not as broken as cabal
is.  It doesn't allow very good forward-compatibility, only
backward-compatibility, meaning with every major release of ghc, darcs
is broke, because the configure script needs to explicitly  mention
every possible  package that might contain a module that  we use.
Franchise fixes this bug.

> * I personally do not consider wine to be windows and I do not consider
> testing on wine to be an acceptable substitute for testing real software for
> windows compatibility.

No, it's not a substitute for testing on windows, but given that there
are no darcs developers who use windows, it's better than nothing.
And I don't imagine that you'll argue that keeping it hard to build
darcs on windows will help us bring windows developers into the darcs
camp.

> Now, it seems that Cabal works wherever GHC works, including Windows.  Cabal
> has been under development for a few years and is now approaching a mature
> status.  Cabal is tested, battle hardened, and all of hackage is built
> regularly to ensure that it remains working as new features are added and
> code is refactored.  Duncan is very responsive about bugs, there are summer
> of code projects every summer for Cabal, it has a nice project website with
> bugtracker and community, lots of documentation, tutorials around the net,
> and otherwise seems very healthy and alive.  Recently Duncan gave a talk
> about the future of Cabal[1] that sounds very promising.

But as I've mentioned many times, cabal doesn't even attempt to
replace autotools.  Given that I feel  (and windows-concerned users
such as Zooko agree) that a configure that tests for the presence of
libraries is importent, cabal is simply not an option.  Add  with that
a complete lack of forward or backward compatibility, and you've got a
tool that is really not a build system I would consider considering.

> Now the part that I don't understand in light of the above is this:
> If we're going to use franchise for darcs, why do we need to exclude the use
> of autotools and cabal?

The build system is important, that's why, and because it's something
that every developer needs to touch, sooner or later.  It's the first
experience any new developer has with darcs, and often the first
experience new users have (although  nowdays darcs is packaged in
quite a few distros).  I don't  want someone who just wants to add a
feature that uses some library to have to figure out how to modify
three  different build systems, and I don't want to have to track down
bugs in three different build systems.  The smart choice is to have
one build system that works well.

> There are plenty of other things I don't understand about this situation,
> but that one is most frustrating to me at the moment.  If someone says, "No,
> you've got it wrong, you'll still be able to build with either autotools or
> cabal without any of the other three."  I'll go happily back to hacking and
> forget all about this :)

Keep in mind, you cannot currently build with cabal without also using
autotools and gnu make and perl.  Cabal is not one of the existing
alternatives.

David


More information about the darcs-users mailing list