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-2022, 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
30 flag debug-conflict-sets
31 description: Add additional information to ConflictSets
36 description: Compile in support for tracetree (used to debug the solver)
41 default-language: Haskell2010
43 hs-source-dirs: src-assertion
45 -Wall -Wcompat -Wnoncanonical-monad-instances
46 -fwarn-tabs -fwarn-incomplete-uni-patterns
49 ghc-options: -Wnoncanonical-monadfail-instances
51 ghc-options: -Wunused-packages
54 Distribution.Client.Utils.Assertion
56 Distribution.Solver.Compat.Prelude
57 Distribution.Solver.Modular
58 Distribution.Solver.Modular.Assignment
59 Distribution.Solver.Modular.Builder
60 Distribution.Solver.Modular.Configured
61 Distribution.Solver.Modular.ConfiguredConversion
62 Distribution.Solver.Modular.ConflictSet
63 Distribution.Solver.Modular.Cycles
64 Distribution.Solver.Modular.Dependency
65 Distribution.Solver.Modular.Explore
66 Distribution.Solver.Modular.Flag
67 Distribution.Solver.Modular.Index
68 Distribution.Solver.Modular.IndexConversion
69 Distribution.Solver.Modular.LabeledGraph
70 Distribution.Solver.Modular.Linking
71 Distribution.Solver.Modular.Log
72 Distribution.Solver.Modular.Message
73 Distribution.Solver.Modular.MessageUtils
74 Distribution.Solver.Modular.Package
75 Distribution.Solver.Modular.Preference
76 Distribution.Solver.Modular.PSQ
77 Distribution.Solver.Modular.RetryLog
78 Distribution.Solver.Modular.Solver
79 Distribution.Solver.Modular.Tree
80 Distribution.Solver.Modular.Validate
81 Distribution.Solver.Modular.Var
82 Distribution.Solver.Modular.Version
83 Distribution.Solver.Modular.WeightedPSQ
84 Distribution.Solver.Types.ComponentDeps
85 Distribution.Solver.Types.ConstraintSource
86 Distribution.Solver.Types.DependencyResolver
87 Distribution.Solver.Types.Flag
88 Distribution.Solver.Types.InstalledPreference
89 Distribution.Solver.Types.InstSolverPackage
90 Distribution.Solver.Types.LabeledPackageConstraint
91 Distribution.Solver.Types.OptionalStanza
92 Distribution.Solver.Types.PackageConstraint
93 Distribution.Solver.Types.PackageFixedDeps
94 Distribution.Solver.Types.PackageIndex
95 Distribution.Solver.Types.PackagePath
96 Distribution.Solver.Types.PackagePreferences
97 Distribution.Solver.Types.PkgConfigDb
98 Distribution.Solver.Types.Progress
99 Distribution.Solver.Types.ResolverPackage
100 Distribution.Solver.Types.Settings
101 Distribution.Solver.Types.SolverId
102 Distribution.Solver.Types.SolverPackage
103 Distribution.Solver.Types.SourcePackage
104 Distribution.Solver.Types.Variable
107 , array >=0.4 && <0.6
108 , base >=4.10 && <4.18
109 , bytestring >=0.10.6.0 && <0.12
111 , Cabal-syntax ^>=3.9
112 , containers >=0.5.6.2 && <0.7
113 , edit-distance ^>= 0.2.2
114 , filepath ^>=1.4.0.0
117 , transformers >=0.4.2.0 && <0.6
119 if flag(debug-expensive-assertions)
120 cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS
122 if flag(debug-conflict-sets)
123 cpp-options: -DDEBUG_CONFLICT_SETS
124 build-depends: base >=4.8
126 if flag(debug-tracetree)
127 cpp-options: -DDEBUG_TRACETREE
128 build-depends: tracetree ^>=0.1
130 Test-Suite unit-tests
131 default-language: Haskell2010
132 ghc-options: -rtsopts -threaded
134 type: exitcode-stdio-1.0
135 main-is: UnitTests.hs
136 hs-source-dirs: tests
138 UnitTests.Distribution.Solver.Modular.MessageUtils
141 , base >= 4.10 && <4.18
144 , cabal-install-solver
145 , tasty >= 1.2.3 && <1.5
147 , tasty-hunit >= 0.10