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]

Properties

Versions 2.1.2.1, 2.1.2.2, 2.1.98.2, 2.1.99.0, 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.4 && <0.6), attoparsec (>=0.11 && <0.13), base (>=4.5 && <4.9), base16-bytestring (==0.1.*), binary (>=0.5 && <0.8), bytestring (>=0.9.0 && <0.11), containers (>=0.4 && <0.6), cryptohash (>=0.4 && <0.12), darcs, data-ordlist (==0.4.*), dataenc (>=0.11 && <0.15), deepseq (==1.3.*), directory (>=1.1.0.2 && <1.3.0.0), filepath (>=1.2.0.0 && <1.5.0.0), hashable (>=1.0 && <1.3), haskeline (>=0.6.3 && <0.8), html (==1.0.*), HTTP (>=4000.2.3 && <4000.3), lcs, mmap (==0.5.*), mtl (>=2.1 && <2.3), network (>=2.3 && <2.5), old-locale (==1.0.*), old-time (==1.1.*), parsec (==3.1.*), process (>=1.1.0.1 && <1.3.0.0), random (>=1.0 && <1.2), regex-applicative (>=0.2 && <0.4), regex-compat-tdfa (>=0.95.1 && <0.96), tar (==0.4.*), terminfo (==0.3.*), text (>=0.11.2.0 && <1.3), time (>=1.4 && <1.6), transformers (>=0.3 && <0.4.0.0 || >0.4.0.0 && <0.5), transformers-compat (==0.4.*), unix (>=2.5 && <2.8), unix-compat (>=0.1.2 && <0.5), utf8-string (>=0.3.6 && <1.1), vector (>=0.7 && <0.11), Win32 (>=2.2 && <2.4), zip-archive (>=0.2.3 && <0.3), zlib (>=0.5.3.0 && <0.6.0.0) [details]
License GPL
Author David Roundy <droundy@darcs.net>, <darcs-devel@darcs.net>
Maintainer <darcs-devel@darcs.net>
Category Development
Home page http://darcs.net/
Source repository head: darcs get http://darcs.net/
Uploaded Sun Apr 19 21:25:01 UTC 2015 by GuillaumeHoffmann
Distributions Arch:2.12.5.20170909, Debian:2.10.2, Fedora:2.12.5, FreeBSD:2.10.1, LTSHaskell:2.12.5, NixOS:2.12.5, Tumbleweed:2.12.5
Executables darcs
Downloads 13448 total (220 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-04-19 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Flags

NameDescriptionDefaultType
curl

Use libcurl for HTTP support.

EnabledAutomatic
pkgconfig

Use pkgconfig to configure libcurl

DisabledAutomatic
http

Use the pure Haskell HTTP package for HTTP support.

EnabledAutomatic
static

Build static binary

DisabledAutomatic
terminfo

Use the terminfo package for enhanced console support.

EnabledAutomatic
threaded

Use threading and SMP support.

EnabledAutomatic
executable

Build darcs executable

EnabledAutomatic
hpcDisabledAutomatic
rtsDisabledAutomatic
optimize

Build with optimizations (-O2)

EnabledAutomatic
warn-as-error

Build with warnings-as-errors

DisabledAutomatic
use-local-data-map-strict

Support containers < 0.5, by using a local copy of the Data.Map.Strict module from containers 0.5.

DisabledAutomatic
libiconv

Explicitly link against the libiconv library.

DisabledAutomatic
hashed-storage-diffDisabledAutomatic
use-time-1point5DisabledAutomatic

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

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for darcs-2.10.0

[back to package description]
Darcs
=====

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

For more information, visit the darcs website: <http://www.darcs.net>.


Compilation and Installation
============================

Building Darcs is best done with the Haskell Platform:
<http://www.haskell.org/platform/>. Any release of darcs should build with
the most recent version of the Platform at the time of the release. This
will also generally apply to unstable versions.

If you are not using the Platform, then you need GHC and Cabal.
The versions required can be found in the darcs.cabal file under
'build-tools' and 'Cabal-Version' respectively.

The cabal-install package is also recommended.

If you have the Platform or otherwise 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
<http://www.haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_package>
including instructions on obtaining a copy of cabal-install.


Flags to alter compilation
==========================

There some flags that can be used to alter compilation. They are specified like this:

    $ cabal install -fflag_name

Here are some may be of interest. Search for "flags" in the `darcs.cabal` file
file for the complete list.

* `-f-curl`:
  By default the cabal-based build requires the cURL library and development
  headers. If you can't provide cURL, use this flag to disable the use of it.
  The pure Haskell 'HTTP' package will be used instead.

* `-frts`:
  When trying to use the patch-index feature, you can may get an error like
  this: "Stack space overflow: current size 8388608 bytes." darcs can be
  recompiled with this flag to avoid the issue. Some more detail is here:
  <http://darcs.net/Using/PatchIndex>

* `-fstatic`:
  Builds a static binary, which bundles most dependencies. The resulting binary
  is larger, but is able to be installed on similar machines without also
  installing all the dependencies separately.

Hacking
=======

For more information about darcs hacking and best practices please check
the darcs website <http://wiki.darcs.net>

Of particular interest are the following pages:

* <http://darcs.net/Development/GettingStarted>
* <http://darcs.net/Development/FAQ>

Testing
=======

For more information about the test suite, including how to run specific
tests <http://darcs.net/Development/RegressionTests>.

Happy hacking!