cabal init -i should sanitize suggested package name (fix #8404) (#8561)
[cabal.git] / README.md
blob353419e013a6efbf0af7f98c1790ce577e2b196e
1 # Cabal
3 [![Hackage version](https://img.shields.io/hackage/v/Cabal.svg?label=Hackage)](https://hackage.haskell.org/package/Cabal)
4 [![Stackage version](https://www.stackage.org/package/Cabal/badge/lts?label=Stackage)](https://www.stackage.org/package/Cabal)
5 [![Documentation Status](http://readthedocs.org/projects/cabal/badge/?version=latest)](http://cabal.readthedocs.io/en/latest/?badge=latest)
6 [![IRC chat](https://img.shields.io/badge/chat-via%20libera-brightgreen.svg)](https://web.libera.chat/#hackage)
7 [![Matrix chat](https://img.shields.io/badge/chat-via%20matrix-brightgreen.svg)](https://matrix.to/#/#hackage:libera.chat)
9 <img src="https://www.haskell.org/cabal/images/Cabal-light.png" align="right">
11 This Cabal Git repository contains the following main packages:
13  * [Cabal](Cabal/README.md): the Cabal library package ([license](Cabal/LICENSE))
14  * [Cabal-syntax](Cabal-syntax/README.md): the `.cabal` file format library ([license](Cabal-syntax/LICENSE))
15  * [cabal-install](cabal-install/README.md): the package containing the `cabal` tool ([license](cabal-install/LICENSE))
16  * [cabal-install-solver](cabal-install-solver): the package containing the solver component of the `cabal` tool ([license](cabal-install-solver/LICENSE))
18 The canonical upstream repository is located at
19 https://github.com/haskell/cabal.
21 Ways to get the `cabal-install` binary
22 --------------------------------
24 1. _GHCup (**preferred**)_: get GHCup using [the directions on its website](https://www.haskell.org/ghcup/) and run:
26     ```
27     ghcup install --set cabal latest
28     ```
30 2. _[Download from official website](https://www.haskell.org/cabal/download.html)_:
31     the `cabal-install` binary download for your platform should contain the `cabal` executable.
33 Ways to build `cabal-install` for everyday use
34 --------------------------------------------
36 1. _With cabal-install_:
37     if you have a pre-existing version of `cabal-install`, run:
39     ```
40     cabal install cabal-install
41     ```
43     to get the latest version of `cabal-install`. (You may want to `cabal update` first.)
45 2. _From Git_:
46     again with a pre-existing version of `cabal-install`,
47     you can install the latest version from the Git repository. Clone the
48     Git repository, move to its root, and run:
50     ```
51     cabal install --project-file=cabal.project.release cabal-install
52     ```
54 3. _Bootstrapping_:
55     if you don't have a pre-existing version of `cabal-install`,
56     look into the [`bootstrap`](bootstrap) directory.
58 Build for hacking and contributing to cabal
59 -------------------------------------------
61 Refer to [CONTRIBUTING.md](CONTRIBUTING.md).