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.ReplFlags
163 Distribution.Client.Run
164 Distribution.Client.Sandbox
165 Distribution.Client.Sandbox.PackageEnvironment
166 Distribution.Client.SavedFlags
167 Distribution.Client.ScriptUtils
168 Distribution.Client.Security.DNS
169 Distribution.Client.Security.HTTP
170 Distribution.Client.Setup
171 Distribution.Client.SetupWrapper
172 Distribution.Client.Signal
173 Distribution.Client.SolverInstallPlan
174 Distribution.Client.SourceFiles
175 Distribution.Client.SrcDist
176 Distribution.Client.Store
177 Distribution.Client.Tar
178 Distribution.Client.TargetProblem
179 Distribution.Client.TargetSelector
180 Distribution.Client.Targets
181 Distribution.Client.Types
182 Distribution.Client.Types.AllowNewer
183 Distribution.Client.Types.BuildResults
184 Distribution.Client.Types.ConfiguredId
185 Distribution.Client.Types.ConfiguredPackage
186 Distribution.Client.Types.Credentials
187 Distribution.Client.Types.InstallMethod
188 Distribution.Client.Types.OverwritePolicy
189 Distribution.Client.Types.PackageLocation
190 Distribution.Client.Types.PackageSpecifier
191 Distribution.Client.Types.ReadyPackage
192 Distribution.Client.Types.Repo
193 Distribution.Client.Types.RepoName
194 Distribution.Client.Types.SourcePackageDb
195 Distribution.Client.Types.SourceRepo
196 Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy
197 Distribution.Client.Upload
198 Distribution.Client.Utils
199 Distribution.Client.Utils.Json
200 Distribution.Client.Utils.Parsec
201 Distribution.Client.VCS
202 Distribution.Client.Version
203 Distribution.Client.Win32SelfUpgrade
206 async >= 2.0 && < 2.3,
207 array >= 0.4 && < 0.6,
208 base16-bytestring >= 0.1.1 && < 1.1.0.0,
209 base64-bytestring >= 1.0 && < 1.3,
210 binary >= 0.7.3 && < 0.9,
211 bytestring >= 0.10.6.0 && < 0.12,
212 containers >= 0.5.6.2 && < 0.7,
213 cryptohash-sha256 >= 0.11 && < 0.12,
214 directory >= 1.3.7.0 && < 1.4,
215 echo >= 0.1.3 && < 0.2,
216 edit-distance >= 0.2.2 && < 0.3,
217 exceptions >= 0.10.4 && < 0.11,
218 filepath >= 1.4.0.0 && < 1.5,
219 hashable >= 1.0 && < 1.5,
220 HTTP >= 4000.1.5 && < 4000.5,
222 network-uri >= 2.6.0.2 && < 2.7,
223 pretty >= 1.1 && < 1.2,
224 process >= 1.2.3.0 && < 1.7,
225 random >= 1.2 && < 1.3,
227 tar >= 0.5.0.3 && < 0.6,
228 time >= 1.5.0.1 && < 1.13,
229 zlib >= 0.5.3 && < 0.7,
230 hackage-security >= 0.6.2.0 && < 0.7,
231 text >= 1.2.3 && < 1.3 || >= 2.0 && < 2.1,
232 parsec >= 3.1.13.0 && < 3.2,
233 regex-base >= 0.94.0.0 && <0.95,
234 regex-posix >= 0.96.0.0 && <0.97,
235 safe-exceptions >= 0.1.7.0 && < 0.2
239 build-depends: windns >= 0.1.0 && < 0.2
241 build-depends: resolv >= 0.1.1 && < 0.3
244 -- newer directory for symlinks
245 build-depends: Win32 >= 2.8 && < 3, directory >=1.3.1.0
247 build-depends: unix >= 2.5 && < 2.9
250 build-depends: lukko >= 0.1 && <0.2
252 -- pull in process version with fixed waitForProcess error
254 build-depends: process >= 1.6.15.0
258 import: warnings, base-dep
261 default-language: Haskell2010
263 ghc-options: -rtsopts -threaded
265 -- On AIX, some legacy BSD operations such as flock(2) are provided by libbsd.a
272 -- Small, fast running tests.
274 test-suite unit-tests
275 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
276 default-language: Haskell2010
277 default-extensions: TypeOperators
278 ghc-options: -rtsopts -threaded
280 type: exitcode-stdio-1.0
281 main-is: UnitTests.hs
282 hs-source-dirs: tests
284 UnitTests.Distribution.Client.ArbitraryInstances
285 UnitTests.Distribution.Client.BuildReport
286 UnitTests.Distribution.Client.Configure
287 UnitTests.Distribution.Client.FetchUtils
288 UnitTests.Distribution.Client.Get
289 UnitTests.Distribution.Client.Glob
290 UnitTests.Distribution.Client.GZipUtils
291 UnitTests.Distribution.Client.IndexUtils
292 UnitTests.Distribution.Client.IndexUtils.Timestamp
293 UnitTests.Distribution.Client.Init
294 UnitTests.Distribution.Client.Init.Golden
295 UnitTests.Distribution.Client.Init.Interactive
296 UnitTests.Distribution.Client.Init.NonInteractive
297 UnitTests.Distribution.Client.Init.Simple
298 UnitTests.Distribution.Client.Init.Utils
299 UnitTests.Distribution.Client.Init.FileCreators
300 UnitTests.Distribution.Client.InstallPlan
301 UnitTests.Distribution.Client.JobControl
302 UnitTests.Distribution.Client.ProjectConfig
303 UnitTests.Distribution.Client.ProjectPlanning
304 UnitTests.Distribution.Client.Store
305 UnitTests.Distribution.Client.Tar
306 UnitTests.Distribution.Client.Targets
307 UnitTests.Distribution.Client.TreeDiffInstances
308 UnitTests.Distribution.Client.UserConfig
309 UnitTests.Distribution.Solver.Modular.Builder
310 UnitTests.Distribution.Solver.Modular.RetryLog
311 UnitTests.Distribution.Solver.Modular.Solver
312 UnitTests.Distribution.Solver.Modular.DSL
313 UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
314 UnitTests.Distribution.Solver.Modular.WeightedPSQ
315 UnitTests.Distribution.Solver.Types.OptionalStanza
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.3 && <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
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