github.com/haskell/cabal ↗
Official upstream development repository for Cabal and cabal-install
Open this visualization on its own page →
Contributors
404
Lines of Code
36,252
From
2004-04-26
To
2021-02-15
About haskell/cabal
Cabal is the official build system and package manager for the Haskell programming language. The project is organized as a monorepo containing several key packages: the core Cabal library that provides build system functionality, Cabal-syntax for parsing and handling `.cabal` configuration files, Cabal-hooks for managing custom build hooks, cabal-install which is the command-line tool that end users interact with, and cabal-install-solver which handles dependency resolution.
The cabal-install tool allows Haskell developers to build projects, manage dependencies, and publish packages to Hackage, the central Haskell package repository. It integrates with the GHC Haskell compiler and can be obtained through multiple channels including GHCup (the recommended method), direct binary downloads, or built from source. The project provides both stable releases and preview builds from the development branch for users who want to test unreleased features.
The project operates with a lightweight proposal-driven development process where significant changes go through discussion and consensus-building with the core developer team. Cabal maintains backward compatibility by supporting GHC versions from the past five years, and self-upgrades through the tool itself are supported for versions released in the past three years. Comprehensive documentation is available through the official user manual and getting started guides.