The darcs package

[ Tags: development, gpl, library ] [ Propose Tags ]

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, 2.12.5
Change log NEWS
Dependencies array (>=0.1 && <0.4), base (==3.*), bytestring (>=0.9.0 && <0.10), containers (>=0.1 && <0.4), directory (==1.0.*), filepath (==1.1.*), hashed-storage (>=0.4.7 && <0.5), haskeline (>=0.6.1 && <0.7), html (==1.0.*), HTTP (>=3000.0 && <4000.1), HUnit (>=1.0), mmap (>=0.2), mtl (>=1.0 && <1.2), network (==2.2.*), old-time (==1.0.*), parsec (>=2.0 && <3.1), process (==1.0.*), QuickCheck (>=, random (==1.0.*), regex-compat (>=0.71 && <0.94), terminfo (==0.3.*), test-framework (>=0.2.2), test-framework-hunit (>=0.2.2), test-framework-quickcheck2 (>=0.2.2), unix (>=1.0 && <2.5), utf8-string (==0.3.*), zlib (>= && < [details]
License GPL
Author David Roundy <>, <>
Maintainer <>
Category Development
Home page
Source repo head: darcs get
Uploaded Sat Feb 27 11:58:23 UTC 2010 by ReinierLamers
Distributions Arch:, Debian:2.10.2, Fedora:2.13.0, FreeBSD:2.10.1, NixOS:2.12.5
Executables unit, darcs, witnesses
Downloads 18291 total (221 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI





Use libcurl for HTTP support.


Use libcurl's HTTP pipelining.


Use the pure Haskell HTTP package for HTTP support.


Build static binary


Use the terminfo package for enhanced console support.


Use threading and SMP support.


Use GADT type witnesses.


Use ansi color escapes.


Compile with mmap support.


Compile unit tests (requires QuickCheck >=


A cunning trick to have cabal install build dependencies


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-2.4

[back to package description]
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

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

Using GHC 6.10.3 or newer is STRONGLY RECOMMENDED. You can compile darcs with
GHC 6.8, but there are several caveats. If you are using 6.8.2 or older, please
disable mmap support (pass -f-mmap to cabal install or runghc Setup configure
below). Note that the GHC 6.8.2 that ships with Debian Lenny is not affected
and it should be safe to keep mmap enabled. It is also recommended to disable
use of Hackage zlib when compiling with GHC 6.8.2 (including the Debian Lenny
version): pass -f-zlib to cabal. When using zlib, we have seen occasional
crashes with error messages like "openBinaryFile: file locked" -- this is a
known GHC 6.8.2 bug (and is fixed in GHC 6.8.3). Last, if you are using a
64-bit system, darcs may hang when you exit a pager when compiled with GHC
older than 6.10.3. Although this is harmless, it is quite inconvenient.

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 command to create
an executable in ~/.cabal/bin/darcs (this will also automatically fetch and
build dependencies from the Hackage server).

    $ cabal update
    $ 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!