Personal tools

Cabal

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
m (Information for package users: Added link to the Cabal User Guide)
m (Updated links)
 
Line 20: 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"]
Line 28: Line 28:
 
== 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 35: 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]

Latest revision as of 11:20, 30 May 2018

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