This Cabal Git repository contains the following main packages:
- Cabal: the Cabal library package (license)
- Cabal-hooks: the library providing an API for the Cabal Hooksbuild type (license)
- Cabal-syntax: the .cabalfile format library (license)
- cabal-install: the package containing the cabaltool (license)
- cabal-install-solver: the package containing the solver component of the cabaltool (license)
The canonical upstream repository is located at https://github.com/haskell/cabal.
The proposals process is the mechanism which developers can gain the necessary consensus to make larger changes to the Cabal ecosystem.
- It is light-weight, a PR is opened and discussed on cabal-proposals repo with a fixed discussion period.
- It is developer-led, final decisions are made by developers at the Cabal developers meeting.
- It is flexible, there is no formal voting procedure, decisions are made by rough consensus.
- 
GHCup (preferred): get GHCup using the directions on its website and run: ghcup install --set cabal latest
- 
Download from official website: the cabal-installbinary download for your platform should contain thecabalexecutable.
Getting unreleased versions of cabal-install: gives you a chance to try out yet-unreleased features.
Currently, we only provide binaries for x86_64 platforms.
- 
GitHub preview release built from the tip of the masterbranch: download from GitHub or use this GHCup command to install:ghcup install cabal -u https://github.com/haskell/cabal/releases/download/cabal-head/cabal-head-Linux-x86_64.tar.gz headReplace "Linux" with "Windows" or "macOS" as appropriate. The default Linux build is dynamically linked against zlib,gmpandglibc. You will need to have appropriate versions of these libraries installed to use it. Alternatively a statically linked "Linux-static" binary is also provided.You might need to add the following to your cabal.projectfile if your build fails because of an out-of-dateCaballibrary:allow-newer: *:Cabal, *:Cabal-syntax source-repository-package type: git location: https://github.com/haskell/cabal.git subdir: Cabal Cabal-syntax
- 
Even more cutting-edge binaries built from pull requests are always available from the Validateworkflow page on GitHub, at the very bottom of the page, or from thebuild-alpineworkflow for statically linked Linux builds.
- 
With cabal-install: if you have a pre-existing version of cabal-install, run:cabal install cabal-installto get the latest version of cabal-install. (You may want tocabal updatefirst.)
- 
From Git: again with a pre-existing version of cabal-install, you can install the latest version from the Git repository. Clone the Git repository, move to its root, and run:cabal install --project-file=cabal.release.project cabal-install
- 
Bootstrapping: if you don't have a pre-existing version of cabal-install, look into thebootstrapdirectory.
cabal comes with a thorough User Manual.
If you are new to cabal and want to quickly learn the basics, check
Getting Started With Haskell and Cabal.
Got questions? Ask in Haskell Matrix (online chat) or Haskell Discourse.
Refer to CONTRIBUTING.md.
