- # darcs access to nhc98 This page tells you how to get darcs access to the latest, most current, nhc98 sources. Note that we only store non-regenerable files in version control, so if you don't already have a working Haskell compiler, you won't be able to build from C sources using our repository. ### Viewing the darcs repository on the web If you don't want to download the sources, you can view the current contents of the repository on the web here. ### Remote read-only access Read-only access is available to anyone - there's no need to ask us first. To get read-only access to our repository: Obviously, you need to have the darcs command installed. `darcs get --partial http://darcs.haskell.org/nhc98` If you want the complete history, omit the `--partial` flag, but be warned that the history is large, it will take a long time to download, and may have errors on case-insensitive file systems (e.g. Windows and MacOS X). The checked-out source tree will appear in a directory called `nhc98`. You can rename this directory to whatever you like, darcs won't mind. Change to that directory, and run the shell script `sh start`. This will prepare the repository for use, by making various scripts executable, downloading extra library packages, and so on. From then on, you can keep up with new changes in the central repo by using `darcs-all pull`. You can even do your own development in a detached fashion, using `darcs record` on your own local repository. With read-only darcs access you can do anything except commit changes back to the central repository. To submit patches to us, `darcs record` them locally, then `darcs send`. ### Prerequisites to build nhc98 from darcs You will need the shell bash together with a standard unix command-line toolset, a C compiler such as gcc, and either an existing installation of nhc98, or ghc with the filepath package. ### Using the checked-out tree The first thing to do after checking out a fresh tree is `sh start`, followed by `./configure`, and setting whatever options you wish to use. It is always safe to re-run the `./configure` script at any time - it will never leave your configuration in an inconsistent state. The machine/OS combination is always detected first so you can't re-use the wrong machine configuration by mistake, and although previous options for a particular machine are cached, they are always reported, and can be always overridden on the command line. Then, do a `make` with whatever targets you are interested in: `make help` will give you a list of the common ones. For instance, `make basic` gives you the standard compiler, and `make all` gives you profiling and tracing variants in addition. ### Tracking changes in the central repository The log messages of all accepted darcs patches are sent to the mailing list `cvs-nhc98@haskell.org`. If you wish to see who is making changes, why, and and what they say about them, please do join this list - see `http://haskell.org/mailman/listinfo` for further details. ### Core developers - write-access to the repository Core developers of Haskell have write-access to the central darcs repository. All you need is an account on the machine `darcs.haskell.org`. You need to have ssh (secure shell) installed. The first time you commit a patch back to the repo, you will need to specify where it is located:
      darcs push darcs.haskell.org:/home/darcs/nhc98
Thereafter, just use `darcs push` to commit patches. All the other instructions are the same. ### Gaining write-access To obtain write-access to darcs.haskell.org, you need to ask the haskell.org maintainers - Simon Marlow <simonmar@haskell.org> or Isaac Jones <ijones@galois.com> - for an account. The latest updates to these pages are available on the WWW from `http://www.haskell.org/nhc98/` This page last modified: 9 Jul 2010 York Functional Programming Group