@hackage darcs-beta2.2.98.2

a distributed, interactive, smart revision control system

  • Deprecated

  • Dependencies (22)

  • Dependents (3)

    @hackage/darcs-fastconvert, @hackage/acme-everything, @hackage/ipatch
  • Package Flags

      curl
       (on by default)

      Use libcurl for HTTP support.

      curl-pipelining
       (off by default)

      Use libcurl's HTTP pipelining.

      http
       (on by default)

      Use the pure Haskell HTTP package for HTTP support.

      bytestring
       (on by default)

      Use the external bytestring package.

      zlib
       (on by default)

      Use the external zlib binding package.

      utf8-string
       (on by default)

      Use the external utf8-string binding package.

      terminfo
       (on by default)

      Use the terminfo package for enhanced console support.

      type-witnesses
       (off by default)

      Use GADT type witnesses.

      color
       (on by default)

      Use ansi color escapes.

      mmap
       (on by default)

      Compile with mmap support.

      base3
       (on by default)
      test
       (off by default)

      Compile unit tests (requires QuickCheck >= 2.1.0.0).

Darcs

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

For more information, visit the darcs web site:

http://www.darcs.net

Compilation and Installation

Darcs currently supports two build systems: a cabal-based system and a legacy autotools-based system, and a cabal-based system. CABAL IS RECOMMENDED and the autotools system is deprecated: in future releases, autotools support will be removed.

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

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

$ 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 http://www.haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_package 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.

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:

Hacking

For more information about darcs hacking and best practices please check the darcs wiki at http://wiki.darcs.net/DarcsWiki

Of particular interest are the following documents:

Testing

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

Happy hacking!