cabal-install.cabal 26.4 KB
Newer Older
1
Name:               cabal-install
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
2
Version:            1.25.0.0
3
Synopsis:           The command-line interface for Cabal and Hackage.
4
Description:
5 6 7
    The \'cabal\' command-line program simplifies the process of managing
    Haskell software by automating the fetching, configuration, compilation
    and installation of Haskell libraries and programs.
8
homepage:           http://www.haskell.org/cabal/
9
bug-reports:        https://github.com/haskell/cabal/issues
10 11
License:            BSD3
License-File:       LICENSE
12
Author:             Cabal Development Team (see AUTHORS file)
13 14
Maintainer:         Cabal Development Team <cabal-devel@haskell.org>
Copyright:          2003-2016, Cabal Development Team
15
Category:           Distribution
lspitzner's avatar
lspitzner committed
16
Build-type:         Custom
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
17
Cabal-Version:      >= 1.10
barmston's avatar
barmston committed
18 19
Extra-Source-Files:
  README.md bash-completion/cabal bootstrap.sh changelog
20
  tests/README.md
barmston's avatar
barmston committed
21

22 23 24
  -- Generated with '../Cabal/misc/gen-extra-source-files.sh'
  -- Do NOT edit this section manually; instead, run the script.
  -- BEGIN gen-extra-source-files
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
  tests/IntegrationTests/backpack/includes2-external.sh
  tests/IntegrationTests/backpack/includes2-internal.sh
  tests/IntegrationTests/backpack/includes2/Includes2.cabal
  tests/IntegrationTests/backpack/includes2/exe/Main.hs
  tests/IntegrationTests/backpack/includes2/exe/exe.cabal
  tests/IntegrationTests/backpack/includes2/mylib/Mine.hs
  tests/IntegrationTests/backpack/includes2/mylib/mylib.cabal
  tests/IntegrationTests/backpack/includes2/mysql/Database/MySQL.hs
  tests/IntegrationTests/backpack/includes2/mysql/mysql.cabal
  tests/IntegrationTests/backpack/includes2/postgresql/Database/PostgreSQL.hs
  tests/IntegrationTests/backpack/includes2/postgresql/postgresql.cabal
  tests/IntegrationTests/backpack/includes2/src/App.hs
  tests/IntegrationTests/backpack/includes2/src/src.cabal
  tests/IntegrationTests/backpack/includes3-external.sh
  tests/IntegrationTests/backpack/includes3-internal.sh
  tests/IntegrationTests/backpack/includes3/Includes3.cabal
  tests/IntegrationTests/backpack/includes3/exe/Main.hs
  tests/IntegrationTests/backpack/includes3/exe/Setup.hs
  tests/IntegrationTests/backpack/includes3/exe/exe.cabal
  tests/IntegrationTests/backpack/includes3/indef/Foo.hs
  tests/IntegrationTests/backpack/includes3/indef/Setup.hs
  tests/IntegrationTests/backpack/includes3/indef/indef.cabal
  tests/IntegrationTests/backpack/includes3/sigs/Setup.hs
  tests/IntegrationTests/backpack/includes3/sigs/sigs.cabal
49
  tests/IntegrationTests/common.sh
kristenk's avatar
kristenk committed
50 51 52 53
  tests/IntegrationTests/custom-setup/Cabal-99998/Cabal.cabal
  tests/IntegrationTests/custom-setup/Cabal-99998/CabalMessage.hs
  tests/IntegrationTests/custom-setup/Cabal-99999/Cabal.cabal
  tests/IntegrationTests/custom-setup/Cabal-99999/CabalMessage.hs
54 55 56 57
  tests/IntegrationTests/custom-setup/custom-setup-without-cabal-defaultMain/Setup.hs
  tests/IntegrationTests/custom-setup/custom-setup-without-cabal-defaultMain/custom-setup-without-cabal-defaultMain.cabal
  tests/IntegrationTests/custom-setup/custom-setup-without-cabal/Setup.hs
  tests/IntegrationTests/custom-setup/custom-setup-without-cabal/custom-setup-without-cabal.cabal
kristenk's avatar
kristenk committed
58 59
  tests/IntegrationTests/custom-setup/custom-setup/Setup.hs
  tests/IntegrationTests/custom-setup/custom-setup/custom-setup.cabal
