descriptionCommon Architecture for Building Applications and Libraries
homepage URLhttps://www.haskell.org/cabal/
repository URLhttps://github.com/haskell/cabal.git
ownerfgaz@fgaz.me
last changeFri, 26 Apr 2024 16:21:58 +0000 (26 16:21 +0000)
last refreshSat, 27 Apr 2024 12:20:58 +0000 (27 14:20 +0200)
content tags
add:
README.md

Cabal

Hackage version Stackage version Documentation Status IRC chat Matrix chat GitLab pipeline status

This Cabal Git repository contains the following main packages:

The canonical upstream repository is located at https://github.com/haskell/cabal.

Ways to get the cabal-install binary

  1. GHCup (preferred): get GHCup using the directions on its website and run:

    ghcup install --set cabal latest
    
  2. Download from official website: the cabal-install binary download for your platform should contain the cabal 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.

  1. 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
    
  2. Even more cutting-edge binaries built from pull requests are always available from the Validate worklow page on GitHub, at the very bottom of the page, or from the build-alpine workflow for statically linked Linux builds.

Ways to build cabal-install for everyday use

  1. 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.project.release cabal-install
    
  3. 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, check Getting 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.

shortlog
20 hours ago mergify[bot]Merge pull request #9931 from cabalism/doc/cabal-path... master
39 hours ago ffaf1Add release notes for Cabal 3.12 (#9920)
2 days ago mergify[bot]Merge pull request #9935 from ffaf1/fix-readmecabal-head
2 days ago Francesco AriisFix changelog/readme
2 days ago Phil de JouxUse alice as username in cabal path examples
2 days ago mergify[bot]Merge pull request #9928 from ffaf1/update-cabal-support
3 days ago Francesco AriisSupport GHC 9.12
3 days ago mergify[bot]Merge pull request #9897 from sheaf/wip/bump-cabal...
3 days ago sheafBump project version from 3.11 to 3.13
5 days ago mergify[bot]Merge pull request #9915 from geekosaur/zlib-upstream
5 days ago brandon s allbery... update zlib.cabal location
5 days ago mergify[bot]Merge pull request #9905 from haskell/fix8141
7 days ago Mike PilgremMerge branch 'master' into fix8141
8 days ago Mikolaj KonarskiMerge pull request #9505 from mpickering/wip/refactor...
8 days ago Matthew Pickeringtestsuite: Refactor withShorterPathForNewBuildStore
8 days ago mergify[bot]Merge pull request #9896 from geekosaur/cve-2024-3651
...
tags
25 hours ago 3.12.0+0
28 hours ago Cabal-syntax-v3.12.0.0 First Cabal-syntax 3.12 release
28 hours ago Cabal-v3.12.0.0 First Cabal 3.12 release
2 days ago cabal-head
5 weeks ago cabal-install-solver-v3.10.3.0 cabal-install-solver-v3.10.3.0
5 weeks ago cabal-install-v3.10.3.0 cabal-install-v3.10.3.0
5 weeks ago Cabal-syntax-v3.10.3.0 Cabal-syntax-v3.10.3.0
5 weeks ago Cabal-v3.10.3.0 Cabal-v3.10.3.0
5 months ago cabal-install-solver-v3.10.2.1 cabal-install-solver-v3.10.2.1
5 months ago cabal-install-v3.10.2.1 cabal-install-v3.10.2.1
6 months ago cabal-install-solver-v3.10.2.0 cabal-install-solver-v3.10.2.0
6 months ago cabal-install-v3.10.2.0 cabal-install-v3.10.2.0
6 months ago Cabal-v3.10.2.1 Cabal-v3.10.2.1
6 months ago Cabal-syntax-v3.10.2.0 Cabal-syntax-v3.10.2.0
6 months ago Cabal-v3.10.2.0 Cabal-v3.10.2.0
9 months ago test-tag-of-gitlab-ci-2
...
heads
20 hours ago master
25 hours ago 3.12
3 days ago wip/succeed-on-nothing-copy
3 days ago mergify/bp/3.12/pr-9851
8 days ago mergify/bp/3.12/pr-9896
11 days ago mergify/bp/3.12/pr-9705
13 days ago noughtmare-patch-1
2 weeks ago configure-messages
2 weeks ago coot/haddock-project-sublibs
4 weeks ago 3.10
7 weeks ago mergify/bp/master/pr-9785
2 months ago andrea/pkgconfig-cache
2 months ago fix9694
2 months ago dependabot/github_actions/actions/cache-4
2 months ago wip/suffixes
3 months ago wip/cabal-install-hooks
...