Download Darcs

Latest official binaries

Windows Intel Mac OSX GNU/Linux OpenBSD FreeBSD
Darcs 2.12.5 exe (checksum) Darcs 2.14.1 (checksum)
10.8 Mountain Lion and up

The current stable release is darcs 2.14.

Compiling from source

You can grab the source of the latest reviewed branch from http://darcs.net/reviewed/reviewed.zip.

You can also clone darcs’ repository using darcs itself:

darcs clone --lazy http://darcs.net/          # more up-to-date, less tested
darcs clone --lazy http://darcs.net/reviewed  # less up-to-date, more tested

If for whatever reason you need an older release of darcs, see Releases.

Darcs is written in Haskell, and to build it we recommend the installation of the Haskell Platform. Building can then be done by typing cabal update followed by cabal install in the source directory.

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.

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

More binaries

Microsoft Windows

Official Windows binaries:

For local or HTTP access, just download the zip file above and unpack it. If you need SSH support, see Windows.

Mac OS X / OS X / macOS

Mac OS X provided in its history four binary architectures; ppc, ppc64, x86, x86_64. The latest PowerPC version of Mac OS X was 10.5.8 (latest version) Leopard which works in 32 bit (ppc) mode on G3 and G4 machines and, in 64 bit (ppc64) mode an G5 machines. At the moment there is no recent GHC (Glasgow Haskell Compiler) version for the PowerPC architecture.

Apple switched with Mac OS X 10.6.8 (latest version) Snow Leopard from PowerPC CPU´s to Intel CPU´s. Snow Leopard and the following Mac OS X 10.7.5 (latest version) Lion supported x86 and x86_64. Starting with OS X 10.8.5 (latest version) Mountain Lion Apple stopped the x86 support.

Darcs is written in Haskell, and to build it we recommend the installation of the Haskell Platform. Even the package managers Fink, MacPorts and Homebrew are well known, the darcs developers provide no support for them.

The latest version of the binary works on OS X 10.8 Mountain Lion, OS X 10.9 Mavericks, OS X 10.10 Yosemite, OS X 10.11 El Capitan, macOS 10.12 Sierra, macOS 10.13 High Sierra and macOS 10.14 Mojave.

Other official Mac OS X binaries

Try compiling from source

Binary not recent enough? Compiling from source can actually be quite easy. Just download the stand alone version of the Haskell Platform. In some situations or, if you plan to code for iOS / macOS it is helpful to install Xcode from the App Store. As last step the CLI (Command Line Interface) Tools are required. The installation could be done using

xcode-select --install

To accept the license, open Xcode or run

xcodebuild -license

To build darcs run

cabal update && cabal install darcs

If you haven’t done it already extend your path as shown after updating the known packages.

GNU/Linux

Binary for Linux

v2.2.0 above may be useful to run with older kernels.

Packages for Debian and Ubuntu

Ubuntu is usually quite up-to-date with regards to the latest releases of Darcs. For Debian, check packages.debian.org.

Distributions that provide darcs

  • Arch Linux: in the AUR
  • Debian
  • Fedora
  • Frugalware
  • Gentoo: you can see which “stable” and “unstable” versions are available for your architecture at http://packages.gentoo.org/package/dev-util/darcs. You can try the “unstable” version (for non-i386 platforms replace ~x86 with correct keyword, for amd-64 use ~amd64):
    • mkdir /etc/portage (if you have not already done so)
    • echo "dev-util/darcs ~x86" >> /etc/portage/package.keywords
    • emerge darcs
  • Mandriva: ensure your urpmi is setup with contrib media. For all issue related to this package, please contact the official maintainer: nanardon@mandriva.org To have benefits of bash completion, install the bash-completion package.
  • Ubuntu: you will have to enable the universe packages source

BSD

FreeBSD

To see wether Darcs builds on your FreeBSD version, check the FreeBSD ports collection:

To build from source: cd /usr/ports/devel/darcs && make install or, to install the server as well: cd /usr/ports/devel/darcs && make -DWITH_SERVER install If you install the server, the CGI executable is installed as /usr/local/libexec/darcs/cgi-bin/darcs, and its configuration file is /usr/local/etc/darcs/darcs/cgi.conf.

Since darcs depends on Haskell, be prepared for the above to also download and install any Haskell related ports that you don’t already have, such as ghc.

To fetch and install a binary package from an official FreeBSD server: pkg_add -r darcs

The statically-linked Linux binary above also appears to work if you’ve got COMPAT_LINUX in your kernel.

If you want to compile darcs yourself on FreeBSD, be sure to use gmake instead of make.

OpenBSD

To install darcs (at the moment 2.12.5) run:

pkg_add darcs

Binary not recent enough? Compiling from source can actually be quite easy.

pkg_add ghc cabal-install
cabal update && cabal install darcs

For a user in the login class staff and group wheel

doas mount -uo wxallowed /home
doas mount -uo wxallowed /tmp
ulimit -d 4096*1024

For more details see the man pages ksh(1), doas(1), doas.conf(5) and login.conf(5) on your machine or at https://man.openbsd.org

NetBSD

darcs is available in pkgsrc

On x86, the statically-linked Linux binary above works if you’ve got COMPAT_LINUX in your kernel.