Cabal
Revision as of 21:00, 9 December 2012 by Henk-Jan van Tuyl (talk | contribs) (→Information for package users: Added a link to the cab documentation)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
The Haskell Cabal:
- The Common Architecture for Building Applications and Libraries
Summary
- Cabal is a package and build system. Cabal is only involved in the creation of packages and the building of their contents. It does not manage packages.
- Cabal-Install installs cabal packages. It is distinct from Cabal (the build system). This often confuses new users. Furthermore, Cabal-Install is not a fully featured package manager. For example, it cannot install non cabal packaged dependencies, it cannot uninstall packages, nor can it automatically upgrade installations.
Information for package users
- How to install a Cabal package
- FAQ: Frequently Asked Questions
- Cabal-Install - tool that greatly simplifies installation of Cabal packages
- Cabal-Sort - assistance with compilation of multiple cabal packages
- CabalFind - finding Cabal packages on the web (now superseded by Hackage)
- Storage and Identification of Cabalized Packages
- cabal-dev, a tool for managing development builds of Haskell projects. It supports maintaining sandboxed cabal-install repositories, and sandboxed ghc package databases. See PSA: Use cabal-dev to solve dependency problems for an extensive description.
- Blog article: Repeat after me: “Cabal is not a Package Manager”
- cab, a maintenance command of Haskell cabal packages
Information for package developers
- How to write a Haskell program
- FAQ: Frequently Asked Questions of package authors
- Upgrading packages
- Package versioning policy
- Creating Debian packages from Cabal package
- Adding data files using Cabal
- Cabal Setup file examples
- Cabal-make - automation based on makefiles
- Setting up Cabal, the FFI and c2hs