# Despite the name "package", this file contains the master list of
# the *repositories* that make up GHC. It is parsed by
# * boot
# * sync-all
# * rules/foreachLibrary.mk
#
# 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 is an optional helpers
#
# The format of the lines in this file is:
#   localpath  tag  remotepath  upstreamurl
# where
#   * 'localpath' is where to put the repository in a checked out tree.
#   * 'remotepath' is where the repository is in the central repository.
#     It is - for submodules.
#   * 'upstreamurl' is the upstream Git repo location for packages
#     maintained outside of GHC HQ.
#
#   * The 'tag' determines when "sync-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 "sync-all", e.g.
#     if you want to get the packages with an "extralibs"
#     tag then you need to use "sync-all --extra get".
#     Support for new tags must be manually added to the "sync-all" script.
#
#     'tag' is also used to determine which packages the build system
#     deems to have the EXTRA_PACKAGE property: tags 'dph' and 'extra'
#     both give this property
#
# Lines that start with a '#' are comments.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# localpath                  tag         remotepath                      upstreamurl
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ghc-tarballs                 windows     ghc-tarballs.git                -
libffi-tarballs              -           libffi-tarballs.git             -
utils/hsc2hs                 -           hsc2hs.git                      -
utils/haddock                -           haddock.git                     -
libraries/array              -           packages/array.git              -
libraries/base               -           packages/base.git               -
libraries/binary             -           -                               https://github.com/kolmodin/binary.git
libraries/bytestring         -           -                               https://github.com/haskell/bytestring.git
libraries/Cabal              -           -                               https://github.com/haskell/cabal.git
libraries/containers         -           -                               https://github.com/haskell/containers.git
libraries/deepseq            -           packages/deepseq.git            -
libraries/directory          -           packages/directory.git          -
libraries/filepath           -           packages/filepath.git           -
libraries/ghc-prim           -           packages/ghc-prim.git           -
libraries/haskeline          -           -                               https://github.com/judah/haskeline.git
libraries/haskell98          -           packages/haskell98.git          -
libraries/haskell2010        -           packages/haskell2010.git        -
libraries/hoopl              -           packages/hoopl.git              -
libraries/hpc                -           packages/hpc.git                -
libraries/integer-gmp        -           packages/integer-gmp.git        -
libraries/integer-simple     -           packages/integer-simple.git     -
libraries/old-locale         -           packages/old-locale.git         -
libraries/old-time           -           packages/old-time.git           -
libraries/pretty             -           -                               https://github.com/haskell/pretty.git
libraries/process            -           packages/process.git            -
libraries/template-haskell   -           packages/template-haskell.git   -
libraries/terminfo           -           -                               https://github.com/judah/terminfo.git
libraries/time               -           -                               http://git.haskell.org/darcs-mirrors/time.git
libraries/transformers       -           -                               http://git.haskell.org/darcs-mirrors/transformers.git
libraries/unix               -           packages/unix.git               -
libraries/Win32              -           -                               https://github.com/haskell/win32.git
libraries/xhtml              -           -                               https://github.com/haskell/xhtml.git
nofib                        nofib       nofib.git                       -
libraries/parallel           extra       packages/parallel.git           -
libraries/stm                extra       packages/stm.git                -
libraries/random             dph         -                               https://github.com/haskell/random.git
libraries/primitive          dph         -                               https://github.com/haskell/primitive.git
libraries/vector             dph         -                               https://github.com/haskell/vector.git
libraries/dph                dph         packages/dph.git                -
.                            -           ghc.git                         -