60 61
  tests/IntegrationTests/custom-setup/custom_setup_without_Cabal_doesnt_allow_Cabal_import.sh
  tests/IntegrationTests/custom-setup/custom_setup_without_Cabal_doesnt_require_Cabal.sh
kristenk's avatar
kristenk committed
62
  tests/IntegrationTests/custom-setup/installs_Cabal_as_setup_dep.sh
63 64 65 66 67 68 69
  tests/IntegrationTests/custom/custom_dep.sh
  tests/IntegrationTests/custom/custom_dep/client/B.hs
  tests/IntegrationTests/custom/custom_dep/client/Setup.hs
  tests/IntegrationTests/custom/custom_dep/client/client.cabal
  tests/IntegrationTests/custom/custom_dep/custom/A.hs
  tests/IntegrationTests/custom/custom_dep/custom/Setup.hs
  tests/IntegrationTests/custom/custom_dep/custom/custom.cabal
70 71 72 73
  tests/IntegrationTests/custom/plain.sh
  tests/IntegrationTests/custom/plain/A.hs
  tests/IntegrationTests/custom/plain/Setup.hs
  tests/IntegrationTests/custom/plain/plain.cabal
74 75 76 77
  tests/IntegrationTests/custom/segfault.sh
  tests/IntegrationTests/custom/segfault/Setup.hs
  tests/IntegrationTests/custom/segfault/cabal.project
  tests/IntegrationTests/custom/segfault/plain.cabal
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
  tests/IntegrationTests/exec/Foo.hs
  tests/IntegrationTests/exec/My.hs
  tests/IntegrationTests/exec/adds_sandbox_bin_directory_to_path.out
  tests/IntegrationTests/exec/adds_sandbox_bin_directory_to_path.sh
  tests/IntegrationTests/exec/auto_configures_on_exec.out
  tests/IntegrationTests/exec/auto_configures_on_exec.sh
  tests/IntegrationTests/exec/can_run_executables_installed_in_sandbox.out
  tests/IntegrationTests/exec/can_run_executables_installed_in_sandbox.sh
  tests/IntegrationTests/exec/configures_cabal_to_use_sandbox.sh
  tests/IntegrationTests/exec/configures_ghc_to_use_sandbox.sh
  tests/IntegrationTests/exec/exit_with_failure_without_args.err
  tests/IntegrationTests/exec/exit_with_failure_without_args.sh
  tests/IntegrationTests/exec/my.cabal
  tests/IntegrationTests/exec/runs_given_command.out
  tests/IntegrationTests/exec/runs_given_command.sh
  tests/IntegrationTests/freeze/disable_benchmarks_freezes_bench_deps.sh
  tests/IntegrationTests/freeze/disable_tests_freezes_test_deps.sh
  tests/IntegrationTests/freeze/does_not_freeze_nondeps.sh
  tests/IntegrationTests/freeze/does_not_freeze_self.sh
  tests/IntegrationTests/freeze/dry_run_does_not_create_config.sh
  tests/IntegrationTests/freeze/enable_benchmarks_freezes_bench_deps.sh
  tests/IntegrationTests/freeze/enable_tests_freezes_test_deps.sh
  tests/IntegrationTests/freeze/freezes_direct_dependencies.sh
  tests/IntegrationTests/freeze/freezes_transitive_dependencies.sh
  tests/IntegrationTests/freeze/my.cabal
  tests/IntegrationTests/freeze/runs_without_error.sh
104
  tests/IntegrationTests/internal-libs/cabal.project
105 106
  tests/IntegrationTests/internal-libs/internal_lib_basic.sh
  tests/IntegrationTests/internal-libs/internal_lib_shadow.sh
107
  tests/IntegrationTests/internal-libs/new_build.sh
