| 76 | | |
| 77 | | == Getting more packages == |
| 78 | | |
| 79 | | The above will grab the "core" set of packages and the testsuite. This is the minimal set of packages required to bootstrap GHC. If you want to get a more comprehensive set of packages and include them in your GHC build, then you can say: |
| 80 | | |
| 81 | | {{{ |
| 82 | | $ ./darcs-all --extra get |
| 83 | | }}} |
| 84 | | |
| 85 | | This isn't usually necessary: extra packages can be compiled and installed separately using Cabal, after you have built and installed GHC itself with its core packages. The "core" and "extra" packages are listed in DarcsRepositories. |
| 86 | | |
| 87 | | If you want only one of the extra libraries, you can also use darcs to manually add it to the tree. |
| 88 | | Suppose you have downloaded a GHC source tree as advised above. |
| 89 | | Look up the directory name (i.e. the package name) of the library which you want to add. |
| 90 | | Descend into {{{libraries}}} and issue a {{{darcs get <repo>}}} (where {{{<repo>}}} is the repository of the package you want to get, ending in the package {{{<name>}}}). |
| 91 | | A later {{{./darcs-all pull }}} now pulls updates not only for ghc and the core libraries, but also for any library you have added in this way. |
| 92 | | {{{ |
| 93 | | $ cd libraries |
| 94 | | $ darcs get http://darcs.haskell.org/packages/<name> |
| 95 | | $ cd .. |
| 96 | | }}} |
| 97 | | |
| 98 | | Optionally, you might want to grab the testsuite (if you have not already got it) and `nofib` benchmark suite too, which also become sub-directories of ghc: |
| 99 | | |
| 100 | | {{{ |
| 101 | | $ ./darcs-all --testsuite get |
| 102 | | $ ./darcs-all --nofib get |
| 103 | | }}} |
| 104 | | |
| 105 | | The full list of darcs repositories relating to GHC is at DarcsRepositories. |