-# Note that when adding libraries to this file, you also need to add
+# Despite the name "package", this file contains the master list of
+# the *repositories* that make up GHC. It is parsed by boot and darcs-all.
+#
+# Some of this information is duplicated elsewhere in the build system:
+# See Trac #3896
+# In particular when adding libraries to this file, you also need to add
# the library to the SUBDIRS variable in libraries/Makefile so that they
# actually get built
#
+# The repos are of several kinds:
+# - The main GHC source repo
+# - Each boot package lives in a repo
+# - DPH is a repo that contains several packages
+# - Haddock and hsc2hs are applications, built on top of GHC,
+# and in turn needed to bootstrap GHC
+# - ghc-tarballs is need to build GHC
+# - nofib and testsuite are optional helpers
+#
# The format of the lines in this file is:
-# localpath (optional) tag remotepath VCS
+# localpath tag remotepath VCS upstream
# where
-# * localpath is where to put the repository in a checked out tree,
-# * remotepath is where the repository is in the central repository,
-# * VCS is what version control system the repo uses,
-# * the tag, is present, determines when "darcs-all get" will get the
-# repo. If there is no tag then it will always get it, but if there
+# * 'localpath' is where to put the repository in a checked out tree.
+# * 'remotepath' is where the repository is in the central repository.
+# * 'VCS' is what version control system the repo uses.
+# * The 'tag' determines when "darcs-all get" will get the
+# repo. If the tag is "-" then it will always get it, but if there
# is a tag then a corresponding flag must be given to darcs-all, e.g.
# if you want to get the packages with an "extralibs" or "testsuite"
# tag then you need to use "darcs-all --extra --testsuite get".
# Support for new tags must be manually added to the darcs-all script.
+# * 'upstream' is the URL of the upstream repo, where there is one, or
+# "-" if there is no upstream.
#
# Lines that start with a '#' are comments.
-. ghc git
-utils/hsc2hs hsc2hs darcs
-utils/haddock haddock2 darcs
-libraries/array packages/array darcs
-libraries/base packages/base darcs
-libraries/base3-compat packages/base3-compat darcs
-libraries/bytestring packages/bytestring darcs
-libraries/Cabal packages/Cabal darcs
-libraries/containers packages/containers darcs
-libraries/directory packages/directory darcs
-libraries/dph packages/dph darcs
-libraries/extensible-exceptions packages/extensible-exceptions darcs
-libraries/filepath packages/filepath darcs
-libraries/ghc-prim packages/ghc-prim darcs
-libraries/haskeline packages/haskeline darcs
-libraries/haskell98 packages/haskell98 darcs
-libraries/hpc packages/hpc darcs
-libraries/integer packages/integer darcs
-libraries/integer-gmp packages/integer-gmp darcs
-libraries/integer-simple packages/integer-simple darcs
-libraries/mtl packages/mtl darcs
-libraries/old-locale packages/old-locale darcs
-libraries/old-time packages/old-time darcs
-libraries/pretty packages/pretty darcs
-libraries/process packages/process darcs
-libraries/random packages/random darcs
-libraries/syb packages/syb darcs
-libraries/template-haskell packages/template-haskell darcs
-libraries/terminfo packages/terminfo darcs
-libraries/unix packages/unix darcs
-libraries/utf8-string packages/utf8-string darcs
-libraries/Win32 packages/Win32 darcs
-testsuite testsuite testsuite darcs
-nofib nofib nofib darcs
+. - ghc git -
+ghc-tarballs - ghc-tarballs darcs -
+utils/hsc2hs - hsc2hs darcs -
+# haddock does have an upstream:
+# http://code.haskell.org/haddock/
+# but it stays buildable with the last stable release rather than tracking HEAD,
+# and is resynced with the GHC HEAD branch by David Waern when appropriate
+utils/haddock - haddock2 darcs -
+libraries/array - packages/array darcs -
+libraries/base - packages/base darcs -
+libraries/binary - packages/binary darcs http://code.haskell.org/binary/
+libraries/bytestring - packages/bytestring darcs http://darcs.haskell.org/bytestring/
+libraries/Cabal - packages/Cabal darcs http://darcs.haskell.org/cabal/
+libraries/containers - packages/containers darcs -
+libraries/directory - packages/directory darcs -
+libraries/dph - packages/dph darcs -
+libraries/extensible-exceptions - packages/extensible-exceptions darcs -
+libraries/filepath - packages/filepath darcs -
+libraries/ghc-prim - packages/ghc-prim darcs -
+libraries/haskeline - packages/haskeline darcs http://code.haskell.org/haskeline/
+libraries/haskell98 - packages/haskell98 darcs -
+libraries/haskell2010 - packages/haskell2010 darcs -
+libraries/hpc - packages/hpc darcs -
+libraries/integer-gmp - packages/integer-gmp darcs -
+libraries/integer-simple - packages/integer-simple darcs -
+libraries/mtl - packages/mtl darcs -
+libraries/old-locale - packages/old-locale darcs -
+libraries/old-time - packages/old-time darcs -
+libraries/pretty - packages/pretty darcs -
+libraries/process - packages/process darcs -
+libraries/random - packages/random darcs -
+libraries/template-haskell - packages/template-haskell darcs -
+libraries/terminfo - packages/terminfo darcs http://code.haskell.org/terminfo/
+libraries/unix - packages/unix darcs -
+libraries/utf8-string - packages/utf8-string darcs http://code.haskell.org/utf8-string/
+libraries/Win32 - packages/Win32 darcs -
+libraries/xhtml - packages/xhtml darcs -
+testsuite testsuite testsuite darcs -
+nofib nofib nofib darcs -
+libraries/deepseq extra packages/deepseq darcs -
+libraries/parallel extra packages/parallel darcs -
+libraries/stm extra packages/stm darcs -