108 109 110 111 112 113 114 115 116 117 118 119
  tests/IntegrationTests/internal-libs/p/Foo.hs
  tests/IntegrationTests/internal-libs/p/p.cabal
  tests/IntegrationTests/internal-libs/p/p/P.hs
  tests/IntegrationTests/internal-libs/p/q/Q.hs
  tests/IntegrationTests/internal-libs/q/Q.hs
  tests/IntegrationTests/internal-libs/q/q.cabal
  tests/IntegrationTests/manpage/outputs_manpage.sh
  tests/IntegrationTests/multiple-source/finds_second_source_of_multiple_source.sh
  tests/IntegrationTests/multiple-source/p/Setup.hs
  tests/IntegrationTests/multiple-source/p/p.cabal
  tests/IntegrationTests/multiple-source/q/Setup.hs
  tests/IntegrationTests/multiple-source/q/q.cabal
120 121 122 123 124 125
  tests/IntegrationTests/new-build/BuildToolsPath.sh
  tests/IntegrationTests/new-build/BuildToolsPath/A.hs
  tests/IntegrationTests/new-build/BuildToolsPath/MyCustomPreprocessor.hs
  tests/IntegrationTests/new-build/BuildToolsPath/build-tools-path.cabal
  tests/IntegrationTests/new-build/BuildToolsPath/cabal.project
  tests/IntegrationTests/new-build/BuildToolsPath/hello/Hello.hs
Edward Z. Yang's avatar
Edward Z. Yang committed
126 127 128 129 130 131 132 133 134 135 136
  tests/IntegrationTests/new-build/T3460.sh
  tests/IntegrationTests/new-build/T3460/C.hs
  tests/IntegrationTests/new-build/T3460/Setup.hs
  tests/IntegrationTests/new-build/T3460/T3460.cabal
  tests/IntegrationTests/new-build/T3460/cabal.project
  tests/IntegrationTests/new-build/T3460/sub-package-A/A.hs
  tests/IntegrationTests/new-build/T3460/sub-package-A/Setup.hs
  tests/IntegrationTests/new-build/T3460/sub-package-A/sub-package-A.cabal
  tests/IntegrationTests/new-build/T3460/sub-package-B/B.hs
  tests/IntegrationTests/new-build/T3460/sub-package-B/Setup.hs
  tests/IntegrationTests/new-build/T3460/sub-package-B/sub-package-B.cabal
137 138 139 140 141
  tests/IntegrationTests/new-build/executable/Main.hs
  tests/IntegrationTests/new-build/executable/Setup.hs
  tests/IntegrationTests/new-build/executable/Test.hs
  tests/IntegrationTests/new-build/executable/a.cabal
  tests/IntegrationTests/new-build/executable/cabal.project
142 143 144 145 146 147
  tests/IntegrationTests/new-build/external_build_tools.sh
  tests/IntegrationTests/new-build/external_build_tools/cabal.project
  tests/IntegrationTests/new-build/external_build_tools/client/Hello.hs
  tests/IntegrationTests/new-build/external_build_tools/client/client.cabal
  tests/IntegrationTests/new-build/external_build_tools/happy/MyCustomPreprocessor.hs
  tests/IntegrationTests/new-build/external_build_tools/happy/happy.cabal
148
  tests/IntegrationTests/new-build/monitor_cabal_files.sh
149
  tests/IntegrationTests/new-build/monitor_cabal_files/cabal.project
150 151 152 153 154 155 156
  tests/IntegrationTests/new-build/monitor_cabal_files/p/P.hs
  tests/IntegrationTests/new-build/monitor_cabal_files/p/Setup.hs
  tests/IntegrationTests/new-build/monitor_cabal_files/p/p.cabal
  tests/IntegrationTests/new-build/monitor_cabal_files/q/Main.hs
  tests/IntegrationTests/new-build/monitor_cabal_files/q/Setup.hs
  tests/IntegrationTests/new-build/monitor_cabal_files/q/q-broken.cabal.in
  tests/IntegrationTests/new-build/monitor_cabal_files/q/q-fixed.cabal.in
157 158 159 160
  tests/IntegrationTests/regression/t2755.sh
  tests/IntegrationTests/regression/t2755/A.hs
  tests/IntegrationTests/regression/t2755/Setup.hs
  tests/IntegrationTests/regression/t2755/test-t2755.cabal
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
161 162 163 164
  tests/IntegrationTests/regression/t3199.sh
  tests/IntegrationTests/regression/t3199/Main.hs
  tests/IntegrationTests/regression/t3199/Setup.hs
  tests/IntegrationTests/regression/t3199/test-3199.cabal
