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. [[`TableOfContents `_([2])]] 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 `_ . 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 ~~~~~~~~~~~~~~~~~~~~~~~~~~ - Semi-official binary: `darcs-2.2.1-win1.zip `_ - 2.2.1 with curl (7.19.2, curl-pipelining and ssl enabled). - This was produced by our Windows Czar, `SalvatoreInsalaco `_ - `darcsdir-w32-2.2.0.zip `_ - 2.2.0-win1 binary with SSH support files. for Windows with Cygwin ~~~~~~~~~~~~~~~~~~~~~~~ - `darcsdir-cygwin-2.2.0.tar.bz2 `_ - 2.2.0-win1 binary with SSH support files. 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 . 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. (gcc 4.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. - Darcs can be installed using fink `http://pdb.finkproject.org/pdb/package.php/darcs `_ - Darcs can be installed using darwinports `http://trac.macosforge.org/projects/macports/browser/trunk/dports/devel/darcs `_. - Note: It cites ``perl``and ``ghc``as prerequisites, so if you have them installed elsewhere (not via darwinports), be warned that you might be building new copies of them too. Both ``perl``and ``ghc``can take about 3 hours each to compile from source. GNU/Linux --------- Binary for Linux ~~~~~~~~~~~~~~~~ - v2.2.0: `http://repos.mornfall.net/darcs/darcs-2.2.0-ghc6.10-libwww-static.bin `_ - v2.1.0: `http://teratorn.org/code/darcs-2.1.0-linux-i386-static.tar.gz `_ (32-bit; statically linked) - v2.0.2: `http://briksoftware.com/darcs-2.0.2-linux-i386.tar.gz `_ (32-bit; dynamically linked) - v2.0.2: `http://teratorn.org/code/darcs-2.0.2-linux-i386-static.tar.gz `_ (32-bit; statically linked) - v2.0.2: `http://vandal.sdf-eu.org/darcs-2.0.2-linux-amd64-static.tar.gz `_ (64-bit; statically linked) 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 ~~~~~~~~~~ - Darcs is available for *Crux Linux*. Copy the file *yhafri.httpup* from `http://yhafri.club.fr/crux/yhafri.httpup `_ to your */etc/ports* directory. Afterward, type the following commands: # prt-get depinst httpup # ports -u # prt-get depinst ilenia # ilenia -U darcs enjoy! - More information at: `http://yhafri.club.fr/crux `_ (Younes Hafri) 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: - `http://fedoraproject.org/wiki/Extras/UsingExtras `_ - In Fedora Core 4 yum is already pre-configured to use Extras. - For Fedora Core 3 add the yum configuration from the above page. You can then do follow the previous 'yum install' (similar advice applies to *ghc*.) - For Fedora Core 2 or lower, see `http://haskell.org/fedora/. `_ 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 `here `_. 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. - `InstallPackage `_ `http://gobo.calica.com/packages/contrib/Darcs--1.0.2--i686.tar.bz2 `_ 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: `nanardon@mandriva.org `_. 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 SUSE Linux ~~~~~~~~~~ **Client** ( for SLES9, SLES10 , 9.3, 10, 10.1, Factory) - `http://repos.opensuse.org/devel:/tools:/scm/ `_ **Web Front-end** (only for 9.1) ***1.0.2*** - `http://abing.gotdns.com/darcs/SuSE-9.1/darcs-server-1.0.2-1.i586.rpm `_ ***1.0.1*** - `http://abing.gotdns.com/darcs/SuSE-9.1/darcs-server-1.0.1-3.i586.rpm `_ **Build it from source** ***1.0.2*** - `http://abing.gotdns.com/darcs/SuSE-9.1/darcs-1.0.2-1.src.rpm `_ ***1.0.1*** - `http://abing.gotdns.com/darcs/SuSE-9.1/darcs-1.0.1-3.src.rpm `_ **Alternate links thanks to `KetilMalde `_** ***1.0.2*** - `http://www.ii.uib.no/~ketil/darcs-stuff/SuSE-9.1/darcs-1.0.2-1.i586.rpm `_ - `http://www.ii.uib.no/~ketil/darcs-stuff/SuSE-9.1/darcs-server-1.0.2-1.i586.rpm `_ - `http://www.ii.uib.no/~ketil/darcs-stuff/SuSE-9.1/darcs-1.0.2-1.src.rpm `_ ***1.0.1*** - `http://www.ii.uib.no/~ketil/darcs-stuff/SuSE-9.1/darcs-1.0.1-3.i586.rpm `_ - `http://www.ii.uib.no/~ketil/darcs-stuff/SuSE-9.1/darcs-server-1.0.1-3.i586.rpm `_ - `http://www.ii.uib.no/~ketil/darcs-stuff/SuSE-9.1/darcs-1.0.1-3.src.rpm `_ Notes: - You may need to edit the spec file to point to your local ghc installation. - You may need additional dependencies when building aside from ghc. I didn't include them in the spec file, but off the top of my head you need ``libcurl-devel``, ``zlib-devel``, and ``ncurses-devel``. -- `NimrodAbing `_ 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: - v2.1.0: `http://teratorn.org/code/darcs-2.1.0-openbsd-i386.tar.gz `_ (32-bit; dynamically linked) - v2.1.0: `http://teratorn.org/code/darcs-2.1.0-openbsd-i386-static.tar.gz `_ (32-bit; statically linked) - v2.0.2: `http://teratorn.org/code/darcs-2.0.2-openbsd-i386.tar.gz `_ (32-bit; dynamically linked) - v2.0.2: `http://teratorn.org/code/darcs-2.0.2-openbsd-i386-static.tar.gz `_ (32-bit; statically linked) 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 ------- - 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+) - darcs-1.0.8 with dynamic and static binaries are available at `http://www.accela.net/~lucca/darcs-1.0.8-solaris9-sparc.tar.gz `_ (email lucca at accela dot net) (gcc 2.95, ghc 6.4.1, solaris9) - darcs-1.0.7 with dynamic and static binaries are available at `http://www.accela.net/~lucca/darcs-1.0.7-solaris9-sparc.tar.gz `_ (email lucca at accela dot net) (gcc 2.95, ghc 6.4.1, solaris9) - darcs-1.0.6 with dynamic and static binaries are available at `http://www.accela.net/~lucca/darcs-1.0.6-solaris9-sparc.tar.gz `_ (email lucca at accela dot net) (gcc 2.95, ghc 6.4.1, solaris9) - To get 1.0.6pre1 (jan 28, 2006, repository snapshot) built on a SunOS 5.8 box I had to manually disable term.h since for some reason ./configure --without-curses would result in a makefile that would fail on term.h. In configure.ac I replaced "AC\_CHECK\_HEADER(term.h" with "AC\_CHECK\_HEADER(term\_modified\_not\_to\_be\_found.h". Ugly but it works. If you have a place to host it I have a working 1.0.6pre1 binary built with gcc 3.4.4 GHC 6.4.1. Email lesner at gmail dot com. - `http://www.mdstud.chalmers.se/~md9ms/darcs/ `_ - experimental (and old version 0.9.17) - You may also build darcs from source on Solaris. I used GHC 6.2.1, GCC 2.95.2 and GNU make 3.80 successfully. You might want to try newer versions of GCC though. (GCC 3.2 seems to work.) - 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). - You may experience problems with some repositories unless you configure with --disable-optimize --disable-mmap. (This is building with GHC 6.2.1 and GCC 3.2.) - For Solaris 10 (SunOS 5.10) on i86pc/i386 architecture: `http://www.informatik.uni-bremen.de/~hiben/darcs\_binary/darcs-1.0.9-i86pc-SunOS.gz `_ - darcs2 (2.0.0 + 283 patchess) for Solaris 11 (SunOS 5.11) on x86 architecture: `http://www.mico.org/~karel/darcs-2.0.0-p283-x86-SunOS.tar.bz2 `_ 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/ `_ **Note:** since Zooko does not have CA signed certificate you will need to accept the security exception in your browser. How to do it depends on your browser software.