cabal/README.md at master · haskell/cabal (original) (raw)
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
Hooks
build type (license) - Cabal-syntax: the
.cabal
file format library (license) - cabal-install: the package containing the
cabal
tool (license) - cabal-install-solver: the package containing the solver component of the
cabal
tool (license)
The canonical upstream repository is located athttps://github.com/haskell/cabal.
Ways to get the cabal-install
binary
- GHCup (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 thecabal
executable.
Preview Releases
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 thebuild-alpine
workflow for statically linked Linux builds.
Ways to build cabal-install
for everyday use
- With 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.)
2. 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.
Learn how to use cabal
and get support
cabal
comes with a thorough User Manual. If you are new to cabal
and want to quickly learn the basics, checkGetting Started With Haskell and Cabal.
Got questions? Ask in Haskell Matrix(online chat) or Haskell Discourse.
Build for hacking and contributing to cabal
Refer to CONTRIBUTING.md.