165 166 167 168 169
  tests/IntegrationTests/regression/t3335.sh
  tests/IntegrationTests/regression/t3335/A.hs
  tests/IntegrationTests/regression/t3335/Setup.hs
  tests/IntegrationTests/regression/t3335/cabal.project
  tests/IntegrationTests/regression/t3335/t3335.cabal
170 171 172 173 174 175
  tests/IntegrationTests/regression/t3827.sh
  tests/IntegrationTests/regression/t3827/cabal.project
  tests/IntegrationTests/regression/t3827/p/P.hs
  tests/IntegrationTests/regression/t3827/p/p.cabal
  tests/IntegrationTests/regression/t3827/q/Main.hs
  tests/IntegrationTests/regression/t3827/q/q.cabal
176 177 178 179 180
  tests/IntegrationTests/sandbox-reinstalls/p/Main.hs
  tests/IntegrationTests/sandbox-reinstalls/p/p.cabal
  tests/IntegrationTests/sandbox-reinstalls/q/Q.hs
  tests/IntegrationTests/sandbox-reinstalls/q/q.cabal
  tests/IntegrationTests/sandbox-reinstalls/reinstall-modified-source.sh
181 182 183 184 185 186 187 188 189
  tests/IntegrationTests/sandbox-sources/fail_removing_source_thats_not_registered.err
  tests/IntegrationTests/sandbox-sources/fail_removing_source_thats_not_registered.sh
  tests/IntegrationTests/sandbox-sources/p/Setup.hs
  tests/IntegrationTests/sandbox-sources/p/p.cabal
  tests/IntegrationTests/sandbox-sources/q/Setup.hs
  tests/IntegrationTests/sandbox-sources/q/q.cabal
  tests/IntegrationTests/sandbox-sources/remove_nonexistent_source.sh
  tests/IntegrationTests/sandbox-sources/report_success_removing_source.out
  tests/IntegrationTests/sandbox-sources/report_success_removing_source.sh
190
  tests/IntegrationTests/user-config/common.sh
191 192 193 194 195 196 197 198
  tests/IntegrationTests/user-config/doesnt_overwrite_without_f.err
  tests/IntegrationTests/user-config/doesnt_overwrite_without_f.sh
  tests/IntegrationTests/user-config/overwrites_with_f.out
  tests/IntegrationTests/user-config/overwrites_with_f.sh
  tests/IntegrationTests/user-config/runs_without_error.out
  tests/IntegrationTests/user-config/runs_without_error.sh
  tests/IntegrationTests/user-config/uses_CABAL_CONFIG.out
  tests/IntegrationTests/user-config/uses_CABAL_CONFIG.sh
199
  tests/IntegrationTests2.hs
200 201 202 203 204
  tests/IntegrationTests2/build/keep-going/cabal.project
  tests/IntegrationTests2/build/keep-going/p/P.hs
  tests/IntegrationTests2/build/keep-going/p/p.cabal
  tests/IntegrationTests2/build/keep-going/q/Q.hs
  tests/IntegrationTests2/build/keep-going/q/q.cabal
205 206 207 208 209 210 211 212 213
  tests/IntegrationTests2/build/setup-custom1/A.hs
  tests/IntegrationTests2/build/setup-custom1/Setup.hs
  tests/IntegrationTests2/build/setup-custom1/a.cabal
  tests/IntegrationTests2/build/setup-custom2/A.hs
  tests/IntegrationTests2/build/setup-custom2/Setup.hs
  tests/IntegrationTests2/build/setup-custom2/a.cabal
  tests/IntegrationTests2/build/setup-simple/A.hs
  tests/IntegrationTests2/build/setup-simple/Setup.hs
  tests/IntegrationTests2/build/setup-simple/a.cabal
214
  tests/IntegrationTests2/exception/bad-config/cabal.project
215 216 217 218 219
  tests/IntegrationTests2/exception/build/Main.hs
  tests/IntegrationTests2/exception/build/a.cabal
  tests/IntegrationTests2/exception/configure/a.cabal
  tests/IntegrationTests2/exception/no-pkg/empty.in
  tests/IntegrationTests2/exception/no-pkg2/cabal.project
