wiki:GhcDarcs

Version 6 (modified by simonmar, 10 years ago) (diff)

--

Gettig a GHC source tree

The first thing to do is install darcs.

A source tree consists of the GHC repository, with a set of packages in the libraries directory. We supply a script to automate the checking out of packages, darcs-all. Checking out a tree goes like this:

  $ darcs get --partial http://darcs.haskell.org/ghc
  $ cd ghc
  $ chmod +x ./darcs-all
  $ ./darcs-all get

NOTE: you really want --partial when grabbing GHC. There are some 13000 patches in the repository, which take a long time to download without --partial. The darcs-all script automatically adds --partial for the packages.

Optionally, you might want to grab the testsuite and benchmark suite too, which should also be sub-directories of ghc:

  $ darcs get --partial http://darcs.haskell.org/testsuite
  $ darcs get --partial http://darcs.haskell.org/nofib

List of repositories

These darcs repositories are related to GHC:

http://darcs.haskell.org/ghcThe main GHC repository
http://darcs.haskell.org/testsuiteThe test suite
http://darcs.haskell.org/nofibThe benchmark suite

And the following repositories contain packages that are used to populate the libraries directory of a darcs checkout:

http://darcs.haskell.org/packages/Cabal
http://darcs.haskell.org/packages/ALUT
http://darcs.haskell.org/packages/GLUT
http://darcs.haskell.org/packages/HGL
http://darcs.haskell.org/packages/HUnit
http://darcs.haskell.org/packages/HaXml
http://darcs.haskell.org/packages/Japi
http://darcs.haskell.org/packages/ObjectIO
http://darcs.haskell.org/packages/OpenAL
http://darcs.haskell.org/packages/OpenGL
http://darcs.haskell.org/packages/QuickCheck
http://darcs.haskell.org/packages/Win32
http://darcs.haskell.org/packages/X11
http://darcs.haskell.org/packages/arrows
http://darcs.haskell.org/packages/base
http://darcs.haskell.org/packages/fgl
http://darcs.haskell.org/packages/haskell-src
http://darcs.haskell.org/packages/haskell98
http://darcs.haskell.org/packages/monads
http://darcs.haskell.org/packages/mtl
http://darcs.haskell.org/packages/network
http://darcs.haskell.org/packages/parsec
http://darcs.haskell.org/packages/readline
http://darcs.haskell.org/packages/stm
http://darcs.haskell.org/packages/template-haskell
http://darcs.haskell.org/packages/unix

There are no branches currently; we will use CVS for the 6.4 branch until its end of life, and use darcs for future branches.

Pulling new patches

To update your tree from the master repositories, the quickest way is to use the darcs-all script:

  $ ./darcs-all pull -a

Submitting patches

To submit patches to the developers, please use darcs send.