The darcs package

[Tags:gpl, library, test]

Darcs is a free, open source revision control system. It is:

This smartness lets you respond to changing demands in ways that would otherwise not be possible. Learn more about spontaneous branches with darcs.

[Skip to Readme]


Versions,,,, 2.2.0, 2.2.1, 2.3.0, 2.3.1, 2.4, 2.4.1, 2.4.3, 2.4.4, 2.5, 2.5.1, 2.5.2, 2.8.0, 2.8.1, 2.8.2, 2.8.3, 2.8.4, 2.8.5, 2.10.0, 2.10.1, 2.10.2, 2.10.3, 2.12.0, 2.12.1, 2.12.2, 2.12.3, 2.12.4
Dependencies array (>=0.1 && <0.3), base (<4), bytestring (>=0.9.0 && <0.10), containers (>=0.1 && <0.3), directory (==1.0.*), filepath (==1.1.*), haskeline (>=0.3.1 && <0.4), html (==1.0.*), HTTP (>=3000.0 && <3001.1), mtl (==1.1.*), network (==2.2.*), old-time (==1.0.*), parsec (==2.1.*), process (==1.0.*), random (==1.0.*), regex-compat (>=0.71 && <=0.92), terminfo (>=0.2.2 && <0.3), unix (==2.3.*), zlib (==0.5.*) [details]
License GPL
Author David Roundy <>, <>
Maintainer <>
Stability Experimental
Category Development
Home page
Source repository head: darcs get
Uploaded Thu Jan 15 21:09:11 UTC 2009 by PetrRockai
Distributions Arch:2.12.4, Debian:2.10.2, Fedora:2.8.5, FreeBSD:2.10.1, LTSHaskell:2.12.0, NixOS:2.12.4, Stackage:2.12.4, Tumbleweed:2.12.0
Downloads 10716 total (117 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]




curlUse libcurl for HTTP support.EnabledAutomatic
curl-pipeliningUse libcurl's HTTP pipelining.DisabledAutomatic
libwwwUse libwww for HTTP support.EnabledAutomatic
httpUse the pure Haskell HTTP package for HTTP support.EnabledAutomatic
external-bytestringUse the external bytestring package.EnabledAutomatic
external-zlibUse the external zlib binding package.DisabledAutomatic
haskelineUse the haskeline package for command line editing support.DisabledAutomatic
terminfoUse the terminfo package for enhanced console support.EnabledAutomatic
cursesUse libcurses for enhances console support.DisabledAutomatic
type-witnessesUse GADT type witnesses.DisabledAutomatic
colorUse ansi color escapes.EnabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for darcs

Readme for darcs-2.2.0

This is the source tree for darcs, a distributed version control system
written in Haskell.

For more information, visit the darcs web site:

Compilation and Installation

Darcs currently supports two build systems: a traditional autotools-
based system, and an experimental cabal-based system.  Currently
AUTOTOOLS IS RECOMMENDED; in later releases it will be deprecated and
eventually removed (in favour of cabal).

If a "configure" file is present, autotools is supported.  If a
"Setup.lhs" file is present, cabal is supported.  Currently there is a
separate source tarball for each build system; either can be used in
unstable checkouts.

Using Autotools

If you have the normal, autotools-based tarball, this sequence should work
for you (if you are in doubt, this is likely the case):

    $ ./configure
    $ make
    # make install

You first need to run `autoconf` if you obtained the source tree from the
darcs repository (but this is not needed for release tarballs).

For more information, please see the manual:

 * doc/manual/

Using Cabal

This method requires the cabal package, version 1.6 or higher.  The
cabal-install package is also recommended.

If you have the "cabal-install" package on your system (that is, there
is a "cabal" executable in your path), you can use the following
commands to create an executable in ~/.cabal/bin/darcs.

    $ cabal configure
    $ cabal build
    $ cabal install

Otherwise, if you have the "cabal" package but not the "cabal-install"
package, run the following:

    $ runghc Setup configure
    $ runghc Setup build
    $ sudo runghc Setup install

You may also omit the last step and copy the darcs executable (found in
dist/build/darcs/darcs) to a location of your choosing.

More detailed instructions can be found at
including instructions on obtaining a copy of cabal-install.

Please also note that the cabal-based build by default requires the cURL
library (and development headers). If, for some reason, you cannot provide
cURL, please pass "-f-curl" to the configure step above.

For more information about darcs hacking and best practices please check
the darcs wiki at

Of particular interest are the following documents:

For more information about the test suite, including how to run specific
tests please read tests/README.test_maintainers.txt.

Happy hacking!