cabal-install.cabal 26.7 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/T3978.err
  tests/IntegrationTests/new-build/T3978.sh
  tests/IntegrationTests/new-build/T3978/cabal.project
  tests/IntegrationTests/new-build/T3978/p/p.cabal
  tests/IntegrationTests/new-build/T3978/q/q.cabal
142 143 144 145 146
  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
147 148 149 150 151 152
  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
153
  tests/IntegrationTests/new-build/monitor_cabal_files.sh
154
  tests/IntegrationTests/new-build/monitor_cabal_files/cabal.project
155 156 157 158 159 160 161
  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
162 163 164 165
  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
166 167 168 169
  tests/IntegrationTests/regression/t3199.sh
  tests/IntegrationTests/regression/t3199/Main.hs
  tests/IntegrationTests/regression/t3199/Setup.hs
  tests/IntegrationTests/regression/t3199/test-3199.cabal
170 171 172 173 174
  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
175 176 177 178 179 180
  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
181 182 183 184 185
  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
186 187 188 189 190 191 192 193 194
  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
195
  tests/IntegrationTests/user-config/common.sh
196 197 198 199 200 201 202 203
  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
204 205 206 207 208
  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
209 210 211 212 213 214 215 216 217
  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
218
  tests/IntegrationTests2/exception/bad-config/cabal.project
219 220 221 222 223
  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
224 225 226 227 228
  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
229
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
230 231

source-repository head
232 233
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
234
  subdir:   cabal-install
235

236 237 238 239
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

240 241 242 243
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

244 245 246 247
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

248 249 250 251
Flag debug-conflict-sets
  description:  Add additional information to ConflictSets
  default:      False

Edsko de Vries's avatar
Edsko de Vries committed
252 253 254 255
Flag debug-tracetree
  description:  Compile in support for tracetree (used to debug the solver)
  default:      False

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

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

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

421 422 423 424 425
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

426
    if flag(old-directory)
427
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
428
                     process   >= 1.0.1.1  && < 1.1.0.2
429
    else
430
      build-depends: directory >= 1.2 && < 1.3,
431
                     process   >= 1.1.0.2  && < 1.5
432

433 434 435
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
436
    if flag(network-uri)
437
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
438
    else
tibbe's avatar
tibbe committed
439
      build-depends: network     >= 2.4 && < 2.6
440

441 442 443 444
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

445
    if os(windows)
446
      build-depends: Win32 >= 2 && < 3
447
    else
448
      build-depends: unix >= 2.5 && < 2.8
449

450 451
    if !(arch(arm) && impl(ghc < 7.6))
      ghc-options: -threaded
452

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

Edsko de Vries's avatar
Edsko de Vries committed
457 458 459 460
    if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
461
    default-language: Haskell2010
462

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

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

520 521 522 523 524
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

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

528 529 530 531 532
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

533 534
  ghc-options: -fno-ignore-asserts

535
  if !(arch(arm) && impl(ghc < 7.6))
536
    ghc-options: -threaded
537 538 539 540 541

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

Edsko de Vries's avatar
Edsko de Vries committed
542 543 544 545
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
546
  default-language: Haskell2010
barmston's avatar
barmston committed
547

548 549 550 551 552
-- Slow solver tests
Test-Suite solver-quickcheck
  type: exitcode-stdio-1.0
  main-is: SolverQuickCheck.hs
  hs-source-dirs: tests, .
553
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
554
  other-modules:
555 556
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
557 558
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
559
        async,
560 561 562 563
        array,
        bytestring,
        Cabal,
        containers,
564
        deepseq >= 1.2,
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 594 595 596 597 598 599
        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

600
  if !(arch(arm) && impl(ghc < 7.6))
601
    ghc-options: -threaded
602 603 604 605 606

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

Edsko de Vries's avatar
Edsko de Vries committed
607 608 609 610
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

611 612
  default-language: Haskell2010

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

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

635
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
636 637
    ghc-options: -threaded

638
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
639
  default-language: Haskell2010
640

641 642 643 644 645 646
-- 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, .
647
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
648 649 650 651 652 653 654 655 656 657 658
  other-modules:
  build-depends:
        async,
        array,
        base,
        base16-bytestring,
        binary,
        bytestring,
        Cabal,
        containers,
        cryptohash-sha256,
659
        deepseq,
660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675
        directory,
        filepath,
        hackage-security,
        hashable,
        HTTP,
        mtl,
        network,
        network-uri,
        pretty,
        process,
        random,
        stm,
        tar,
        time,
        zlib,
        tasty,
676 677
        tasty-hunit,
        tagged
678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698

  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

699 700 701 702 703
custom-setup
  setup-depends: Cabal >= 1.25,
                 base,
                 process   >= 1.1.0.1  && < 1.5,
                 filepath   >= 1.3      && < 1.5