Binaries

Download Darcs

The current stable release is darcs 2.2, released in January 2009 (announcement). Here are directions for building darcs from source, followed by links to the best available binaries for each platform.

Compiling from source

Darcs is written in Haskell, and to build it you will need the Glasgow Haskell Compiler (GHC) version 6.6 or later. If you don't already have GHC, you'll need to install one of the GHC binary packages (see also GHC User's Guide: Installing GHC). Building GHC from source is also possible but less easy.

Next, if you already have some version of darcs 2, you can get the latest stable branch using darcs itself:

darcs get --lazy http://darcs.net/

If you have darcs 1 or no darcs at all, download the tarball: http://darcs.net/darcs-2.2.0.tar.gz. If for whatever reason you need an older release of darcs, see OldReleases

For more details, see Building Darcs in the official manual. See also: CompilingOnCygwin

Microsoft Windows

For local or HTTP access, just download the zip file and unpack it. If you need SSH support, see WindowsConfiguration for installation instructions.

for Windows without Cygwin

for Windows with Cygwin

Mac OS X

MacOS X now has four binary architectures; ppc, ppc64, x86, x86_64. For the purposes of haskell/darcs building, I think this mostly amounts the two architectures of the ppc/x86 split. The Rosetta emulation layer that ships with 10.4 x86 allows x86 users to run many (but not all) ppc binaries, however ppc users cannot run x86 binaries.

Intel OS X

The current version of darcs -- darcs-2:

  • Mac OS 10.5 Intel build of darcs-2: http://dark.ly/darcs-2.2.1-i386-darwin.bz2; It links libgmp statically and does not require GMP.Framework. Thanks to .

  • alternate build: package installer for 10.4 and 10.5 of darcs-2.1.2 that can do fresh installs and upgrades: http://www.fivesquaresoftware.com/source/; The GMP.framework is installed on 10.4 systems (It's no longer needed on 10.5 systems). The package also installs the man page, the HTML manual and the bash completion file.

Older versions of darcs:

  • Native Intel builds of darcs-1.0.9 is available at http://glozer.net/darcs. To install this build
  • download the dmg file from the above link
  • drag the GMP.Framework into /Library/Frameworks
  • drag the darcs executable into somewhere in your path like /usr/local/bin
  • A Mac OS 10.4/5 Intel build of darcs-1.0.9 is available at http://dark.ly/darcs-1.0.9-i386-darwin.bz2 which links libgmp statically and does not require GMP.Framework <sebell at gmail dot com>.

PowerPC OS X

Older versions of darcs:

  • Package installer for Mac OS X 10.5 (Leopard) of 1.0.9: http://www.fivesquaresoftware.com/source/. It won't run on Tiger. Installs the GMP framework, the man page and bash completion script. This is the last PPC build of this package.
  • darcs-1.0.9rc2 is available at http://www.accela.net/~lucca/darcs-1.0.9rc2-macos10.4-ppc.tar.gz (email lucca at accela dot net) This build is a normal dynamic build, but uses only apple-supplied libs (including 10.4's libcurl), so it should be as good as static for most people. (gcc4.0.1apple, ghc 6.6, macos 10.4.8) This tentatively seems to work on my macbook...
  • http://el-tramo.be/software/darcs-ppc-static (Mac OS 10.2 or higher required). Appears to work with intel mac (through Rosetta) as well. [ est adds that it mostly works for him on his macbook pro but that it has also trashed some data and revision histories. ]

MacPorts and Fink

Both MacPorts and Fink have package based installers of darcs.

GNU/Linux

Arch Linux

Darcs is in the extra package repository that is enabled by default. Just run pacman -Sy darcs and you're done.

Crux Linux

Afterward, type the following commands:

# prt-get depinst httpup

# ports -u

# prt-get depinst ilenia

# ilenia -U darcs

enjoy!

Debian

Darcs is available in all current Debian releases in the darcs package. For example, to install using apt-get:

# apt-get install darcs

Fedora (Linux)

For recent versions of Fedora, Darcs is just included. Do the usual to install:

  • yum install darcs

If you want to do development you will also want to install ghc in the same way.

If you are running an older Fedora Core, Darcs is included in Fedora Extras. For information about using Extras, see:

Frugalware Linux

To install binary package:

  • pacman-g2 -Sy darcs
    

To build it from source:

  • repoman upd && repoman merge darcs
    

Gentoo Linux

  • emerge darcs

If the version this gives you is not recent enough 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

You can see which "stable" and "unstable" versions are available for your architecture at http://packages.gentoo.org/packages/?category=dev-util;name=darcs

You'll have to use darcs 1.0.3_rc1 or later if you are using GHC 6.4. The oldest version of darcs currently(29-4-2006) in portage is 1.0.4, so you should not have to worry about this.

''Note that if this is the first time you've built something that is written in Haskell, Portage will bring in ghc-bin. That's perfectly sufficient to build darcs, but you may also want to emerge ghc (which needs ghc-bin to bootstrap) and then you can remove ghc-bin.''

''If configuring darcs fails, and config.log shows something like "Could not find module `Prelude'" and you are using the binary ghc package, try re-emerge'ing ghc-bin (just type emerge ghc-bin)

GoboLinux

To compile from source:

  • Compile darcs

To get a binary package.

Mandriva Linux

Darcs is now officially included in all Mandriva distribution up to 10.2. You can find it in contrib media:

http://rpms.mandrivaclub.com/search.php?query=darcs

To install darcs, ensure your urpmi is setup with contrib media, then type (as root):

urpmi darcs

For all issue related to this package, please contact the official maintainer:

The package for LE2005 (10.2) will work on 10.1 if you also install the libreadline5 package.

To have benefits of bash completion, simply install bash-completion package:

urpmi bash-completion

Ubuntu Linux

Darcs is in the universe section of Ubuntu, thus universe should be in your apt sources. Take a look at http://www.ubuntu.com/community/ubuntustory/components for adding universe (summary: edit /etc/apt/sources.list). Now simply add it through Synaptics Package Manager or

  • apt-get install darcs

Iain Lane has also produced some more up-to-date packages, available on his Launchpad Personal Package Archive at https://launchpad.net/~laney/+archive

BSD

FreeBSD

Darcs is now known to build on FreeBSD 4.x, 5.x and 6.x, using 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.

LionKimbro: On FreeBSD 5.4, I had great difficulty installing; I ended up in a perpetually running make..! Key insights from my install:'(1)' pkg_add -r ghc first, rather than any other method of adding ghc.'(2)' Download darcs source from http://darcs.net/ .'(3)' The FreeBSD 5.4 version uses ghc 6.4.0, not 6.4.1, so you need to edit line 43 of Repository.lhs, changing it to: import qualified DarcsRepo hiding ( seekRepo, youNeedToBeInRepo )'(4)' type gmake. The program should now compile.

WesSheldahl: On FreeBSD 6.1, it installed smoothly, including installing ghc through ports as a dependency.

JanLudewig: ''On FreeBSD 8x and probably 7x, it won't compile without this patch: http://www.nabble.com/ports-117535-3A--PATCH--devel-darcs-3A-port-is-broken-for-RELENG_7-to13428315.html

NetBSD

No native binaries are available yet. On x86, the statically-linked Linux binary above works if you've got COMPAT_LINUX in your kernel.

It's possible to use pkgsrc to install binary or build Darcs from sources. Darcs is in directory pkgsrc/devel/darcs.

OpenBSD

Compiled with GHC 6.8.3 on OpenBSD 4.2, but should work on others:

An old version of darcs is included in the official package list. Install it with pkg_add.

Alternatively, install it from "ports". Note that binary packages are recommended by the OpenBSD team over using the ports system.

  • cd /usr/ports/devel/darcs && make install

Dragonfly BSD

With the new release (1.4), the recommended packaging system is pkgsrc. To build and install darcs, all you have to do is:

cd /usr/pkgsrc/devel/darcs && bmake install

However, the ghc package is currently broken on Dragonfly until it is fixed (not hard, but there's only one person that cares and I don't have much time), you'll have to use a linux binary.

Solaris

  • Binaries:
-- autobuilds from the trunk are uploaded here:

http://zooko.com/darcsbuildbot/uploads/karel_solaris/snapshots/. Only builds which pass the unit tests get uploaded.

-- darcs-v2.0.0 + 283 patches for Solaris 11 (SunOS 5.11) on x86

architecture: http://www.mico.org/~karel/darcs-2.0.0-p283-x86-SunOS.tar.bz2

-- Be wary that gcc-3.0 through gcc-3.3 generate bad code when used

with GHC under sparc. (So use 2.95 or 3.4+)

-- When building on a sun-sparc-solaris2.6 machine, I had to add

-lposix4 -lpthread to the LDFLAGS before calling the configure script, or the produced binary would fail when using pthreads (for example when recording a compressed patch).

AIX

For AIX 5.x, a binary build is available at: http://openafp.org/darcs-1.0.1-aix5.tar.gz

Unfortunately, openafp.org appears to be gone...

Buildbot binaries

Several darcs builtbots are configured in a way that they upload the latest greatest darcs binary produced by the last successful build to the publicly available host on the Internet. Have a look here for the list of snapshots: https://zooko.com/darcsbuildbot/uploads/