Checking and uploading packages
Packages must be in the form produced by Cabal's sdist command: a gzipped tar file package-version.tar.gz comprising a directory package-version containing a package of that name and version, including package.cabal.
Notes
- Categories are determined by whatever you put in the Category field (there's no agreed list of category names yet). You can have more than one category, separated by commas.
- Documentation for library packages will be generated by a batch run, though not immediately after your upload. You don't have to do anything special to make it happen.
- We have moved to Haddock 2, and expect some glitches. If you notice anything broken, please report it on the Haddock bug tracker.
Checking a Cabal package
Re-uploading a package with the same version number is not permitted, so you might want to do some checking before uploading:
- You could check that your source bundle builds,
including the haddock documentation if it's a library.
Some things to watch out for:
- In GHC 6.8, several modules were split from the base package into other packages. See these notes on making packages work with a range of versions of GHC.
- While Haddock 2 accepts GHC features, it is also more picky about comment syntax than the old version.
- The following form checks that a package is uploadable, warns about sundry other matters, and presents a preview of the web page for the package. It does not add the package to the database.
Upload a Cabal package to HackageDB
This form does the uploading. When you submit it, you'll be prompted for your HackageDB username and password. (Alternatively, there's a command-line interface, which also needs the same username and password.)