2 name: cabal-install-solver
4 synopsis: The command-line interface for Cabal and Hackage.
6 The solver component used in cabal-install command-line program
8 homepage: http://www.haskell.org/cabal/
9 bug-reports: https://github.com/haskell/cabal/issues
12 author: Cabal Development Team (see AUTHORS file)
13 maintainer: Cabal Development Team <cabal-devel@haskell.org>
14 copyright: 2003-2024, Cabal Development Team
15 category: Distribution
20 source-repository head
22 location: https://github.com/haskell/cabal/
23 subdir: cabal-install-solver
25 flag debug-expensive-assertions
26 description: Enable expensive assertions for testing or debugging
31 description: Compile in support for tracetree (used to debug the solver)
36 default-language: Haskell2010
38 hs-source-dirs: src-assertion
40 -Wall -Wcompat -Wnoncanonical-monad-instances
41 -fwarn-tabs -fwarn-incomplete-uni-patterns
44 ghc-options: -Wnoncanonical-monadfail-instances
47 Distribution.Client.Utils.Assertion
49 Distribution.Solver.Compat.Prelude
50 Distribution.Solver.Modular
51 Distribution.Solver.Modular.Assignment
52 Distribution.Solver.Modular.Builder
53 Distribution.Solver.Modular.Configured
54 Distribution.Solver.Modular.ConfiguredConversion
55 Distribution.Solver.Modular.ConflictSet
56 Distribution.Solver.Modular.Cycles
57 Distribution.Solver.Modular.Dependency
58 Distribution.Solver.Modular.Explore
59 Distribution.Solver.Modular.Flag
60 Distribution.Solver.Modular.Index
61 Distribution.Solver.Modular.IndexConversion
62 Distribution.Solver.Modular.LabeledGraph
63 Distribution.Solver.Modular.Linking
64 Distribution.Solver.Modular.Log
65 Distribution.Solver.Modular.Message
66 Distribution.Solver.Modular.MessageUtils
67 Distribution.Solver.Modular.Package
68 Distribution.Solver.Modular.Preference
69 Distribution.Solver.Modular.PSQ
70 Distribution.Solver.Modular.RetryLog
71 Distribution.Solver.Modular.Solver
72 Distribution.Solver.Modular.Tree
73 Distribution.Solver.Modular.Validate
74 Distribution.Solver.Modular.Var
75 Distribution.Solver.Modular.Version
76 Distribution.Solver.Modular.WeightedPSQ
77 Distribution.Solver.Types.ComponentDeps
78 Distribution.Solver.Types.ConstraintSource
79 Distribution.Solver.Types.DependencyResolver
80 Distribution.Solver.Types.Flag
81 Distribution.Solver.Types.InstalledPreference
82 Distribution.Solver.Types.InstSolverPackage
83 Distribution.Solver.Types.LabeledPackageConstraint
84 Distribution.Solver.Types.OptionalStanza
85 Distribution.Solver.Types.PackageConstraint
86 Distribution.Solver.Types.PackageFixedDeps
87 Distribution.Solver.Types.PackageIndex
88 Distribution.Solver.Types.PackagePath
89 Distribution.Solver.Types.PackagePreferences
90 Distribution.Solver.Types.PkgConfigDb
91 Distribution.Solver.Types.Progress
92 Distribution.Solver.Types.ProjectConfigPath
93 Distribution.Solver.Types.ResolverPackage
94 Distribution.Solver.Types.Settings
95 Distribution.Solver.Types.SolverId
96 Distribution.Solver.Types.SolverPackage
97 Distribution.Solver.Types.SourcePackage
98 Distribution.Solver.Types.Variable
101 , array >=0.4 && <0.6
102 , base >=4.10 && <4.20
103 , bytestring >=0.10.6.0 && <0.13
105 , Cabal-syntax ^>=3.11
106 , containers >=0.5.6.2 && <0.8
107 , edit-distance ^>= 0.2.2
108 , directory >= 1.3.7.0 && < 1.4
109 , filepath ^>=1.4.0.0 || ^>=1.5.0.0
111 , network-uri >= 2.6.0.2 && < 2.7
113 , transformers >=0.4.2.0 && <0.7
114 , text (>= 1.2.3.0 && < 1.3) || (>= 2.0 && < 2.2)
116 if flag(debug-expensive-assertions)
117 cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS
119 if flag(debug-tracetree)
120 cpp-options: -DDEBUG_TRACETREE
121 build-depends: tracetree ^>=0.1
123 Test-Suite unit-tests
124 default-language: Haskell2010
125 ghc-options: -rtsopts -threaded
127 type: exitcode-stdio-1.0
128 main-is: UnitTests.hs
129 hs-source-dirs: tests
131 UnitTests.Distribution.Solver.Modular.MessageUtils
134 , base >= 4.10 && <4.20
136 , cabal-install-solver
137 , tasty >= 1.2.3 && <1.6
139 , tasty-hunit >= 0.10