Darcs 2.3.0

I’d like to announce immediate availability of a new stable release of darcs, 2.3.0. There is a number of improvements and bugfixes over the previous stable release, 2.2. Moreover, work has been done to improve performance of “darcs whatsnew” for large repositories.

As in the past, there are two source tarballs available. As of this release, the cabal-based build is preferred, and the autoconf build is deprecated. You can obtain the source tarballs at these addresses:

The build instructions are available in the enclosed README file in those tarballs.

Moreover, if you have cabal-install available, you can install latest stable release of darcs by issuing the following commands (no tarballs needed):

    $ cabal update  
    $ cabal install darcs

This should give you a darcs binary in ~/.cabal/bin — you should probably add this to your PATH. More detailed instructions for installing on Windows are available near the end of this announcement.

What’s New

This is a summary of important changes since the last stable release (2.2):

A number of issues has been resolved since 2.2 as well. See http://bugs.darcs.net/issueN for details on bug number N.

The question of GHC 6.8

Using GHC 6.10.3 or newer is strongly recommended. You may 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). 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.

Overall, the status of GHC 6.8 is “semi-supported”: for many cases, things will work just fine, especially if you take a little extra caution with compilation flags.

Installing on Windows

To install darcs on Windows systems from scratch, please download the Haskell Platform and MSYS:

After installing both, you should have an “MSYS” icon: run MSYS and in the terminal window type (the $ character denotes the prompt, do not repeat it):

$ cabal update  
$ cabal install darcs -f-curl

This should download, compile and install all required dependencies and also darcs itself. The resulting darcs executable will be placed into the Haskell Platform executables folder, and should be accessible from the MSYS shell (just type “darcs —version” to check).