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.Errors
110 Distribution.Client.Fetch
111 Distribution.Client.FetchUtils
112 Distribution.Client.FileMonitor
113 Distribution.Client.Freeze
114 Distribution.Client.GZipUtils
115 Distribution.Client.GenBounds
116 Distribution.Client.Get
117 Distribution.Client.Glob
118 Distribution.Client.GlobalFlags
119 Distribution.Client.Haddock
120 Distribution.Client.HashValue
121 Distribution.Client.HttpUtils
122 Distribution.Client.IndexUtils
123 Distribution.Client.IndexUtils.ActiveRepos
124 Distribution.Client.IndexUtils.IndexState
125 Distribution.Client.IndexUtils.Timestamp
126 Distribution.Client.Init
127 Distribution.Client.Init.Defaults
128 Distribution.Client.Init.FileCreators
129 Distribution.Client.Init.FlagExtractors
130 Distribution.Client.Init.Format
131 Distribution.Client.Init.Interactive.Command
132 Distribution.Client.Init.NonInteractive.Command
133 Distribution.Client.Init.NonInteractive.Heuristics
134 Distribution.Client.Init.Licenses
135 Distribution.Client.Init.Prompt
136 Distribution.Client.Init.Simple
137 Distribution.Client.Init.Types
138 Distribution.Client.Init.Utils
139 Distribution.Client.Install
140 Distribution.Client.InstallPlan
141 Distribution.Client.InstallSymlink
142 Distribution.Client.JobControl
143 Distribution.Client.List
144 Distribution.Client.Main
145 Distribution.Client.Manpage
146 Distribution.Client.ManpageFlags
147 Distribution.Client.Nix
148 Distribution.Client.NixStyleOptions
149 Distribution.Client.PackageHash
150 Distribution.Client.ParseUtils
151 Distribution.Client.ProjectBuilding
152 Distribution.Client.ProjectBuilding.Types
153 Distribution.Client.ProjectConfig
154 Distribution.Client.ProjectConfig.Legacy
155 Distribution.Client.ProjectConfig.Types
156 Distribution.Client.ProjectFlags
157 Distribution.Client.ProjectOrchestration
158 Distribution.Client.ProjectPlanOutput
159 Distribution.Client.ProjectPlanning
160 Distribution.Client.ProjectPlanning.Types
161 Distribution.Client.RebuildMonad
162 Distribution.Client.Reconfigure
163 Distribution.Client.ReplFlags
164 Distribution.Client.Run
165 Distribution.Client.Sandbox
166 Distribution.Client.Sandbox.PackageEnvironment
167 Distribution.Client.SavedFlags
168 Distribution.Client.ScriptUtils
169 Distribution.Client.Security.DNS
170 Distribution.Client.Security.HTTP
171 Distribution.Client.Setup
172 Distribution.Client.SetupWrapper
173 Distribution.Client.Signal
174 Distribution.Client.SolverInstallPlan
175 Distribution.Client.SourceFiles
176 Distribution.Client.SrcDist
177 Distribution.Client.Store
178 Distribution.Client.Tar
179 Distribution.Client.TargetProblem
180 Distribution.Client.TargetSelector
181 Distribution.Client.Targets
182 Distribution.Client.Types
183 Distribution.Client.Types.AllowNewer
184 Distribution.Client.Types.BuildResults
185 Distribution.Client.Types.ConfiguredId
186 Distribution.Client.Types.ConfiguredPackage
187 Distribution.Client.Types.Credentials
188 Distribution.Client.Types.InstallMethod
189 Distribution.Client.Types.OverwritePolicy
190 Distribution.Client.Types.PackageLocation
191 Distribution.Client.Types.PackageSpecifier
192 Distribution.Client.Types.ReadyPackage
193 Distribution.Client.Types.Repo
194 Distribution.Client.Types.RepoName
195 Distribution.Client.Types.SourcePackageDb
196 Distribution.Client.Types.SourceRepo
197 Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy
198 Distribution.Client.Upload
199 Distribution.Client.Utils
200 Distribution.Client.Utils.Json
201 Distribution.Client.Utils.Parsec
202 Distribution.Client.VCS
203 Distribution.Client.Version
204 Distribution.Client.Win32SelfUpgrade
207 async >= 2.0 && < 2.3,
208 array >= 0.4 && < 0.6,
209 base16-bytestring >= 0.1.1 && < 1.1.0.0,
210 base64-bytestring >= 1.0 && < 1.3,
211 binary >= 0.7.3 && < 0.9,
212 bytestring >= 0.10.6.0 && < 0.13,
213 containers >= 0.5.6.2 && < 0.7,
214 cryptohash-sha256 >= 0.11 && < 0.12,
215 directory >= 1.3.7.0 && < 1.4,
216 echo >= 0.1.3 && < 0.2,
217 edit-distance >= 0.2.2 && < 0.3,
218 exceptions >= 0.10.4 && < 0.11,
219 filepath >= 1.4.0.0 && < 1.5,
220 hashable >= 1.0 && < 1.5,
221 HTTP >= 4000.1.5 && < 4000.5,
223 network-uri >= 2.6.0.2 && < 2.7,
224 pretty >= 1.1 && < 1.2,
225 process >= 1.2.3.0 && < 1.7,
226 random >= 1.2 && < 1.3,
228 tar >= 0.5.0.3 && < 0.6,
229 time >= 1.5.0.1 && < 1.13,
230 zlib >= 0.5.3 && < 0.7,
231 hackage-security >= 0.6.2.0 && < 0.7,
232 text >= 1.2.3 && < 1.3 || >= 2.0 && < 2.1,
233 parsec >= 3.1.13.0 && < 3.2,
234 regex-base >= 0.94.0.0 && <0.95,
235 regex-posix >= 0.96.0.0 && <0.97,
236 safe-exceptions >= 0.1.7.0 && < 0.2,
237 semaphore-compat >= 1.0.0 && < 1.1
241 build-depends: windns >= 0.1.0 && < 0.2
243 build-depends: resolv >= 0.1.1 && < 0.3
246 -- newer directory for symlinks
247 build-depends: Win32 >= 2.8 && < 3, directory >=1.3.1.0
249 build-depends: unix >= 2.5 && < 2.9
252 build-depends: lukko >= 0.1 && <0.2
254 -- pull in process version with fixed waitForProcess error
256 build-depends: process >= 1.6.15.0
260 import: warnings, base-dep
263 default-language: Haskell2010
265 ghc-options: -rtsopts -threaded
267 -- On AIX, some legacy BSD operations such as flock(2) are provided by libbsd.a
274 -- Small, fast running tests.
276 test-suite unit-tests
277 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
278 default-language: Haskell2010
279 default-extensions: TypeOperators
280 ghc-options: -rtsopts -threaded
282 type: exitcode-stdio-1.0
283 main-is: UnitTests.hs
284 hs-source-dirs: tests
286 UnitTests.Distribution.Client.ArbitraryInstances
287 UnitTests.Distribution.Client.BuildReport
288 UnitTests.Distribution.Client.Configure
289 UnitTests.Distribution.Client.FetchUtils
290 UnitTests.Distribution.Client.Get
291 UnitTests.Distribution.Client.Glob
292 UnitTests.Distribution.Client.GZipUtils
293 UnitTests.Distribution.Client.IndexUtils
294 UnitTests.Distribution.Client.IndexUtils.Timestamp
295 UnitTests.Distribution.Client.Init
296 UnitTests.Distribution.Client.Init.Golden
297 UnitTests.Distribution.Client.Init.Interactive
298 UnitTests.Distribution.Client.Init.NonInteractive
299 UnitTests.Distribution.Client.Init.Simple
300 UnitTests.Distribution.Client.Init.Utils
301 UnitTests.Distribution.Client.Init.FileCreators
302 UnitTests.Distribution.Client.InstallPlan
303 UnitTests.Distribution.Client.JobControl
304 UnitTests.Distribution.Client.ProjectConfig
305 UnitTests.Distribution.Client.ProjectPlanning
306 UnitTests.Distribution.Client.Store
307 UnitTests.Distribution.Client.Tar
308 UnitTests.Distribution.Client.Targets
309 UnitTests.Distribution.Client.TreeDiffInstances
310 UnitTests.Distribution.Client.UserConfig
311 UnitTests.Distribution.Solver.Modular.Builder
312 UnitTests.Distribution.Solver.Modular.RetryLog
313 UnitTests.Distribution.Solver.Modular.Solver
314 UnitTests.Distribution.Solver.Modular.DSL
315 UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
316 UnitTests.Distribution.Solver.Modular.WeightedPSQ
317 UnitTests.Distribution.Solver.Types.OptionalStanza
330 network-uri >= 2.6.2.0 && <2.7,
335 tasty >= 1.2.3 && <1.5,
336 tasty-golden >=2.3.1.1 && <2.4,
340 QuickCheck >= 2.14.3 && <2.15
343 -- Tests to run with a limited stack and heap size
344 -- The test suite name must be keep short cause a longer one
345 -- could make the build generating paths which exceeds the windows
346 -- max path limit (still a problem for some ghc versions)
347 test-suite mem-use-tests
348 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
349 type: exitcode-stdio-1.0
350 main-is: MemoryUsageTests.hs
351 hs-source-dirs: tests
352 default-language: Haskell2010
354 ghc-options: -threaded -rtsopts "-with-rtsopts=-M16M -K1K"
357 UnitTests.Distribution.Solver.Modular.DSL
358 UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
359 UnitTests.Distribution.Solver.Modular.MemoryUsage
365 tasty >= 1.2.3 && <1.5,
369 -- Integration tests that use the cabal-install code directly
370 -- but still build whole projects
371 test-suite integration-tests2
372 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
373 ghc-options: -rtsopts -threaded
374 type: exitcode-stdio-1.0
375 main-is: IntegrationTests2.hs
376 hs-source-dirs: tests
377 default-language: Haskell2010
385 tasty >= 1.2.3 && <1.5,
389 test-suite long-tests
390 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
391 ghc-options: -rtsopts -threaded
392 type: exitcode-stdio-1.0
393 hs-source-dirs: tests
394 main-is: LongTests.hs
395 default-language: Haskell2010
398 UnitTests.Distribution.Client.ArbitraryInstances
399 UnitTests.Distribution.Client.Described
400 UnitTests.Distribution.Client.DescribedInstances
401 UnitTests.Distribution.Client.FileMonitor
402 UnitTests.Distribution.Client.VCS
403 UnitTests.Distribution.Solver.Modular.DSL
404 UnitTests.Distribution.Solver.Modular.QuickCheck
405 UnitTests.Distribution.Solver.Modular.QuickCheck.Utils
417 network-uri >= 2.6.2.0 && <2.7,
420 tasty >= 1.2.3 && <1.5,
421 tasty-expected-failure,
424 QuickCheck >= 2.14 && <2.15,
425 pretty-show >= 1.6.15