The Hackage Wiki and Bug Tracker
This wiki and bug tracker are for the Hackage and Cabal projects.
What is Hackage?
Hackage is a community development project consisting of a number of components related to packaging Haskell software:
- Cabal
- The library, and package description format for a single package. Cabal is the lowest-level tool for Haskell package management. It is included with most Haskell implementations, but is also released separately.
- HackageDB
- The database of Cabal packages (like CPAN for Haskell), with a web interface for browsing, checking and uploading packages.
- cabal-install
- The command-line interface for Cabal. It provides commands for installing cabal packages, including downloading packages from HackageDB and determining the dependencies among packages. It also provides commands for developers to configure, build, test and upload packages to HackageDB.
The bug tracker
The bug tracker has moved to Github. The trac-based bug tracker is preserved for reference, but should not be used.
Interested in hacking on cabal or cabal-install?
- SourceGuide - a quick guide to the Cabal source code
- CabalConfigurations - info on the configurations feature
- ExtendingCabal - lessons learned from implementing the new test interface
- Get the code - instructions (using darcs).
- Development mailing list - subscribe to this to get discuss cabal issues and get notification of patches and tickets.
- Easy Tickets - bugs or features that should not take too long or require much experience of the Cabal code.
- Current tickets - all the issues we would like to fix in at the next release.
Interested in working on the new hackage server?
- Hackage 2 - information about the new server implementation
- Development mailing list - subscribe to this to get discuss cabal issues and get notification of patches and tickets.
Other resources for developers
- Development discussion:
- PackageEnvironments - building collections of packages in well defined environments (like cabal-dev/-meta/-src etc)
- DependencyAnalysis - dependencies between files within a package
- DependencyResolution - dependencies between packages
- Cabal 2.0 - ideas for a new architecture
- UpgradingTests - how to upgrade old test suites to the new test interface
- StableInterfaces - what level of stability you can expect of various Cabal interfaces
- RubyGems - comparison to Ruby's standard packaging system
- SCons - comparison to the SCons build system
- Hackage theme song
- Help on using this wiki.
