Personal tools

Cabal

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
m (++category)
(Summary: Linked to cabal-install)
 
(11 intermediate revisions by 3 users not shown)
Line 6: Line 6:
 
== Summary ==
 
== 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 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.
+
* [[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 ==
 
== Information for package users ==
  +
*[http://dev.stephendiehl.com/hask/#cabal An introduction to cabal-install]
  +
*[[Cabal/Survival | A short and transient survival guide for Cabal users]]
 
*[[Cabal/How to install a Cabal package | How to install a Cabal package]]
 
*[[Cabal/How to install a Cabal package | How to install a Cabal package]]
  +
*[http://coldwa.st/e/blog/2013-08-20-Cabal-sandbox.html An Introduction to Cabal Sandboxes]
 
*[[Cabal/FAQ|FAQ: Frequently Asked Questions]]
 
*[[Cabal/FAQ|FAQ: Frequently Asked Questions]]
 
*[[Cabal-Install]] - tool that greatly simplifies installation of Cabal packages
 
*[[Cabal-Install]] - tool that greatly simplifies installation of Cabal packages
 
*[http://hackage.haskell.org/package/cabal-sort Cabal-Sort] - assistance with compilation of multiple cabal packages
 
*[http://hackage.haskell.org/package/cabal-sort Cabal-Sort] - assistance with compilation of multiple cabal packages
*[[CabalFind]] - finding Cabal packages on the web (now superseded by [http://hackage.haskell.org/ Hackage])
+
*[http://hackage.haskell.org/ Hackage] - the Haskell community's public repository of cabal packages
 
* [http://www.vex.net/~trebla/haskell/sicp.xhtml Storage and Identification of Cabalized Packages]
 
* [http://www.vex.net/~trebla/haskell/sicp.xhtml Storage and Identification of Cabalized Packages]
* [http://hackage.haskell.org/package/cabal-dev cabal-dev], a tool for managing development builds of Haskell projects. It supports maintaining sandboxed cabal-install repositories, and sandboxed ghc package databases. See [http://www.reddit.com/r/haskell/comments/f3ykj/psa_use_cabaldev_to_solve_dependency_problems/ PSA: Use cabal-dev to solve dependency problems] for an extensive description.
 
 
* Blog article: [http://ivanmiljenovic.wordpress.com/2010/03/15/repeat-after-me-cabal-is-not-a-package-manager/ Repeat after me: “Cabal is not a Package Manager”]
 
* Blog article: [http://ivanmiljenovic.wordpress.com/2010/03/15/repeat-after-me-cabal-is-not-a-package-manager/ Repeat after me: “Cabal is not a Package Manager”]
 
* [http://www.mew.org/~kazu/proj/cab/en/ cab], a maintenance command of Haskell cabal packages
 
* [http://www.mew.org/~kazu/proj/cab/en/ cab], a maintenance command of Haskell cabal packages
  +
* Blog article: [http://softwaresimply.blogspot.fr/2014/07/haskell-best-practices-for-avoiding.html Haskell Best Practices for Avoiding "Cabal Hell"]
  +
* [https://github.com/exFalso/sandfix sandfix], a utility for moving Cabal sandboxes to another location
   
 
== Information for package developers ==
 
== Information for package developers ==
 
*[[How to write a Haskell program]]
 
*[[How to write a Haskell program]]
  +
*[http://wewantarock.wordpress.com/2010/11/03/building-a-shared-library-in-cabal/ Building a shared library in Cabal]
 
*[[Cabal/Developer-FAQ|FAQ: Frequently Asked Questions of package authors]]
 
*[[Cabal/Developer-FAQ|FAQ: Frequently Asked Questions of package authors]]
  +
*[[Cabal/How to install a Cabal package remotely | How to install a Cabal package remotely]]
 
*[[Upgrading packages]]
 
*[[Upgrading packages]]
 
*[[Package versioning policy]]
 
*[[Package versioning policy]]

Latest revision as of 16:28, 16 October 2014

The Haskell Cabal:

The Common Architecture for Building Applications and Libraries

http://www.haskell.org/cabal/

[edit] 1 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.

[edit] 2 Information for package users

[edit] 3 Information for package developers