220 221 222 223 224
  tests/IntegrationTests2/regression/3324/cabal.project
  tests/IntegrationTests2/regression/3324/p/P.hs
  tests/IntegrationTests2/regression/3324/p/p.cabal
  tests/IntegrationTests2/regression/3324/q/Q.hs
  tests/IntegrationTests2/regression/3324/q/q.cabal
225
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
226 227

source-repository head
228 229
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
230
  subdir:   cabal-install
231

232 233 234 235
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

236 237 238 239
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

240 241 242 243
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

244 245 246 247
Flag debug-conflict-sets
  description:  Add additional information to ConflictSets
  default:      False

Edsko de Vries's avatar
Edsko de Vries committed
248 249 250 251
Flag debug-tracetree
  description:  Compile in support for tracetree (used to debug the solver)
  default:      False

252 253
executable cabal
    main-is:        Main.hs
254
    ghc-options:    -Wall -fwarn-tabs -rtsopts
255
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
256 257 258
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
259

260
    other-modules:
261
        Distribution.Client.BuildTarget
Duncan Coutts's avatar
Duncan Coutts committed
262 263
        Distribution.Client.BuildReports.Anonymous
        Distribution.Client.BuildReports.Storage
Duncan Coutts's avatar
Duncan Coutts committed
264
        Distribution.Client.BuildReports.Types
Duncan Coutts's avatar
Duncan Coutts committed
265
        Distribution.Client.BuildReports.Upload
266
        Distribution.Client.Check
267 268
        Distribution.Client.CmdBuild
        Distribution.Client.CmdConfigure
Duncan Coutts's avatar
Duncan Coutts committed
269
        Distribution.Client.CmdFreeze
270
        Distribution.Client.CmdRepl
271
        Distribution.Client.Config
Duncan Coutts's avatar
Duncan Coutts committed
272
        Distribution.Client.Configure
273 274
        Distribution.Client.Dependency
        Distribution.Client.Dependency.Types
Duncan Coutts's avatar
Duncan Coutts committed
275
        Distribution.Client.DistDirLayout
barmston's avatar
barmston committed
276
        Distribution.Client.Exec
277
        Distribution.Client.Fetch
Duncan Coutts's avatar
Duncan Coutts committed
278
        Distribution.Client.FetchUtils
279
        Distribution.Client.FileMonitor
280
        Distribution.Client.Freeze
281
        Distribution.Client.GenBounds
282
        Distribution.Client.Get
283
        Distribution.Client.Glob
284
        Distribution.Client.GlobalFlags
285
        Distribution.Client.GZipUtils
286
        Distribution.Client.Haddock
287 288
        Distribution.Client.HttpUtils
        Distribution.Client.IndexUtils
289
        Distribution.Client.IndexUtils.Timestamp
290 291 292 293
        Distribution.Client.Init
        Distribution.Client.Init.Heuristics
        Distribution.Client.Init.Licenses
        Distribution.Client.Init.Types
294 295
        Distribution.Client.Install
        Distribution.Client.InstallPlan
296
        Distribution.Client.InstallSymlink
297
        Distribution.Client.JobControl
298
        Distribution.Client.List
Maciek Makowski's avatar
Maciek Makowski committed
299
        Distribution.Client.Manpage
Duncan Coutts's avatar
Duncan Coutts committed
300
        Distribution.Client.PackageHash
301
        Distribution.Client.PackageUtils
302
        Distribution.Client.ParseUtils
Duncan Coutts's avatar
Duncan Coutts committed
303
        Distribution.Client.ProjectBuilding
304
        Distribution.Client.ProjectBuilding.Types
305 306 307
        Distribution.Client.ProjectConfig
        Distribution.Client.ProjectConfig.Types
        Distribution.Client.ProjectConfig.Legacy
308
        Distribution.Client.ProjectOrchestration
Duncan Coutts's avatar
Duncan Coutts committed
309
        Distribution.Client.ProjectPlanning
310
        Distribution.Client.ProjectPlanning.Types
311
        Distribution.Client.ProjectPlanOutput
312
        Distribution.Client.RebuildMonad
ttuegel's avatar
ttuegel committed
313 314
        Distribution.Client.Reconfigure
        Distribution.Client.Run
315
        Distribution.Client.Sandbox
316 317
        Distribution.Client.Sandbox.Index
        Distribution.Client.Sandbox.PackageEnvironment
