Test Trac #10423
[ghc.git] / packages
index d02ddb1..33137d6 100644 (file)
--- a/packages
+++ b/packages
@@ -1,44 +1,80 @@
-# 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
+# * 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
-utils/hsc2hs                            hsc2hs
-libraries/array                         packages/array
-libraries/base                          packages/base
-libraries/bytestring                    packages/bytestring
-libraries/Cabal                         packages/Cabal
-libraries/containers                    packages/containers
-libraries/directory                     packages/directory
-libraries/editline                      packages/editline
-libraries/filepath                      packages/filepath
-libraries/ghc-prim                      packages/ghc-prim
-libraries/haskell98                     packages/haskell98
-libraries/hpc                           packages/hpc
-libraries/integer-gmp                   packages/integer-gmp
-libraries/old-locale                    packages/old-locale
-libraries/old-time                      packages/old-time
-libraries/packedstring                  packages/packedstring
-libraries/pretty                        packages/pretty
-libraries/process                       packages/process
-libraries/random                        packages/random
-libraries/template-haskell              packages/template-haskell
-libraries/unix                          packages/unix
-libraries/Win32                         packages/Win32
-libraries/HUnit             extralibs   packages/HUnit
-libraries/QuickCheck        extralibs   packages/QuickCheck
-libraries/cgi               extralibs   packages/cgi
-libraries/haskell-src       extralibs   packages/haskell-src
-libraries/html              extralibs   packages/html
-libraries/mtl               extralibs   packages/mtl
-libraries/network           extralibs   packages/network
-libraries/parsec            extralibs   packages/parsec
-libraries/parallel          extralibs   packages/parallel
-libraries/regex-base        extralibs   packages/regex-base
-libraries/regex-compat      extralibs   packages/regex-compat
-libraries/regex-posix       extralibs   packages/regex-posix
-libraries/stm               extralibs   packages/stm
-libraries/time              extralibs   packages/time
-libraries/xhtml             extralibs   packages/xhtml
-libraries/dph               dph         packages/dph
-testsuite                   testsuite   testsuite
-nofib                       nofib       nofib
-
+#
+# 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. Repositories which are hosted on
+#     GitHub and GHC developers are granted push-rights for are denoted by
+#     being specified with the `ssh://` scheme. Thus, `https://`
+#     repo urls denote read-only access.
+#
+#   * 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              -           -                               -
+utils/hsc2hs                 -           -                               -
+utils/haddock                -           -                               ssh://git@github.com/haskell/haddock.git
+libraries/array              -           -                               -
+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            -           -                               ssh://git@github.com/haskell/deepseq.git
+libraries/directory          -           -                               ssh://git@github.com/haskell/directory.git
+libraries/filepath           -           -                               ssh://git@github.com/haskell/filepath.git
+libraries/haskeline          -           -                               https://github.com/judah/haskeline.git
+libraries/hoopl              -           -                               -
+libraries/hpc                -           -                               -
+libraries/pretty             -           -                               https://github.com/haskell/pretty.git
+libraries/process            -           -                               ssh://git@github.com/haskell/process.git
+libraries/terminfo           -           -                               https://github.com/judah/terminfo.git
+libraries/time               -           -                               https://github.com/haskell/time.git
+libraries/transformers       -           -                               http://git.haskell.org/darcs-mirrors/transformers.git
+libraries/unix               -           -                               ssh://git@github.com/haskell/unix.git
+libraries/Win32              -           -                               https://github.com/haskell/win32.git
+libraries/xhtml              -           -                               https://github.com/haskell/xhtml.git
+nofib                        nofib       -                               -
+libraries/parallel           extra       -                               ssh://git@github.com/haskell/parallel.git
+libraries/stm                extra       -                               -
+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         -                               -
+.                            -           ghc.git                         -