Cabal: A framework for packaging Haskell software
The Haskell Common Architecture for Building Applications and Libraries: a framework defining a common interface for authors to more easily build their Haskell applications in a portable way. . The Haskell Cabal is part of a larger infrastructure for distributing, organizing, and cataloging Haskell libraries and tools.
[Skip to Readme]
Modules
[Index] [Quick Jump]
- Distribution
- Distribution.Backpack
- Distribution.Backpack.ComponentsGraph
- Distribution.Backpack.Configure
- Distribution.Backpack.ConfiguredComponent
- Distribution.Backpack.DescribeUnitId
- Distribution.Backpack.FullUnitId
- Distribution.Backpack.LinkedComponent
- Distribution.Backpack.ModSubst
- Distribution.Backpack.ModuleShape
- Distribution.Backpack.PreModuleShape
- Distribution.CabalSpecVersion
- Compat
- Distribution.Compat.Binary
- Distribution.Compat.CharParsing
- Distribution.Compat.CreatePipe
- Distribution.Compat.DList
- Distribution.Compat.Directory
- Distribution.Compat.Environment
- Distribution.Compat.Exception
- Distribution.Compat.FilePath
- Distribution.Compat.Graph
- Internal
- Distribution.Compat.Internal.TempFile
- Distribution.Compat.Lens
- Distribution.Compat.MonadFail
- Distribution.Compat.Newtype
- Distribution.Compat.NonEmptySet
- Distribution.Compat.Parsing
- Distribution.Compat.Prelude
- Distribution.Compat.Process
- Distribution.Compat.ResponseFile
- Distribution.Compat.Semigroup
- Distribution.Compat.Stack
- Distribution.Compat.Time
- Distribution.Compiler
- Distribution.FieldGrammar
- Distribution.FieldGrammar.Class
- Distribution.FieldGrammar.FieldDescrs
- Distribution.FieldGrammar.Newtypes
- Distribution.FieldGrammar.Parsec
- Distribution.FieldGrammar.Pretty
- Distribution.Fields
- Distribution.Fields.ConfVar
- Distribution.Fields.Field
- Distribution.Fields.Lexer
- Distribution.Fields.LexerMonad
- Distribution.Fields.ParseResult
- Distribution.Fields.Parser
- Distribution.Fields.Pretty
- Distribution.InstalledPackageInfo
- Distribution.License
- Distribution.Make
- Distribution.ModuleName
- Distribution.Package
- Distribution.PackageDescription
- Distribution.PackageDescription.Check
- Distribution.PackageDescription.Configuration
- Distribution.PackageDescription.FieldGrammar
- Distribution.PackageDescription.Parsec
- Distribution.PackageDescription.PrettyPrint
- Distribution.PackageDescription.Quirks
- Distribution.PackageDescription.Utils
- Distribution.Parsec
- Distribution.Parsec.Error
- Distribution.Parsec.FieldLineStream
- Distribution.Parsec.Position
- Distribution.Parsec.Warning
- Distribution.Pretty
- Distribution.ReadE
- Distribution.SPDX
- Distribution.SPDX.License
- Distribution.SPDX.LicenseExceptionId
- Distribution.SPDX.LicenseExpression
- Distribution.SPDX.LicenseId
- Distribution.SPDX.LicenseListVersion
- Distribution.SPDX.LicenseReference
- Distribution.Simple
- Distribution.Simple.Bench
- Distribution.Simple.Build
- Distribution.Simple.BuildPaths
- Distribution.Simple.BuildTarget
- Distribution.Simple.BuildToolDepends
- Distribution.Simple.BuildWay
- Distribution.Simple.CCompiler
- Distribution.Simple.Command
- Distribution.Simple.Compiler
- Distribution.Simple.Configure
- Distribution.Simple.Errors
- FileMonitor
- Distribution.Simple.Flag
- Distribution.Simple.GHC
- Distribution.Simple.GHCJS
- Distribution.Simple.Glob
- Distribution.Simple.Haddock
- Distribution.Simple.Hpc
- Distribution.Simple.Install
- Distribution.Simple.InstallDirs
- Distribution.Simple.LocalBuildInfo
- Distribution.Simple.PackageDescription
- Distribution.Simple.PackageIndex
- Distribution.Simple.PreProcess
- Distribution.Simple.Program
- Distribution.Simple.Program.Ar
- Distribution.Simple.Program.Builtin
- Distribution.Simple.Program.Db
- Distribution.Simple.Program.Find
- Distribution.Simple.Program.GHC
- Distribution.Simple.Program.HcPkg
- Distribution.Simple.Program.Hpc
- Distribution.Simple.Program.Internal
- Distribution.Simple.Program.Ld
- Distribution.Simple.Program.ResponseFile
- Distribution.Simple.Program.Run
- Distribution.Simple.Program.Script
- Distribution.Simple.Program.Strip
- Distribution.Simple.Program.Types
- Distribution.Simple.Register
- Distribution.Simple.Setup
- SetupHooks
- Distribution.Simple.ShowBuildInfo
- Distribution.Simple.SrcDist
- Distribution.Simple.Test
- Distribution.Simple.UHC
- Distribution.Simple.UserHooks
- Distribution.Simple.Utils
- Distribution.System
- Distribution.TestSuite
- Distribution.Text
- Types
- Distribution.Types.AbiDependency
- Distribution.Types.AbiHash
- Distribution.Types.AnnotatedId
- Distribution.Types.Benchmark
- Distribution.Types.Benchmark.Lens
- Distribution.Types.BenchmarkInterface
- Distribution.Types.BenchmarkType
- Distribution.Types.BuildInfo
- Distribution.Types.BuildInfo.Lens
- Distribution.Types.BuildType
- Distribution.Types.Component
- Distribution.Types.ComponentId
- Distribution.Types.ComponentInclude
- Distribution.Types.ComponentLocalBuildInfo
- Distribution.Types.ComponentName
- Distribution.Types.ComponentRequestedSpec
- Distribution.Types.CondTree
- Distribution.Types.Condition
- Distribution.Types.ConfVar
- Distribution.Types.Dependency
- Distribution.Types.DependencyMap
- Distribution.Types.DependencySatisfaction
- Distribution.Types.DumpBuildInfo
- Distribution.Types.ExeDependency
- Distribution.Types.Executable
- Distribution.Types.Executable.Lens
- Distribution.Types.ExecutableScope
- Distribution.Types.ExposedModule
- Distribution.Types.Flag
- Distribution.Types.ForeignLib
- Distribution.Types.ForeignLib.Lens
- Distribution.Types.ForeignLibOption
- Distribution.Types.ForeignLibType
- Distribution.Types.GenericPackageDescription
- Distribution.Types.GenericPackageDescription.Lens
- Distribution.Types.GivenComponent
- Distribution.Types.HookedBuildInfo
- Distribution.Types.IncludeRenaming
- Distribution.Types.InstalledPackageInfo
- Distribution.Types.InstalledPackageInfo.FieldGrammar
- Distribution.Types.InstalledPackageInfo.Lens
- Distribution.Types.LegacyExeDependency
- Distribution.Types.Lens
- Distribution.Types.Library
- Distribution.Types.Library.Lens
- Distribution.Types.LibraryName
- Distribution.Types.LibraryVisibility
- Distribution.Types.LocalBuildConfig
- Distribution.Types.LocalBuildInfo
- Distribution.Types.MissingDependency
- Distribution.Types.MissingDependencyReason
- Distribution.Types.Mixin
- Distribution.Types.Module
- Distribution.Types.ModuleReexport
- Distribution.Types.ModuleRenaming
- Distribution.Types.MungedPackageId
- Distribution.Types.MungedPackageName
- Distribution.Types.PackageDescription
- Distribution.Types.PackageDescription.Lens
- Distribution.Types.PackageId
- Distribution.Types.PackageId.Lens
- Distribution.Types.PackageName
- Distribution.Types.PackageVersionConstraint
- Distribution.Types.ParStrat
- Distribution.Types.PkgconfigDependency
- Distribution.Types.PkgconfigName
- Distribution.Types.PkgconfigVersion
- Distribution.Types.PkgconfigVersionRange
- Distribution.Types.SetupBuildInfo
- Distribution.Types.SetupBuildInfo.Lens
- Distribution.Types.SourceRepo
- Distribution.Types.SourceRepo.Lens
- Distribution.Types.TargetInfo
- Distribution.Types.TestSuite
- Distribution.Types.TestSuite.Lens
- Distribution.Types.TestSuiteInterface
- Distribution.Types.TestType
- Distribution.Types.UnitId
- Distribution.Types.UnqualComponentName
- Distribution.Types.Version
- Distribution.Types.VersionInterval
- Distribution.Types.VersionInterval.Legacy
- Distribution.Types.VersionRange
- Distribution.Types.VersionRange.Internal
- Utils
- Distribution.Utils.Base62
- Distribution.Utils.Generic
- Distribution.Utils.IOData
- Distribution.Utils.Json
- Distribution.Utils.LogProgress
- Distribution.Utils.MD5
- Distribution.Utils.MapAccum
- Distribution.Utils.NubList
- Distribution.Utils.Path
- Distribution.Utils.Progress
- Distribution.Utils.ShortText
- Distribution.Utils.String
- Distribution.Utils.Structured
- Distribution.Verbosity
- Distribution.Version
- Distribution.Backpack
- Language
- Haskell
- Language.Haskell.Extension
- Haskell
Flags
Manual Flags
| Name | Description | Default |
|---|---|---|
| git-rev | include Git revision hash in version | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- Cabal-3.16.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
| Versions [RSS] | 1.1.6, 1.2.1, 1.2.2.0, 1.2.3.0, 1.2.4.0, 1.4.0.0, 1.4.0.1, 1.4.0.2, 1.6.0.1, 1.6.0.2, 1.6.0.3, 1.8.0.2, 1.8.0.4, 1.8.0.6, 1.10.0.0, 1.10.1.0, 1.10.2.0, 1.12.0, 1.14.0, 1.16.0, 1.16.0.1, 1.16.0.2, 1.16.0.3, 1.18.0, 1.18.1, 1.18.1.1, 1.18.1.2, 1.18.1.3, 1.18.1.4, 1.18.1.5, 1.18.1.6, 1.18.1.7, 1.20.0.0, 1.20.0.1, 1.20.0.2, 1.20.0.3, 1.20.0.4, 1.22.0.0, 1.22.1.0, 1.22.1.1, 1.22.2.0, 1.22.3.0, 1.22.4.0, 1.22.5.0, 1.22.6.0, 1.22.7.0, 1.22.8.0, 1.24.0.0, 1.24.1.0, 1.24.2.0, 2.0.0.2, 2.0.1.0, 2.0.1.1, 2.2.0.0, 2.2.0.1, 2.4.0.0, 2.4.0.1, 2.4.1.0, 3.0.0.0, 3.0.1.0, 3.0.2.0, 3.2.0.0, 3.2.1.0, 3.4.0.0, 3.4.1.0, 3.6.0.0, 3.6.1.0, 3.6.2.0, 3.6.3.0, 3.8.1.0, 3.10.1.0, 3.10.2.0, 3.10.2.1, 3.10.3.0, 3.12.0.0, 3.12.1.0, 3.14.0.0, 3.14.1.0, 3.14.1.1, 3.14.2.0, 3.16.0.0 (info) |
|---|---|
| Change log | ChangeLog.md |
| Dependencies | array (>=0.4.0.1 && <0.6), base (>=4.13 && <5), bytestring (>=0.10.0.0 && <0.13), Cabal-syntax (>=3.16 && <3.17), containers (>=0.5.0.0 && <0.9), deepseq (>=1.3.0.1 && <1.7), directory (>=1.2 && <1.4), filepath (>=1.3.0.1 && <1.6), mtl (>=2.1 && <2.4), parsec (>=3.1.13.0 && <3.2), pretty (>=1.1.1 && <1.2), process (>=1.2.1.0 && <1.7), time (>=1.4.0.1 && <1.15), transformers (>=0.3 && <0.4 || >=0.4.1.0 && <0.7), unix (>=2.8.6.0 && <2.9), Win32 (>=2.3.0.0 && <2.15) [details] |
| License | BSD-3-Clause |
| Copyright | 2003-2025, Cabal Development Team (see AUTHORS file) |
| Author | Cabal Development Team <cabal-devel@haskell.org> |
| Maintainer | cabal-devel@haskell.org |
| Category | Distribution |
| Home page | http://www.haskell.org/cabal/ |
| Bug tracker | https://github.com/haskell/cabal/issues |
| Source repo | head: git clone https://github.com/haskell/cabal/(Cabal) |
| Uploaded | by ArtemPelenitsyn at 2025年07月23日T18:35:19Z |
| Distributions | Arch:3.10.3.0, Fedora:3.10.3.0 |
| Reverse Dependencies | 264 direct, 4204 indirect [details] |
| Downloads | 378209 total (130 in the last 30 days) |
| Rating | 2.75 (votes: 15) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs available [build log] Last success reported on 2025年07月23日 [all 1 reports] |
Readme for Cabal-3.16.0.0
[back to package description]The Cabal library package
See the Cabal web site for more information.
If you also want the cabal command-line program, you need the
cabal-install package in addition to this library.
More information
Please see the Cabal web site, the user guide and the API documentation. There is additional information available on the development wiki.
Bugs
Please report bugs and feature requests to Cabal's bug tracker.
Your help
To help Cabal's development, it is enormously helpful to know from Cabal's users what their most pressing problems are with Cabal and Hackage. You may have a favourite Cabal bug or limitation. Look at Cabal's bug tracker. Ensure that the problem is reported there and adequately described. Comment on the issue to report how much of a problem the bug is for you. Subscribe to the issue's notifications to discuss requirements and keep informed on progress. For feature requests, it is helpful if there is a description of how you would expect to interact with the new feature.
Source code
You can get the master development branch using:
$ git clone https://github.com/haskell/cabal.git
Credits
See the AUTHORS file.
Authors of the original Cabal specification:
- Isaac Jones
- Simon Marlow
- Ross Patterson
- Simon Peyton Jones
- Malcolm Wallace