318
        Distribution.Client.Sandbox.Timestamp
319
        Distribution.Client.Sandbox.Types
ttuegel's avatar
ttuegel committed
320
        Distribution.Client.SavedFlags
Edsko de Vries's avatar
Edsko de Vries committed
321
        Distribution.Client.Security.HTTP
322 323 324
        Distribution.Client.Setup
        Distribution.Client.SetupWrapper
        Distribution.Client.SrcDist
325
        Distribution.Client.SolverInstallPlan
326
        Distribution.Client.SolverPlanIndex
327
        Distribution.Client.Tar
328
        Distribution.Client.Targets
329 330 331 332
        Distribution.Client.Types
        Distribution.Client.Update
        Distribution.Client.Upload
        Distribution.Client.Utils
333
        Distribution.Client.Utils.Json
334
        Distribution.Client.World
335
        Distribution.Client.Win32SelfUpgrade
336
        Distribution.Client.Compat.ExecutablePath
337
        Distribution.Client.Compat.FilePerms
338
        Distribution.Client.Compat.Prelude
339
        Distribution.Client.Compat.Process
340
        Distribution.Client.Compat.Semaphore
341
        Distribution.Solver.Types.ComponentDeps
342
        Distribution.Solver.Types.ConstraintSource
343
        Distribution.Solver.Types.DependencyResolver
344
        Distribution.Solver.Types.InstalledPreference
345
        Distribution.Solver.Types.InstSolverPackage
346
        Distribution.Solver.Types.LabeledPackageConstraint
347
        Distribution.Solver.Types.OptionalStanza
348
        Distribution.Solver.Types.PackageConstraint
349 350
        Distribution.Solver.Types.PackageFixedDeps
        Distribution.Solver.Types.PackageIndex
351
        Distribution.Solver.Types.PackagePath
352
        Distribution.Solver.Types.PackagePreferences
353 354
        Distribution.Solver.Types.PkgConfigDb
        Distribution.Solver.Types.Progress
355
        Distribution.Solver.Types.ResolverPackage
356 357 358 359
        Distribution.Solver.Types.Settings
        Distribution.Solver.Types.SolverId
        Distribution.Solver.Types.SolverPackage
        Distribution.Solver.Types.SourcePackage
360
        Distribution.Solver.Types.Variable
361 362 363 364 365 366 367
        Distribution.Solver.Modular
        Distribution.Solver.Modular.Assignment
        Distribution.Solver.Modular.Builder
        Distribution.Solver.Modular.Configured
        Distribution.Solver.Modular.ConfiguredConversion
        Distribution.Solver.Modular.ConflictSet
        Distribution.Solver.Modular.Cycles
368
        Distribution.Solver.Modular.Degree
369 370 371 372 373 374 375 376 377 378 379 380
        Distribution.Solver.Modular.Dependency
        Distribution.Solver.Modular.Explore
        Distribution.Solver.Modular.Flag
        Distribution.Solver.Modular.Index
        Distribution.Solver.Modular.IndexConversion
        Distribution.Solver.Modular.Linking
        Distribution.Solver.Modular.LabeledGraph
        Distribution.Solver.Modular.Log
        Distribution.Solver.Modular.Message
        Distribution.Solver.Modular.Package
        Distribution.Solver.Modular.Preference
        Distribution.Solver.Modular.PSQ
381
        Distribution.Solver.Modular.RetryLog
382 383 384 385 386
        Distribution.Solver.Modular.Solver
        Distribution.Solver.Modular.Tree
        Distribution.Solver.Modular.Validate
        Distribution.Solver.Modular.Var
        Distribution.Solver.Modular.Version
387
        Distribution.Solver.Modular.WeightedPSQ
388
        Paths_cabal_install
389

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
390 391
    -- NOTE: when updating build-depends, don't forget to update version regexps
    -- in bootstrap.sh.
Ben Millwood's avatar
Ben Millwood committed
392
    build-depends:
Duncan Coutts's avatar
Duncan Coutts committed
393
        async      >= 2.0      && < 3,
394 395
        array      >= 0.4      && < 0.6,
        base       >= 4.5      && < 5,
396
        base16-bytestring >= 0.1.1 && < 0.2,
