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
45 ghc-options: -Wnoncanonical-monadfail-instances
48 -- Warning: even though introduced with GHC 8.10, -Wunused-packages
49 -- gives false positives with GHC 8.10.
50 ghc-options: -Wunused-packages
53 build-depends: base >=4.10 && <4.20
56 build-depends: Cabal ^>=3.11
58 common cabal-syntax-dep
59 build-depends: Cabal-syntax ^>=3.11
61 common cabal-install-solver-dep
62 build-depends: cabal-install-solver ^>=3.11
65 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
66 default-language: Haskell2010
67 default-extensions: TypeOperators
73 -- this modules are moved from Cabal
74 -- they are needed for as long until cabal-install moves to parsec parser
75 Distribution.Deprecated.ParseUtils
76 Distribution.Deprecated.ReadP
77 Distribution.Deprecated.ViewAsFieldDescr
79 Distribution.Client.BuildReports.Anonymous
80 Distribution.Client.BuildReports.Lens
81 Distribution.Client.BuildReports.Storage
82 Distribution.Client.BuildReports.Types
83 Distribution.Client.BuildReports.Upload
84 Distribution.Client.Check
85 Distribution.Client.CmdBench
86 Distribution.Client.CmdBuild
87 Distribution.Client.CmdClean
88 Distribution.Client.CmdConfigure
89 Distribution.Client.CmdErrorMessages
90 Distribution.Client.CmdExec
91 Distribution.Client.CmdFreeze
92 Distribution.Client.CmdHaddock
93 Distribution.Client.CmdHaddockProject
94 Distribution.Client.CmdInstall
95 Distribution.Client.CmdInstall.ClientInstallFlags
96 Distribution.Client.CmdInstall.ClientInstallTargetSelector
97 Distribution.Client.CmdLegacy
98 Distribution.Client.CmdListBin
99 Distribution.Client.CmdOutdated
100 Distribution.Client.CmdRepl
101 Distribution.Client.CmdRun
102 Distribution.Client.CmdSdist
103 Distribution.Client.CmdTest
104 Distribution.Client.CmdUpdate
105 Distribution.Client.Compat.Directory
106 Distribution.Client.Compat.ExecutablePath
107 Distribution.Client.Compat.Orphans
108 Distribution.Client.Compat.Prelude
109 Distribution.Client.Compat.Semaphore
110 Distribution.Client.Compat.Tar
111 Distribution.Client.Config
112 Distribution.Client.Configure
113 Distribution.Client.Dependency
114 Distribution.Client.Dependency.Types
115 Distribution.Client.DistDirLayout
116 Distribution.Client.Errors
117 Distribution.Client.Fetch
118 Distribution.Client.FetchUtils
119 Distribution.Client.FileMonitor
120 Distribution.Client.Freeze
121 Distribution.Client.GZipUtils
122 Distribution.Client.GenBounds
123 Distribution.Client.Get
124 Distribution.Client.Glob
125 Distribution.Client.GlobalFlags
126 Distribution.Client.Haddock
127 Distribution.Client.HashValue
128 Distribution.Client.HttpUtils
129 Distribution.Client.IndexUtils
130 Distribution.Client.IndexUtils.ActiveRepos
131 Distribution.Client.IndexUtils.IndexState
132 Distribution.Client.IndexUtils.Timestamp
133 Distribution.Client.Init
134 Distribution.Client.Init.Defaults
135 Distribution.Client.Init.FileCreators
136 Distribution.Client.Init.FlagExtractors
137 Distribution.Client.Init.Format
138 Distribution.Client.Init.Interactive.Command
139 Distribution.Client.Init.NonInteractive.Command
140 Distribution.Client.Init.NonInteractive.Heuristics
141 Distribution.Client.Init.Licenses
142 Distribution.Client.Init.Prompt
143 Distribution.Client.Init.Simple
144 Distribution.Client.Init.Types
145 Distribution.Client.Init.Utils
146 Distribution.Client.Install
147 Distribution.Client.InstallPlan
148 Distribution.Client.InstallSymlink
149 Distribution.Client.JobControl
150 Distribution.Client.List
151 Distribution.Client.Main
152 Distribution.Client.Manpage
153 Distribution.Client.ManpageFlags
154 Distribution.Client.Nix
155 Distribution.Client.NixStyleOptions
156 Distribution.Client.PackageHash
157 Distribution.Client.ParseUtils
158 Distribution.Client.ProjectBuilding
159 Distribution.Client.ProjectBuilding.UnpackedPackage
160 Distribution.Client.ProjectBuilding.PackageFileMonitor
161 Distribution.Client.ProjectBuilding.Types
162 Distribution.Client.ProjectConfig
163 Distribution.Client.ProjectConfig.Legacy
164 Distribution.Client.ProjectConfig.Types
165 Distribution.Client.ProjectFlags
166 Distribution.Client.ProjectOrchestration
167 Distribution.Client.ProjectPlanOutput
168 Distribution.Client.ProjectPlanning
169 Distribution.Client.ProjectPlanning.SetupPolicy
170 Distribution.Client.ProjectPlanning.Types
171 Distribution.Client.RebuildMonad
172 Distribution.Client.Reconfigure
173 Distribution.Client.ReplFlags
174 Distribution.Client.Run
175 Distribution.Client.Sandbox
176 Distribution.Client.Sandbox.PackageEnvironment
177 Distribution.Client.SavedFlags
178 Distribution.Client.ScriptUtils
179 Distribution.Client.Security.DNS
180 Distribution.Client.Security.HTTP
181 Distribution.Client.Setup
182 Distribution.Client.SetupWrapper
183 Distribution.Client.Signal
184 Distribution.Client.SolverInstallPlan
185 Distribution.Client.SourceFiles
186 Distribution.Client.SrcDist
187 Distribution.Client.Store
188 Distribution.Client.Tar
189 Distribution.Client.TargetProblem
190 Distribution.Client.TargetSelector
191 Distribution.Client.Targets
192 Distribution.Client.Types
193 Distribution.Client.Types.AllowNewer
194 Distribution.Client.Types.BuildResults
195 Distribution.Client.Types.ConfiguredId
196 Distribution.Client.Types.ConfiguredPackage
197 Distribution.Client.Types.Credentials
198 Distribution.Client.Types.InstallMethod
199 Distribution.Client.Types.OverwritePolicy
200 Distribution.Client.Types.PackageLocation
201 Distribution.Client.Types.PackageSpecifier
202 Distribution.Client.Types.ReadyPackage
203 Distribution.Client.Types.Repo
204 Distribution.Client.Types.RepoName
205 Distribution.Client.Types.SourcePackageDb
206 Distribution.Client.Types.SourceRepo
207 Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy
208 Distribution.Client.Upload
209 Distribution.Client.Utils
210 Distribution.Client.Utils.Json
211 Distribution.Client.Utils.Parsec
212 Distribution.Client.VCS
213 Distribution.Client.Version
214 Distribution.Client.Win32SelfUpgrade
217 async >= 2.0 && < 2.3,
218 array >= 0.4 && < 0.6,
219 base16-bytestring >= 0.1.1 && < 1.1.0.0,
220 binary >= 0.7.3 && < 0.9,
221 bytestring >= 0.10.6.0 && < 0.13,
222 containers >= 0.5.6.2 && < 0.8,
223 cryptohash-sha256 >= 0.11 && < 0.12,
224 directory >= 1.3.7.0 && < 1.4,
225 echo >= 0.1.3 && < 0.2,
226 edit-distance >= 0.2.2 && < 0.3,
227 exceptions >= 0.10.4 && < 0.11,
228 filepath >= 1.4.0.0 && < 1.6,
229 hashable >= 1.0 && < 1.5,
230 HTTP >= 4000.1.5 && < 4000.5,
232 network-uri >= 2.6.0.2 && < 2.7,
233 pretty >= 1.1 && < 1.2,
234 process >= 1.2.3.0 && < 1.7,
235 random >= 1.2 && < 1.3,
237 tar >= 0.5.0.3 && < 0.7,
238 time >= 1.5.0.1 && < 1.13,
239 zlib >= 0.5.3 && < 0.8,
240 hackage-security >= 0.6.2.0 && < 0.7,
241 text >= 1.2.3 && < 1.3 || >= 2.0 && < 2.2,
242 parsec >= 3.1.13.0 && < 3.2,
243 open-browser >= 0.2.1.0 && < 0.3,
244 regex-base >= 0.94.0.0 && <0.95,
245 regex-posix >= 0.96.0.0 && <0.97,
246 safe-exceptions >= 0.1.7.0 && < 0.2,
247 semaphore-compat >= 1.0.0 && < 1.1
251 build-depends: windns >= 0.1.0 && < 0.2
253 build-depends: resolv >= 0.1.1 && < 0.3
256 -- newer directory for symlinks
257 build-depends: Win32 >= 2.8 && < 3, directory >=1.3.1.0
259 build-depends: unix >= 2.5 && < 2.9
262 build-depends: lukko >= 0.1 && <0.2
264 -- pull in process version with fixed waitForProcess error
266 build-depends: process >= 1.6.15.0
270 import: warnings, base-dep
273 default-language: Haskell2010
275 ghc-options: -rtsopts -threaded
277 -- On AIX, some legacy BSD operations such as flock(2) are provided by libbsd.a
284 -- Small, fast running tests.
286 test-suite unit-tests
287 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
288 default-language: Haskell2010
289 default-extensions: TypeOperators
290 ghc-options: -rtsopts -threaded
292 type: exitcode-stdio-1.0
293 main-is: UnitTests.hs
294 hs-source-dirs: tests
296 UnitTests.Distribution.Client.ArbitraryInstances
297 UnitTests.Distribution.Client.BuildReport
298 UnitTests.Distribution.Client.Configure
299 UnitTests.Distribution.Client.FetchUtils
300 UnitTests.Distribution.Client.Get
301 UnitTests.Distribution.Client.Glob
302 UnitTests.Distribution.Client.GZipUtils
303 UnitTests.Distribution.Client.IndexUtils
304 UnitTests.Distribution.Client.IndexUtils.Timestamp
305 UnitTests.Distribution.Client.Init
306 UnitTests.Distribution.Client.Init.Golden
307 UnitTests.Distribution.Client.Init.Interactive
308 UnitTests.Distribution.Client.Init.NonInteractive
309 UnitTests.Distribution.Client.Init.Simple
310 UnitTests.Distribution.Client.Init.Utils
311 UnitTests.Distribution.Client.Init.FileCreators
312 UnitTests.Distribution.Client.InstallPlan
313 UnitTests.Distribution.Client.JobControl
314 UnitTests.Distribution.Client.ProjectConfig
315 UnitTests.Distribution.Client.ProjectPlanning
316 UnitTests.Distribution.Client.Store
317 UnitTests.Distribution.Client.Tar
318 UnitTests.Distribution.Client.Targets
319 UnitTests.Distribution.Client.TreeDiffInstances
320 UnitTests.Distribution.Client.UserConfig
321 UnitTests.Distribution.Solver.Modular.Builder
322 UnitTests.Distribution.Solver.Modular.RetryLog
323 UnitTests.Distribution.Solver.Modular.Solver
324 UnitTests.Distribution.Solver.Modular.DSL
325 UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
326 UnitTests.Distribution.Solver.Modular.WeightedPSQ
327 UnitTests.Distribution.Solver.Types.OptionalStanza
341 network-uri >= 2.6.2.0 && <2.7,
346 tasty >= 1.2.3 && <1.6,
347 tasty-golden >=2.3.1.1 && <2.4,
351 QuickCheck >= 2.14.3 && <2.15
354 -- Tests to run with a limited stack and heap size
355 -- The test suite name must be keep short cause a longer one
356 -- could make the build generating paths which exceeds the windows
357 -- max path limit (still a problem for some ghc versions)
358 test-suite mem-use-tests
359 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
360 type: exitcode-stdio-1.0
361 main-is: MemoryUsageTests.hs
362 hs-source-dirs: tests
363 default-language: Haskell2010
365 ghc-options: -threaded -rtsopts "-with-rtsopts=-M16M -K1K"
368 UnitTests.Distribution.Solver.Modular.DSL
369 UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
370 UnitTests.Distribution.Solver.Modular.MemoryUsage
376 tasty >= 1.2.3 && <1.6,
380 -- Integration tests that use the cabal-install code directly
381 -- but still build whole projects
382 test-suite integration-tests2
383 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
384 ghc-options: -rtsopts -threaded
385 type: exitcode-stdio-1.0
386 main-is: IntegrationTests2.hs
387 hs-source-dirs: tests
388 default-language: Haskell2010
396 tasty >= 1.2.3 && <1.6,
400 test-suite long-tests
401 import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep
402 ghc-options: -rtsopts -threaded
403 type: exitcode-stdio-1.0
404 hs-source-dirs: tests
405 main-is: LongTests.hs
406 default-language: Haskell2010
409 UnitTests.Distribution.Client.ArbitraryInstances
410 UnitTests.Distribution.Client.Described
411 UnitTests.Distribution.Client.DescribedInstances
412 UnitTests.Distribution.Client.FileMonitor
413 UnitTests.Distribution.Client.VCS
414 UnitTests.Distribution.Solver.Modular.DSL
415 UnitTests.Distribution.Solver.Modular.QuickCheck
416 UnitTests.Distribution.Solver.Modular.QuickCheck.Utils
429 network-uri >= 2.6.2.0 && <2.7,
432 tasty >= 1.2.3 && <1.6,
433 tasty-expected-failure,
436 QuickCheck >= 2.14 && <2.15,
437 pretty-show >= 1.6.15