wiki:Repositories

Version 82 (modified by thomie, 5 years ago) (diff)

mention Github

GHC Repositories

This page lists the active repositories relating to GHC. These are Git repositories, so you should learn about Git first. For instructions on actually getting a GHC source tree, see Getting The Sources. For information on using these repositories (via submodules), see the Submodules page.

Repository listing

The GHC source code tracks many related sub-repositories, which are needed for external dependencies during the build, or tools that are included in the build. Not every sub-repository is maintained by us; in fact, the large majority are not maintained by GHC HQ (roughly: if the repository is hosted on Github, it is maintained on Github, and patches and issues should go there).

As a result of this, in HEAD, essentially every single upstream repository we track is tracked with a git submodule. These submodules are mirrored for us, and we send patches we need to the upstream maintainer. Here are the submodules we use, and where their upstreams point:

Location in tree Upstream repo Upstream GHC branch Installed[1] Req'd to build[2]
utils/hsc2hs https://git.haskell.org/hsc2hs.git master Yes Yes
utils/haddock https://github.com/haskell/haddock ghc-head Yes No
nofib https://git.haskell.org/nofib.git master N/A N/A
libraries/array https://git.haskell.org/packages/array.git master Yes Yes
libraries/binary https://github.com/kolmodin/binary master Yes Yes
libraries/bytestring https://github.com/haskell/bytestring master Yes Yes
libraries/Cabal https://github.com/haskell/Cabal master Yes Yes
libraries/containers https://github.com/haskell/containers master Yes Yes
libraries/deepseq https://git.haskell.org/packages/deepseq.git master No No
libraries/directory https://git.haskell.org/packages/directory.git master Yes Yes
libraries/filepath https://git.haskell.org/packages/filepath.git master Yes Yes
libraries/haskeline https://github.com/judah/haskeline master Yes Yes
libraries/haskell98 https://git.haskell.org/packages/haskell98.git master Yes Yes
libraries/haskell2010 https://git.haskell.org/packages/haskell2010.git master Yes Yes
libraries/hoopl https://git.haskell.org/packages/hoopl.git master Yes Yes
libraries/hpc https://git.haskell.org/packages/hpc.git master Yes Yes
libraries/old-locale https://git.haskell.org/packages/old-locale.git master Yes Yes
libraries/old-time https://git.haskell.org/packages/old-time.git master Yes Yes
libraries/process https://git.haskell.org/packages/process.git master Yes Yes
libraries/terminfo https://github.com/judah/terminfo master Yes Yes
libraries/time https://github.com/haskell/time master Yes Yes
libraries/unix https://github.com/haskell/unix master Yes Yes
libraries/Win32 https://git.haskell.org/packages/Win32.git master Yes Yes
libraries/xhtml https://github.com/haskell/xhtml master Yes Yes
libraries/random https://github.com/haskell/random master No No
libraries/primitive https://github.com/haskell/primitive master No No
libraries/vector https://github.com/haskell/vector master No No
libraries/dph https://git.haskell.org/packages/dph.git master No No
libraries/parallel https://git.haskell.org/packages/parallel.git master No No
libraries/stm https://git.haskell.org/packages/stm.git master No No
  • [1] These libraries are not installed in the resulting compiler when you do make install
  • [2] These libraries are not required to build the compiler, but may be used for tests or other libraries. Right now, most of these are based on whether you build DPH. At the moment, DPH is turned off. To build these libraries, set BUILD_DPH=YES in mk/build.mk. You can skip haddock by setting HADDOCK_DOCS=NO in mk/build.mk. TODO Explain how to skip deepseq, since it seems to only be used for tests.