397
        binary     >= 0.5      && < 0.9,
Ben Millwood's avatar
Ben Millwood committed
398
        bytestring >= 0.9      && < 1,
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
399
        Cabal      >= 1.25     && < 1.26,
400
        containers >= 0.4      && < 0.6,
401
        cryptohash-sha256 >= 0.11 && < 0.12,
402
        deepseq    >= 1.3      && < 1.5,
403
        filepath   >= 1.3      && < 1.5,
404
        hashable   >= 1.0      && < 2,
405
        HTTP       >= 4000.1.5 && < 4000.4,
Ben Millwood's avatar
Ben Millwood committed
406
        mtl        >= 2.0      && < 3,
407
        pretty     >= 1.1      && < 1.2,
dsf's avatar
dsf committed
408
        random     >= 1        && < 1.2,
Ben Millwood's avatar
Ben Millwood committed
409
        stm        >= 2.0      && < 3,
410
        tar        >= 0.5.0.3  && < 0.6,
411
        time       >= 1.4      && < 1.7,
Edsko de Vries's avatar
Edsko de Vries committed
412
        zlib       >= 0.5.3    && < 0.7,
413
        hackage-security >= 0.5.2.2 && < 0.6
414

415 416 417 418 419
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

420
    if flag(old-directory)
421
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
422
                     process   >= 1.0.1.1  && < 1.1.0.2
423
    else
424
      build-depends: directory >= 1.2 && < 1.3,
425
                     process   >= 1.1.0.2  && < 1.5
426

427 428 429
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
430
    if flag(network-uri)
431
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
432
    else
tibbe's avatar
tibbe committed
433
      build-depends: network     >= 2.4 && < 2.6
434

435 436 437 438
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

439
    if os(windows)
440
      build-depends: Win32 >= 2 && < 3
441
    else
442
      build-depends: unix >= 2.5 && < 2.8
443

444 445
    if !(arch(arm) && impl(ghc < 7.6))
      ghc-options: -threaded
446

447 448 449 450
    if flag(debug-conflict-sets)
      cpp-options: -DDEBUG_CONFLICT_SETS
      build-depends: base >= 4.8

Edsko de Vries's avatar
Edsko de Vries committed
451 452 453 454
    if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
455
    default-language: Haskell2010
456

barmston's avatar
barmston committed
457
-- Small, fast running tests.
458 459 460
Test-Suite unit-tests
  type: exitcode-stdio-1.0
  main-is: UnitTests.hs
461 462 463
  hs-source-dirs: tests, .
  ghc-options: -Wall -fwarn-tabs
  other-modules:
464
    UnitTests.Distribution.Client.ArbitraryInstances
465
    UnitTests.Distribution.Client.Targets
Duncan Coutts's avatar
Duncan Coutts committed
466
    UnitTests.Distribution.Client.FileMonitor
467
    UnitTests.Distribution.Client.Glob
468
    UnitTests.Distribution.Client.GZipUtils
469
    UnitTests.Distribution.Client.Sandbox
470
    UnitTests.Distribution.Client.Sandbox.Timestamp
471
    UnitTests.Distribution.Client.Tar
472
    UnitTests.Distribution.Client.UserConfig
473
    UnitTests.Distribution.Client.ProjectConfig
474
    UnitTests.Distribution.Client.JobControl
475
    UnitTests.Distribution.Client.IndexUtils.Timestamp
476
    UnitTests.Distribution.Client.InstallPlan
477
    UnitTests.Distribution.Solver.Modular.PSQ
478
    UnitTests.Distribution.Solver.Modular.RetryLog
479 480
    UnitTests.Distribution.Solver.Modular.Solver
    UnitTests.Distribution.Solver.Modular.DSL
kristenk's avatar
kristenk committed
481
    UnitTests.Distribution.Solver.Modular.WeightedPSQ
482
    UnitTests.Options
483 484
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
485
        async,
486 487 488 489
        array,
        bytestring,
        Cabal,
        containers,
490
        deepseq,
491 492 493 494
        mtl,
        pretty,
        process,
        directory,
495
        filepath,
Duncan Coutts's avatar
Duncan Coutts committed
496
        hashable,
497
        stm,
Duncan Coutts's avatar
Duncan Coutts committed
498
        tar,
