wiki:Repositories

Version 74 (modified by thoughtpolice, 5 years ago) (diff)

--

GHC Repositories

This page lists the active repositories relating to GHC. 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. Below is a table summarizing the repositories GHC uses. It lists the upstream location of the repository, and the branch name. All the upstream repositories are either located on git.haskell.org or github.com as of right now.

  • Patches for git.haskell.org repositories should go to GHC developers. Developers can push to these repositories directly.
  • Patches for github.com repositories should be made into Pull Requests on GitHub. GHC developers have access to the repositories under the haskell organization in particular, and can push directly.
  • As of 14th August 2014, ghc-head is the branch to track for Haddock.

As stated above - GHC tracks the branch listed here for the specific repository. If you're going to base your change on a branch, always do it on this one, and make sure your change is on the specified branch. Then update the submodule.

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.

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
utils/hsc2hs https://git.haskell.org/hsc2hs.git master
utils/haddock https://github.com/haskell/haddock ghc-head
nofib https://git.haskell.org/nofib.git master
libraries/array https://git.haskell.org/packages/array.git master
libraries/binary https://github.com/haskell/binary master
libraries/bytestring https://github.com/haskell/bytestring master
libraries/Cabal https://github.com/haskell/Cabal master
libraries/containers https://github.com/haskell/containers master
libraries/deepseq https://git.haskell.org/packages/deepseq.git master
libraries/directory https://git.haskell.org/packages/directory.git master
libraries/filepath https://git.haskell.org/packages/filepath.git master
libraries/haskeline https://github.com/judah/haskeline master
libraries/haskell98 https://git.haskell.org/packages/haskell98.git master
libraries/haskell2010 https://git.haskell.org/packages/haskell2010.git master
libraries/hoopl https://git.haskell.org/packages/hoopl.git master
libraries/hpc https://git.haskell.org/packages/hpc.git master
libraries/old-locale https://git.haskell.org/packages/old-locale.git master
libraries/old-time https://git.haskell.org/packages/old-time.git master
libraries/process https://git.haskell.org/packages/process.git master
libraries/terminfo https://github.com/judah/terminfo master
libraries/time https://github.com/haskell/time master
libraries/unix https://github.com/haskell/unix master
libraries/Win32 https://git.haskell.org/packages/Win32.git master
libraries/xhtml https://github.com/haskell/xhtml master
libraries/random https://github.com/haskell/random master
libraries/primitive https://github.com/haskell/primitive master
libraries/vector https://github.com/haskell/vector master
libraries/dph https://git.haskell.org/packages/dph.git master
libraries/parallel https://git.haskell.org/packages/parallel.git master
libraries/stm https://git.haskell.org/packages/stm.git master