Official upstream development repository for Cabal and cabal-install
1,746
stars
15,130
commits
Haskell
primary language
Sep 11, 2026
updated
This Cabal Git repository contains the following main packages:
Hooks build type (license).cabal file format library (license)cabal tool (license)cabal tool (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.
cabal-install binaryGHCup (preferred): get GHCup using the directions on its website and run:
ghcup install --set cabal latest
Download from official website:
the cabal-install binary download for your platform should contain the cabal executable.
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 master branch: 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 head
Replace "Linux" with "Windows" or "macOS" as appropriate.
The default Linux build is dynamically linked against zlib, gmp and glibc.
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.project file
if your build fails because of an out-of-date Cabal library:
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 Validate workflow page on GitHub, at the very bottom of the page,
or from the build-alpine workflow for statically linked Linux builds.
cabal-install for everyday useWith cabal-install:
if you have a pre-existing version of cabal-install, run:
cabal install cabal-install
to get the latest version of cabal-install. (You may want to cabal update first.)
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 the bootstrap directory.
cabal and get supportcabal 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.
Our GHC support window is three years (reference)
for both the Cabal library and cabal-install. That is:
cabal-install should be buildable with bootstrap/bootstrap.py
script, for any GHC released in the past three years from cabal-install
release date.cabal-install should be able to drive the most recent minor version of
any GHCs major version released in the past three years from cabal-install
release date.
In this context, "drive" means cabal-install will work with the Cabal
library (usually but not always the one that came with the ghc version)
used to build the package.Self-upgrade to the latest version (i.e. cabal install cabal-install)
must work with all versions of cabal-install released during the last
three years.
Cabal maintainers try to support GHC versions older than three years on a minimal-effort basis.
Refer to CONTRIBUTING.md.
Refer to MAINTAINERS.md.
(top 30 of 397)
Haskell
98.2%
Official upstream development repository for Cabal and cabal-install
1,746
stars
15,130
commits
Haskell
primary language
Sep 11, 2026
updated
This Cabal Git repository contains the following main packages:
Hooks build type (license).cabal file format library (license)cabal tool (license)cabal tool (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.
cabal-install binaryGHCup (preferred): get GHCup using the directions on its website and run:
ghcup install --set cabal latest
Download from official website:
the cabal-install binary download for your platform should contain the cabal executable.
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 master branch: 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 head
Replace "Linux" with "Windows" or "macOS" as appropriate.
The default Linux build is dynamically linked against zlib, gmp and glibc.
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.project file
if your build fails because of an out-of-date Cabal library:
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 Validate workflow page on GitHub, at the very bottom of the page,
or from the build-alpine workflow for statically linked Linux builds.
cabal-install for everyday useWith cabal-install:
if you have a pre-existing version of cabal-install, run:
cabal install cabal-install
to get the latest version of cabal-install. (You may want to cabal update first.)
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 the bootstrap directory.
cabal and get supportcabal 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.
Our GHC support window is three years (reference)
for both the Cabal library and cabal-install. That is:
cabal-install should be buildable with bootstrap/bootstrap.py
script, for any GHC released in the past three years from cabal-install
release date.cabal-install should be able to drive the most recent minor version of
any GHCs major version released in the past three years from cabal-install
release date.
In this context, "drive" means cabal-install will work with the Cabal
library (usually but not always the one that came with the ghc version)
used to build the package.Self-upgrade to the latest version (i.e. cabal install cabal-install)
must work with all versions of cabal-install released during the last
three years.
Cabal maintainers try to support GHC versions older than three years on a minimal-effort basis.
Refer to CONTRIBUTING.md.
Refer to MAINTAINERS.md.
(top 30 of 397)
Haskell
98.2%