499 500 501
        time,
        HTTP,
        zlib,
502
        binary,
503
        random,
Edsko de Vries's avatar
Edsko de Vries committed
504
        hackage-security,
505 506 507
        tasty,
        tasty-hunit,
        tasty-quickcheck,
Edsko de Vries's avatar
Edsko de Vries committed
508
        tagged,
509
        QuickCheck >= 2.8.2
510 511 512 513

  if flag(old-directory)
    build-depends: old-time

514 515 516 517 518
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

519 520 521
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

522 523 524 525 526
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

527 528
  ghc-options: -fno-ignore-asserts

529
  if !(arch(arm) && impl(ghc < 7.6))
530
    ghc-options: -threaded
531 532 533 534 535

  if flag(debug-conflict-sets)
    cpp-options: -DDEBUG_CONFLICT_SETS
    build-depends: base >= 4.8

Edsko de Vries's avatar
Edsko de Vries committed
536 537 538 539
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
540
  default-language: Haskell2010
barmston's avatar
barmston committed
541

542 543 544 545 546
-- Slow solver tests
Test-Suite solver-quickcheck
  type: exitcode-stdio-1.0
  main-is: SolverQuickCheck.hs
  hs-source-dirs: tests, .
547
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
548
  other-modules:
549 550
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
551 552
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
553
        async,
554 555 556 557
        array,
        bytestring,
        Cabal,
        containers,
558
        deepseq >= 1.2,
559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593
        mtl,
        pretty,
        process,
        directory,
        filepath,
        hashable,
        stm,
        tar,
        time,
        HTTP,
        zlib,
        binary,
        random,
        hackage-security,
        tasty,
        tasty-quickcheck,
        QuickCheck >= 2.8.2,
        pretty-show

  if flag(old-directory)
    build-depends: old-time

  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

594
  if !(arch(arm) && impl(ghc < 7.6))
595
    ghc-options: -threaded
596 597 598 599 600

  if flag(debug-conflict-sets)
    cpp-options: -DDEBUG_CONFLICT_SETS
    build-depends: base >= 4.8

Edsko de Vries's avatar
Edsko de Vries committed
601 602 603 604
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

605 606
  default-language: Haskell2010

607
-- Integration tests that call the cabal executable externally
608
test-suite integration-tests
barmston's avatar
barmston committed
609 610
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
611
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
612 613
  build-depends:
    Cabal,
614
    async,
barmston's avatar
barmston committed
615 616 617 618 619
    base,
    bytestring,
    directory,
    filepath,
    process,
620
    regex-posix,
621
    tasty,
622
    tasty-hunit
barmston's avatar
barmston committed
623 624 625 626

  if os(windows)
    build-depends: Win32 >= 2 && < 3
  else
627
    build-depends: unix >= 2.5 && < 2.8
barmston's avatar
barmston committed
628

629
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
630 631
    ghc-options: -threaded

632
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
633
  default-language: Haskell2010
634

635 636 637 638 639 640
-- Integration tests that use the cabal-install code directly
-- but still build whole projects
test-suite integration-tests2
  type: exitcode-stdio-1.0
  main-is: IntegrationTests2.hs
  hs-source-dirs: tests, .
641
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
642 643 644 645 646 647 648 649 650 651 652
  other-modules:
  build-depends:
        async,
        array,
        base,
        base16-bytestring,
        binary,
        bytestring,
        Cabal,
        containers,
        cryptohash-sha256,
653
        deepseq,
654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669
        directory,
        filepath,
        hackage-security,
        hashable,
        HTTP,
        mtl,
        network,
        network-uri,
        pretty,
        process,
        random,
        stm,
        tar,
        time,
        zlib,
        tasty,
670 671
        tasty-hunit,
        tagged
672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692

  if flag(old-bytestring)
    build-depends: bytestring-builder

  if flag(old-directory)
    build-depends: old-time

  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

  if arch(arm)
    cc-options:  -DCABAL_NO_THREADED
  else
    ghc-options: -threaded
  default-language: Haskell2010

693 694 695 696 697
custom-setup
  setup-depends: Cabal >= 1.25,
                 base,
                 process   >= 1.1.0.1  && < 1.5,
                 filepath   >= 1.3      && < 1.5