Version 5 (modified by ross@…, 6 years ago)

update package list link

The Hackage Database

HackageDB is a pool of Cabal packages, like  CPAN,  the Caml Humps or  CEAN, except for Haskell.

Web interfaces

The package collection can be presented in various ways. So far we have fairly simple interfaces:

  1.  simple package browser. The source code is available via
  2.  basic web interface to the Hackage database. It presents a simple listing of packages, and has forms for checking and uploading packages. The source code is available via

For future enhancement plans, see HackageToDo.

Structure

A package collection is a directory with a simple structure:

  • 00-index.tar.gz
  • log
  • pkg/
    • pkgid.cabal
    • pkgid.tar.gz
  • ...

where 00-index.tar.gz tars up all the pkg/pkgid.cabal files.

The collection may contain several versions of a particular package.

For example, see the  package collection underlying the above interface.

Suggestion: replace the index with a concatenation of the .cabal files with some separator (say @), and having both gzipped and uncompressed versions.

Old stuff

Client-side cabal-put? was an early prototype of an upload tool, but is currently defunct.

There is also a Perl script cabal-put on darcs.haskell.org, now superceded by the web interface.