Difference between revisions of "Cabal"

From HaskellWiki
Jump to navigation Jump to search
(→‎Summary: Linked to cabal-install)
m (Updated links)
(2 intermediate revisions by 2 users not shown)
Line 9: Line 9:
   
 
== Information for package users ==
 
== Information for package users ==
  +
  +
*[https://cabal.readthedocs.io/en/latest/index.html Cabal User Guide]
 
*[http://dev.stephendiehl.com/hask/#cabal An introduction to cabal-install]
 
*[http://dev.stephendiehl.com/hask/#cabal An introduction to cabal-install]
 
*[[Cabal/Survival | A short and transient survival guide for Cabal users]]
 
*[[Cabal/Survival | A short and transient survival guide for Cabal users]]
Line 18: Line 20:
 
*[http://hackage.haskell.org/ Hackage] - the Haskell community's public repository of cabal packages
 
*[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]
* 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: [https://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"]
 
* 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
 
* [https://github.com/exFalso/sandfix sandfix], a utility for moving Cabal sandboxes to another location
  +
* Other [https://hackage.haskell.org/packages/search?terms=cabal cabal related packages on hackage]
   
 
== 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]
+
*[https://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]]
 
*[[Cabal/How to install a Cabal package remotely | How to install a Cabal package remotely]]
Line 32: Line 35:
 
*[[Creating Debian packages from Cabal package]]
 
*[[Creating Debian packages from Cabal package]]
 
*[http://neilmitchell.blogspot.com/2008/02/adding-data-files-using-cabal.html Adding data files using Cabal]
 
*[http://neilmitchell.blogspot.com/2008/02/adding-data-files-using-cabal.html Adding data files using Cabal]
*[http://www.moonloop.net/haskell/docs/cbs-custom.html Cabal Setup file examples]
+
*[https://web.archive.org/web/20161108012154/www.moonloop.net/haskell/docs/cbs-custom.html Cabal Setup file examples]
 
*[[Cabal-make]] - automation based on makefiles
 
*[[Cabal-make]] - automation based on makefiles
 
*[http://blog.ezyang.com/2010/06/setting-up-cabal-the-ffi-and-c2hs/ Setting up Cabal, the FFI and c2hs]
 
*[http://blog.ezyang.com/2010/06/setting-up-cabal-the-ffi-and-c2hs/ Setting up Cabal, the FFI and c2hs]

Revision as of 11:20, 30 May 2018

The Haskell Cabal:

The Common Architecture for Building Applications and Libraries

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

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

Information for package developers