== cabal upload =

cabal upload is a command for uploading Cabal packages to HackageDB.

It is part of the cabal-install command line tool.

Usage

cabal upload [OPTION ...] [TARFILE ...]

  -c           --check              Don't upload, just check.
  -u USERNAME  --username=USERNAME  Hackage username.
  -p PASSWORD  --password=PASSWORD  Hackage password.

Here USERNAME and PASSWORD are your credentials for the  Hackage web interface.

You can store your Hackage login in ~/.cabal/config (probably C:/Documents And Settings/user/Application Data/cabal/config on Windows) using the format:

hackage-username: foo
hackage-password: bar

Availability

cabal upload is now part of cabal-install (since version 0.4.1) so you will want to install that. Currently it requires the latest development version of the Cabal library and cabal-install program.

An older standalone program cabal-upload is available from  HackageDB.

TODO

  • Change the web interface to output error messages as plain text instead of HTML when the request has Accept: text/plain.
  • Use digest authentication? Does the hackage web server support that?
  • Run cabal sdist and upload the resulting tarball.
  • Improve HTTP package API to make programs like cabal upload simpler.
  •  virgin mobile