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.19
52 build-depends: Cabal ^>=3.11
54 common cabal-syntax-dep
55 build-depends: Cabal-syntax ^>=3.11
57 common cabal-install-solver-dep
58 build-depends: cabal-install-solver ^>=3.11
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.Main
144 Distribution.Client.Manpage
145 Distribution.Client.ManpageFlags
146 Distribution.Client.Nix
147 Distribution.Client.NixStyleOptions
148 Distribution.Client.PackageHash
149 Distribution.Client.ParseUtils
150 Distribution.Client.ProjectBuilding
151 Distribution.Client.ProjectBuilding.Types
152 Distribution.Client.ProjectConfig
153 Distribution.Client.ProjectConfig.Legacy
154 Distribution.Client.ProjectConfig.Types
155 Distribution.Client.ProjectFlags
156 Distribution.Client.ProjectOrchestration
157 Distribution.Client.ProjectPlanOutput
158 Distribution.Client.ProjectPlanning
159 Distribution.Client.ProjectPlanning.Types
160 Distribution.Client.RebuildMonad
161 Distribution.Client.Reconfigure
162 Distribution.Client.Run
163 Distribution.Client.Sandbox
164 Distribution.Client.Sandbox.PackageEnvironment
165 Distribution.Client.SavedFlags
166 Distribution.Client.ScriptUtils
167 Distribution.Client.Security.DNS
168 Distribution.Client.Security.HTTP
169 Distribution.Client.Setup
170 Distribution.Client.SetupWrapper
171 Distribution.Client.Signal
172 Distribution.Client.SolverInstallPlan
173 Distribution.Client.SourceFiles
174 Distribution.Client.SrcDist
175 Distribution.Client.Store
176 Distribution.Client.Tar
177 Distribution.Client.TargetProblem
178 Distribution.Client.TargetSelector
179 Distribution.Client.Targets
180 Distribution.Client.Types
181 Distribution.Client.Types.AllowNewer
182 Distribution.Client.Types.BuildResults
183 Distribution.Client.Types.ConfiguredId
184 Distribution.Client.Types.ConfiguredPackage
185 Distribution.Client.Types.Credentials
186 Distribution.Client.Types.InstallMethod
187 Distribution.Client.Types.OverwritePolicy
188 Distribution.Client.Types.PackageLocation
189 Distribution.Client.Types.PackageSpecifier
190 Distribution.Client.Types.ReadyPackage
191 Distribution.Client.Types.Repo
192 Distribution.Client.Types.RepoName
193 Distribution.Client.Types.SourcePackageDb
194 Distribution.Client.Types.SourceRepo
195 Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy
196 Distribution.Client.Upload
197 Distribution.Client.Utils
198 Distribution.Client.Utils.Json
199 Distribution.Client.Utils.Parsec
200 Distribution.Client.VCS
201 Distribution.Client.Version
202 Distribution.Client.Win32SelfUpgrade
205 async >= 2.0 && < 2.3,
206 array >= 0.4 && < 0.6,
207 base16-bytestring >= 0.1.1 && < 1.1.0.0,
208 binary >= 0.7.3 && < 0.9,
209 bytestring >= 0.10.6.0 && < 0.12,
210 containers >= 0.5.6.2 && < 0.7,
211 cryptohash-sha256 >= 0.11 && < 0.12,
212 directory >= 1.3.7.0 && < 1.4,
213 echo >= 0.1.3 && < 0.2,
214 edit-distance >= 0.2.2 && < 0.3,
215 exceptions >= 0.10.4 && < 0.11,
216 filepath >= 1.4.0.0 && < 1.5,
217 hashable >= 1.0 && < 1.5,
218 HTTP >= 4000.1.5 && < 4000.5,
220 network-uri >= 2.6.0.2 && < 2.7,
221 pretty >= 1.1 && < 1.2,
222 process >= 1.2.3.0 && < 1.7,
223 random >= 1.2 && < 1.3,
225 tar >= 0.5.0.3 && < 0.6,
226 time >= 1.5.0.1 && < 1.13,
227 zlib >= 0.5.3 && < 0.7,
228 hackage-security >= 0.6.2.0 && < 0.7,
229 text >= 1.2.3 && < 1.3 || >= 2.0 && < 2.1,
230 parsec >= 3.1.13.0 && < 3.2,
231 regex-base >= 0.94.0.0 && <0.95,
232 regex-posix >= 0.96.0.0 && <0.97,
233 safe-exceptions >= 0.1.7.0 && < 0.2
237 build-depends: windns >= 0.1.0 && < 0.2
239 build-depends: resolv >= 0.1.1 && < 0.2
242 -- newer directory for symlinks
243 build-depends: Win32 >= 2.8 && < 3, directory >=1.3.1.0
245 build-depends: unix >= 2.5 && < 2.9
248 build-depends: lukko >= 0.1 && <0.2
250 -- pull in process version with fixed waitForProcess error
252 build-depends: process >= 1.6.15.0
256 import: warnings, base-dep
259 default-language: Haskell2010
261 ghc-options: -rtsopts -threaded
263 -- On AIX, some legacy BSD operations such as flock(2) are provided by libbsd.a
270 -- Small, fast running tests.
272 test-suite unit-tests
273 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
274 default-language: Haskell2010
275 default-extensions: TypeOperators
276 ghc-options: -rtsopts -threaded
278 type: exitcode-stdio-1.0
279 main-is: UnitTests.hs
280 hs-source-dirs: tests
282 UnitTests.Distribution.Client.ArbitraryInstances
283 UnitTests.Distribution.Client.BuildReport
284 UnitTests.Distribution.Client.Configure
285 UnitTests.Distribution.Client.FetchUtils
286 UnitTests.Distribution.Client.Get
287 UnitTests.Distribution.Client.Glob
288 UnitTests.Distribution.Client.GZipUtils
289 UnitTests.Distribution.Client.IndexUtils
290 UnitTests.Distribution.Client.IndexUtils.Timestamp
291 UnitTests.Distribution.Client.Init
292 UnitTests.Distribution.Client.Init.Golden
293 UnitTests.Distribution.Client.Init.Interactive
294 UnitTests.Distribution.Client.Init.NonInteractive
295 UnitTests.Distribution.Client.Init.Simple
296 UnitTests.Distribution.Client.Init.Utils
297 UnitTests.Distribution.Client.Init.FileCreators
298 UnitTests.Distribution.Client.InstallPlan
299 UnitTests.Distribution.Client.JobControl
300 UnitTests.Distribution.Client.ProjectConfig
301 UnitTests.Distribution.Client.ProjectPlanning
302 UnitTests.Distribution.Client.Store
303 UnitTests.Distribution.Client.Tar
304 UnitTests.Distribution.Client.Targets
305 UnitTests.Distribution.Client.TreeDiffInstances
306 UnitTests.Distribution.Client.UserConfig
307 UnitTests.Distribution.Solver.Modular.Builder
308 UnitTests.Distribution.Solver.Modular.RetryLog
309 UnitTests.Distribution.Solver.Modular.Solver
310 UnitTests.Distribution.Solver.Modular.DSL
311 UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
312 UnitTests.Distribution.Solver.Modular.WeightedPSQ
313 UnitTests.Distribution.Solver.Types.OptionalStanza
315 UnitTests.TempTestDir
327 network-uri >= 2.6.2.0 && <2.7,
332 tasty >= 1.2.3 && <1.5,
333 tasty-golden >=2.3.1.1 && <2.4,
337 QuickCheck >= 2.14 && <2.15
340 -- Tests to run with a limited stack and heap size
341 -- The test suite name must be keep short cause a longer one
342 -- could make the build generating paths which exceeds the windows
343 -- max path limit (still a problem for some ghc versions)
344 test-suite mem-use-tests
345 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
346 type: exitcode-stdio-1.0
347 main-is: MemoryUsageTests.hs
348 hs-source-dirs: tests
349 default-language: Haskell2010
351 ghc-options: -threaded -rtsopts "-with-rtsopts=-M16M -K1K"
354 UnitTests.Distribution.Solver.Modular.DSL
355 UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
356 UnitTests.Distribution.Solver.Modular.MemoryUsage
362 tasty >= 1.2.3 && <1.5,
366 -- Integration tests that use the cabal-install code directly
367 -- but still build whole projects
368 test-suite integration-tests2
369 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
370 ghc-options: -rtsopts -threaded
371 type: exitcode-stdio-1.0
372 main-is: IntegrationTests2.hs
373 hs-source-dirs: tests
374 default-language: Haskell2010
382 tasty >= 1.2.3 && <1.5,
386 test-suite long-tests
387 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
388 ghc-options: -rtsopts -threaded
389 type: exitcode-stdio-1.0
390 hs-source-dirs: tests
391 main-is: LongTests.hs
392 default-language: Haskell2010
395 UnitTests.Distribution.Client.ArbitraryInstances
396 UnitTests.Distribution.Client.Described
397 UnitTests.Distribution.Client.DescribedInstances
398 UnitTests.Distribution.Client.FileMonitor
399 UnitTests.Distribution.Client.VCS
400 UnitTests.Distribution.Solver.Modular.DSL
401 UnitTests.Distribution.Solver.Modular.QuickCheck
402 UnitTests.Distribution.Solver.Modular.QuickCheck.Utils
404 UnitTests.TempTestDir
415 network-uri >= 2.6.2.0 && <2.7,
418 tasty >= 1.2.3 && <1.5,
419 tasty-expected-failure,
422 QuickCheck >= 2.14 && <2.15,
423 pretty-show >= 1.6.15