Difference between revisions of "Cabal"

From HaskellWiki
Jump to navigation Jump to search
(move links to tools to the categories users and developers, added cabal-sort)
(Remove the most egregiously outdated links (several less outdated links remain))
 
(23 intermediate revisions by 6 users not shown)
Line 3: Line 3:
   
 
http://www.haskell.org/cabal/
 
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 users ==
  +
*[[Cabal/How to install a Cabal package | How to install a Cabal package]]
 
  +
*[https://cabal.readthedocs.io/en/latest/index.html Cabal User Guide]
  +
*[http://dev.stephendiehl.com/hask/#cabal An introduction to cabal-install]
 
*[[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] - assistence 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
  +
* 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]]
  +
*[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]]
 
 
*[[Upgrading packages]]
 
*[[Upgrading packages]]
 
*[[Package versioning policy]]
 
*[[Package versioning policy]]
*[[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]
  +
*[http://blog.ezyang.com/2010/06/setting-up-cabal-the-ffi-and-c2hs/ Setting up Cabal, the FFI and c2hs]
*[[Cabal-make]] - automation based on makefiles
 
   
 
[[Category:Tools]]
 
[[Category:Tools]]
  +
[[Category:Cabal]]

Latest revision as of 12:34, 2 October 2020

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