5 Synopsis: The command-line interface for Cabal and Hackage.
7 The \'cabal\' command-line program simplifies the process of managing
8 Haskell software by automating the fetching, configuration, compilation
9 and installation of Haskell libraries and programs.
10 homepage: http://www.haskell.org/cabal/
11 bug-reports: https://github.com/haskell/cabal/issues
14 Author: Cabal Development Team (see AUTHORS file)
15 Maintainer: Cabal Development Team <cabal-devel@haskell.org>
16 Copyright: 2003-2023, Cabal Development Team
17 Category: Distribution
24 source-repository head
26 location: https://github.com/haskell/cabal/
31 Enable use of the [resolv](https://hackage.haskell.org/package/resolv)
32 & [windns](https://hackage.haskell.org/package/windns) packages for performing DNS lookups
37 description: Use @lukko@ for file-locking
42 ghc-options: -Wall -Wcompat -Wnoncanonical-monad-instances -Wincomplete-uni-patterns -Wincomplete-record-updates
44 ghc-options: -Wnoncanonical-monadfail-instances
46 ghc-options: -Wunused-packages
49 build-depends: base >=4.10 && <4.18
52 build-depends: Cabal ^>=3.10
54 common cabal-syntax-dep
55 build-depends: Cabal-syntax ^>=3.10
57 common cabal-install-solver-dep
58 build-depends: cabal-install-solver ^>=3.10
61 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
62 default-language: Haskell2010
63 default-extensions: TypeOperators
67 -- this modules are moved from Cabal
68 -- they are needed for as long until cabal-install moves to parsec parser
69 Distribution.Deprecated.ParseUtils
70 Distribution.Deprecated.ReadP
71 Distribution.Deprecated.ViewAsFieldDescr
73 Distribution.Client.BuildReports.Anonymous
74 Distribution.Client.BuildReports.Lens
75 Distribution.Client.BuildReports.Storage
76 Distribution.Client.BuildReports.Types
77 Distribution.Client.BuildReports.Upload
78 Distribution.Client.Check
79 Distribution.Client.CmdBench
80 Distribution.Client.CmdBuild
81 Distribution.Client.CmdClean
82 Distribution.Client.CmdConfigure
83 Distribution.Client.CmdErrorMessages
84 Distribution.Client.CmdExec
85 Distribution.Client.CmdFreeze
86 Distribution.Client.CmdHaddock
87 Distribution.Client.CmdHaddockProject
88 Distribution.Client.CmdInstall
89 Distribution.Client.CmdInstall.ClientInstallFlags
90 Distribution.Client.CmdInstall.ClientInstallTargetSelector
91 Distribution.Client.CmdLegacy
92 Distribution.Client.CmdListBin
93 Distribution.Client.CmdOutdated
94 Distribution.Client.CmdRepl
95 Distribution.Client.CmdRun
96 Distribution.Client.CmdSdist
97 Distribution.Client.CmdTest
98 Distribution.Client.CmdUpdate
99 Distribution.Client.Compat.Directory
100 Distribution.Client.Compat.ExecutablePath
101 Distribution.Client.Compat.Orphans
102 Distribution.Client.Compat.Prelude
103 Distribution.Client.Compat.Semaphore
104 Distribution.Client.Config
105 Distribution.Client.Configure
106 Distribution.Client.Dependency
107 Distribution.Client.Dependency.Types
108 Distribution.Client.DistDirLayout
109 Distribution.Client.Fetch
110 Distribution.Client.FetchUtils
111 Distribution.Client.FileMonitor
112 Distribution.Client.Freeze
113 Distribution.Client.GZipUtils
114 Distribution.Client.GenBounds
115 Distribution.Client.Get
116 Distribution.Client.Glob
117 Distribution.Client.GlobalFlags
118 Distribution.Client.Haddock
119 Distribution.Client.HashValue
120 Distribution.Client.HttpUtils
121 Distribution.Client.IndexUtils
122 Distribution.Client.IndexUtils.ActiveRepos
123 Distribution.Client.IndexUtils.IndexState
124 Distribution.Client.IndexUtils.Timestamp
125 Distribution.Client.Init
126 Distribution.Client.Init.Defaults
127 Distribution.Client.Init.FileCreators
128 Distribution.Client.Init.FlagExtractors
129 Distribution.Client.Init.Format
130 Distribution.Client.Init.Interactive.Command
131 Distribution.Client.Init.NonInteractive.Command
132 Distribution.Client.Init.NonInteractive.Heuristics
133 Distribution.Client.Init.Licenses
134 Distribution.Client.Init.Prompt
135 Distribution.Client.Init.Simple
136 Distribution.Client.Init.Types
137 Distribution.Client.Init.Utils
138 Distribution.Client.Install
139 Distribution.Client.InstallPlan
140 Distribution.Client.InstallSymlink
141 Distribution.Client.JobControl
142 Distribution.Client.List
143 Distribution.Client.Manpage
144 Distribution.Client.ManpageFlags
145 Distribution.Client.Nix
146 Distribution.Client.NixStyleOptions
147 Distribution.Client.PackageHash
148 Distribution.Client.ParseUtils
149 Distribution.Client.ProjectBuilding
150 Distribution.Client.ProjectBuilding.Types
151 Distribution.Client.ProjectConfig
152 Distribution.Client.ProjectConfig.Legacy
153 Distribution.Client.ProjectConfig.Types
154 Distribution.Client.ProjectFlags
155 Distribution.Client.ProjectOrchestration
156 Distribution.Client.ProjectPlanOutput
157 Distribution.Client.ProjectPlanning
158 Distribution.Client.ProjectPlanning.Types
159 Distribution.Client.RebuildMonad
160 Distribution.Client.Reconfigure
161 Distribution.Client.Run
162 Distribution.Client.Sandbox
163 Distribution.Client.Sandbox.PackageEnvironment
164 Distribution.Client.SavedFlags
165 Distribution.Client.ScriptUtils
166 Distribution.Client.Security.DNS
167 Distribution.Client.Security.HTTP
168 Distribution.Client.Setup
169 Distribution.Client.SetupWrapper
170 Distribution.Client.Signal
171 Distribution.Client.SolverInstallPlan
172 Distribution.Client.SourceFiles
173 Distribution.Client.SrcDist
174 Distribution.Client.Store
175 Distribution.Client.Tar
176 Distribution.Client.TargetProblem
177 Distribution.Client.TargetSelector
178 Distribution.Client.Targets
179 Distribution.Client.Types
180 Distribution.Client.Types.AllowNewer
181 Distribution.Client.Types.BuildResults
182 Distribution.Client.Types.ConfiguredId
183 Distribution.Client.Types.ConfiguredPackage
184 Distribution.Client.Types.Credentials
185 Distribution.Client.Types.InstallMethod
186 Distribution.Client.Types.OverwritePolicy
187 Distribution.Client.Types.PackageLocation
188 Distribution.Client.Types.PackageSpecifier
189 Distribution.Client.Types.ReadyPackage
190 Distribution.Client.Types.Repo
191 Distribution.Client.Types.RepoName
192 Distribution.Client.Types.SourcePackageDb
193 Distribution.Client.Types.SourceRepo
194 Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy
195 Distribution.Client.Upload
196 Distribution.Client.Utils
197 Distribution.Client.Utils.Json
198 Distribution.Client.Utils.Parsec
199 Distribution.Client.VCS
200 Distribution.Client.Version
201 Distribution.Client.Win32SelfUpgrade
204 async >= 2.0 && < 2.3,
205 array >= 0.4 && < 0.6,
206 base16-bytestring >= 0.1.1 && < 1.1.0.0,
207 binary >= 0.7.3 && < 0.9,
208 bytestring >= 0.10.6.0 && < 0.12,
209 containers >= 0.5.6.2 && < 0.7,
210 cryptohash-sha256 >= 0.11 && < 0.12,
211 directory >= 1.3.7.0 && < 1.4,
212 echo >= 0.1.3 && < 0.2,
213 edit-distance >= 0.2.2 && < 0.3,
214 exceptions >= 0.10.4 && < 0.11,
215 filepath >= 1.4.0.0 && < 1.5,
216 hashable >= 1.0 && < 1.5,
217 HTTP >= 4000.1.5 && < 4000.5,
219 network-uri >= 2.6.0.2 && < 2.7,
220 pretty >= 1.1 && < 1.2,
221 process >= 1.2.3.0 && < 1.7,
222 random >= 1.2 && < 1.3,
224 tar >= 0.5.0.3 && < 0.6,
225 time >= 1.5.0.1 && < 1.13,
226 zlib >= 0.5.3 && < 0.7,
227 hackage-security >= 0.6.2.0 && < 0.7,
228 text >= 1.2.3 && < 1.3 || >= 2.0 && < 2.1,
229 parsec >= 3.1.13.0 && < 3.2,
230 regex-base >= 0.94.0.0 && <0.95,
231 regex-posix >= 0.96.0.0 && <0.97,
232 safe-exceptions >= 0.1.7.0 && < 0.2
236 build-depends: windns >= 0.1.0 && < 0.2
238 build-depends: resolv >= 0.1.1 && < 0.2
241 -- newer directory for symlinks
242 build-depends: Win32 >= 2.8 && < 3, directory >=1.3.1.0
244 build-depends: unix >= 2.5 && < 2.9
247 build-depends: lukko >= 0.1 && <0.2
249 -- pull in process version with fixed waitForProcess error
251 build-depends: process >= 1.6.15.0
255 import: warnings, base-dep, cabal-dep, cabal-syntax-dep
258 default-language: Haskell2010
260 ghc-options: -rtsopts -threaded
262 -- On AIX, some legacy BSD operations such as flock(2) are provided by libbsd.a
271 -- Small, fast running tests.
273 test-suite unit-tests
274 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
275 default-language: Haskell2010
276 default-extensions: TypeOperators
277 ghc-options: -rtsopts -threaded
279 type: exitcode-stdio-1.0
280 main-is: UnitTests.hs
281 hs-source-dirs: tests
283 UnitTests.Distribution.Client.ArbitraryInstances
284 UnitTests.Distribution.Client.BuildReport
285 UnitTests.Distribution.Client.Configure
286 UnitTests.Distribution.Client.FetchUtils
287 UnitTests.Distribution.Client.Get
288 UnitTests.Distribution.Client.Glob
289 UnitTests.Distribution.Client.GZipUtils
290 UnitTests.Distribution.Client.IndexUtils
291 UnitTests.Distribution.Client.IndexUtils.Timestamp
292 UnitTests.Distribution.Client.Init
293 UnitTests.Distribution.Client.Init.Golden
294 UnitTests.Distribution.Client.Init.Interactive
295 UnitTests.Distribution.Client.Init.NonInteractive
296 UnitTests.Distribution.Client.Init.Simple
297 UnitTests.Distribution.Client.Init.Utils
298 UnitTests.Distribution.Client.Init.FileCreators
299 UnitTests.Distribution.Client.InstallPlan
300 UnitTests.Distribution.Client.JobControl
301 UnitTests.Distribution.Client.ProjectConfig
302 UnitTests.Distribution.Client.ProjectPlanning
303 UnitTests.Distribution.Client.Store
304 UnitTests.Distribution.Client.Tar
305 UnitTests.Distribution.Client.Targets
306 UnitTests.Distribution.Client.TreeDiffInstances
307 UnitTests.Distribution.Client.UserConfig
308 UnitTests.Distribution.Solver.Modular.Builder
309 UnitTests.Distribution.Solver.Modular.RetryLog
310 UnitTests.Distribution.Solver.Modular.Solver
311 UnitTests.Distribution.Solver.Modular.DSL
312 UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
313 UnitTests.Distribution.Solver.Modular.WeightedPSQ
314 UnitTests.Distribution.Solver.Types.OptionalStanza
316 UnitTests.TempTestDir
328 network-uri >= 2.6.2.0 && <2.7,
333 tasty >= 1.2.3 && <1.5,
334 tasty-golden >=2.3.1.1 && <2.4,
338 QuickCheck >= 2.14 && <2.15
341 -- Tests to run with a limited stack and heap size
342 -- The test suite name must be keep short cause a longer one
343 -- could make the build generating paths which exceeds the windows
344 -- max path limit (still a problem for some ghc versions)
345 test-suite mem-use-tests
346 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
347 type: exitcode-stdio-1.0
348 main-is: MemoryUsageTests.hs
349 hs-source-dirs: tests
350 default-language: Haskell2010
352 ghc-options: -threaded -rtsopts "-with-rtsopts=-M16M -K1K"
355 UnitTests.Distribution.Solver.Modular.DSL
356 UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
357 UnitTests.Distribution.Solver.Modular.MemoryUsage
363 tasty >= 1.2.3 && <1.5,
367 -- Integration tests that use the cabal-install code directly
368 -- but still build whole projects
369 test-suite integration-tests2
370 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
371 ghc-options: -rtsopts -threaded
372 type: exitcode-stdio-1.0
373 main-is: IntegrationTests2.hs
374 hs-source-dirs: tests
375 default-language: Haskell2010
383 tasty >= 1.2.3 && <1.5,
387 test-suite long-tests
388 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
389 ghc-options: -rtsopts -threaded
390 type: exitcode-stdio-1.0
391 hs-source-dirs: tests
392 main-is: LongTests.hs
393 default-language: Haskell2010
396 UnitTests.Distribution.Client.ArbitraryInstances
397 UnitTests.Distribution.Client.Described
398 UnitTests.Distribution.Client.DescribedInstances
399 UnitTests.Distribution.Client.FileMonitor
400 UnitTests.Distribution.Client.VCS
401 UnitTests.Distribution.Solver.Modular.DSL
402 UnitTests.Distribution.Solver.Modular.QuickCheck
403 UnitTests.Distribution.Solver.Modular.QuickCheck.Utils
405 UnitTests.TempTestDir
416 network-uri >= 2.6.2.0 && <2.7,
419 tasty >= 1.2.3 && <1.5,
420 tasty-expected-failure,
423 QuickCheck >= 2.14 && <2.15,
424 pretty-show >= 1.6.15