cabal-install.cabal 24.8 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
  tests/IntegrationTests/common.sh
kristenk's avatar
kristenk committed
26 27 28 29
  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
30 31 32 33
  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
34 35
  tests/IntegrationTests/custom-setup/custom-setup/Setup.hs
  tests/IntegrationTests/custom-setup/custom-setup/custom-setup.cabal
36 37
  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
38
  tests/IntegrationTests/custom-setup/installs_Cabal_as_setup_dep.sh
39 40 41 42 43 44 45
  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
46 47 48 49 50
  tests/IntegrationTests/custom/plain.err
  tests/IntegrationTests/custom/plain.sh
  tests/IntegrationTests/custom/plain/A.hs
  tests/IntegrationTests/custom/plain/Setup.hs
  tests/IntegrationTests/custom/plain/plain.cabal
51 52 53 54
  tests/IntegrationTests/custom/segfault.sh
  tests/IntegrationTests/custom/segfault/Setup.hs
  tests/IntegrationTests/custom/segfault/cabal.project
  tests/IntegrationTests/custom/segfault/plain.cabal
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
  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
81
  tests/IntegrationTests/internal-libs/cabal.project
82 83
  tests/IntegrationTests/internal-libs/internal_lib_basic.sh
  tests/IntegrationTests/internal-libs/internal_lib_shadow.sh
84
  tests/IntegrationTests/internal-libs/new_build.sh
85 86 87 88 89 90 91 92 93 94 95 96
  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
97 98 99 100 101 102
  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
103 104 105 106 107 108 109 110 111 112 113
  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
114 115 116 117 118
  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
119 120 121 122 123 124
  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
125
  tests/IntegrationTests/new-build/monitor_cabal_files.sh
126
  tests/IntegrationTests/new-build/monitor_cabal_files/cabal.project
127 128 129 130 131 132 133
  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
134 135 136 137
  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
138 139 140 141
  tests/IntegrationTests/regression/t3199.sh
  tests/IntegrationTests/regression/t3199/Main.hs
  tests/IntegrationTests/regression/t3199/Setup.hs
  tests/IntegrationTests/regression/t3199/test-3199.cabal
142 143 144 145 146
  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
147 148 149 150 151 152
  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
153 154 155 156 157
  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
158 159 160 161 162 163 164 165 166
  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
167
  tests/IntegrationTests/user-config/common.sh
168 169 170 171 172 173 174 175
  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
176
  tests/IntegrationTests2.hs
177 178 179 180 181
  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
182 183 184 185 186 187 188 189 190
  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
191
  tests/IntegrationTests2/exception/bad-config/cabal.project
192 193 194 195 196
  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
197 198 199 200 201
  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
202
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
203 204

source-repository head
205 206
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
207
  subdir:   cabal-install
208

209 210 211 212
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

213 214 215 216
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

217 218 219 220
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

221 222 223 224
Flag debug-conflict-sets
  description:  Add additional information to ConflictSets
  default:      False

Edsko de Vries's avatar
Edsko de Vries committed
225 226 227 228
Flag debug-tracetree
  description:  Compile in support for tracetree (used to debug the solver)
  default:      False

229 230 231
executable cabal
    main-is:        Main.hs
    ghc-options:    -Wall -fwarn-tabs
232
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
233 234 235
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
236

237
    other-modules:
238
        Distribution.Client.BuildTarget
Duncan Coutts's avatar
Duncan Coutts committed
239 240
        Distribution.Client.BuildReports.Anonymous
        Distribution.Client.BuildReports.Storage
Duncan Coutts's avatar
Duncan Coutts committed
241
        Distribution.Client.BuildReports.Types
Duncan Coutts's avatar
Duncan Coutts committed
242
        Distribution.Client.BuildReports.Upload
243
        Distribution.Client.Check
244 245
        Distribution.Client.CmdBuild
        Distribution.Client.CmdConfigure
Duncan Coutts's avatar
Duncan Coutts committed
246
        Distribution.Client.CmdFreeze
247
        Distribution.Client.CmdRepl
248
        Distribution.Client.Config
Duncan Coutts's avatar
Duncan Coutts committed
249
        Distribution.Client.Configure
250 251
        Distribution.Client.Dependency
        Distribution.Client.Dependency.Types
Duncan Coutts's avatar
Duncan Coutts committed
252
        Distribution.Client.DistDirLayout
barmston's avatar
barmston committed
253
        Distribution.Client.Exec
254
        Distribution.Client.Fetch
Duncan Coutts's avatar
Duncan Coutts committed
255
        Distribution.Client.FetchUtils
256
        Distribution.Client.FileMonitor
257
        Distribution.Client.Freeze
258
        Distribution.Client.GenBounds
259
        Distribution.Client.Get
260
        Distribution.Client.Glob
261
        Distribution.Client.GlobalFlags
262
        Distribution.Client.GZipUtils
263
        Distribution.Client.Haddock
264 265
        Distribution.Client.HttpUtils
        Distribution.Client.IndexUtils
266 267 268 269
        Distribution.Client.Init
        Distribution.Client.Init.Heuristics
        Distribution.Client.Init.Licenses
        Distribution.Client.Init.Types
270 271
        Distribution.Client.Install
        Distribution.Client.InstallPlan
272
        Distribution.Client.InstallSymlink
273
        Distribution.Client.JobControl
274
        Distribution.Client.List
Maciek Makowski's avatar
Maciek Makowski committed
275
        Distribution.Client.Manpage
Duncan Coutts's avatar
Duncan Coutts committed
276
        Distribution.Client.PackageHash
277
        Distribution.Client.PackageUtils
278
        Distribution.Client.ParseUtils
Duncan Coutts's avatar
Duncan Coutts committed
279
        Distribution.Client.ProjectBuilding
280 281 282
        Distribution.Client.ProjectConfig
        Distribution.Client.ProjectConfig.Types
        Distribution.Client.ProjectConfig.Legacy
283
        Distribution.Client.ProjectOrchestration
Duncan Coutts's avatar
Duncan Coutts committed
284
        Distribution.Client.ProjectPlanning
285
        Distribution.Client.ProjectPlanning.Types
286
        Distribution.Client.ProjectPlanOutput
287
        Distribution.Client.RebuildMonad
ttuegel's avatar
ttuegel committed
288 289
        Distribution.Client.Reconfigure
        Distribution.Client.Run
290
        Distribution.Client.Sandbox
291 292
        Distribution.Client.Sandbox.Index
        Distribution.Client.Sandbox.PackageEnvironment
293
        Distribution.Client.Sandbox.Timestamp
294
        Distribution.Client.Sandbox.Types
ttuegel's avatar
ttuegel committed
295
        Distribution.Client.SavedFlags
Edsko de Vries's avatar
Edsko de Vries committed
296
        Distribution.Client.Security.HTTP
297 298 299
        Distribution.Client.Setup
        Distribution.Client.SetupWrapper
        Distribution.Client.SrcDist
300
        Distribution.Client.SolverInstallPlan
301
        Distribution.Client.SolverPlanIndex
302
        Distribution.Client.Tar
303
        Distribution.Client.Targets
304 305 306 307
        Distribution.Client.Types
        Distribution.Client.Update
        Distribution.Client.Upload
        Distribution.Client.Utils
308
        Distribution.Client.Utils.Json
309
        Distribution.Client.World
310
        Distribution.Client.Win32SelfUpgrade
311
        Distribution.Client.Compat.ExecutablePath
312
        Distribution.Client.Compat.FilePerms
313
        Distribution.Client.Compat.Process
314
        Distribution.Client.Compat.Semaphore
315
        Distribution.Solver.Types.ComponentDeps
316
        Distribution.Solver.Types.ConstraintSource
317
        Distribution.Solver.Types.DependencyResolver
318
        Distribution.Solver.Types.InstalledPreference
319
        Distribution.Solver.Types.InstSolverPackage
320
        Distribution.Solver.Types.LabeledPackageConstraint
321
        Distribution.Solver.Types.OptionalStanza
322
        Distribution.Solver.Types.PackageConstraint
323 324
        Distribution.Solver.Types.PackageFixedDeps
        Distribution.Solver.Types.PackageIndex
325
        Distribution.Solver.Types.PackagePath
326
        Distribution.Solver.Types.PackagePreferences
327 328
        Distribution.Solver.Types.PkgConfigDb
        Distribution.Solver.Types.Progress
329
        Distribution.Solver.Types.ResolverPackage
330 331 332 333
        Distribution.Solver.Types.Settings
        Distribution.Solver.Types.SolverId
        Distribution.Solver.Types.SolverPackage
        Distribution.Solver.Types.SourcePackage
334
        Distribution.Solver.Types.Variable
335 336 337 338 339 340 341
        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
342
        Distribution.Solver.Modular.Degree
343 344 345 346 347 348 349 350 351 352 353 354
        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
355
        Distribution.Solver.Modular.RetryLog
356 357 358 359 360
        Distribution.Solver.Modular.Solver
        Distribution.Solver.Modular.Tree
        Distribution.Solver.Modular.Validate
        Distribution.Solver.Modular.Var
        Distribution.Solver.Modular.Version
361
        Distribution.Solver.Modular.WeightedPSQ
362
        Paths_cabal_install
363

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
364 365
    -- NOTE: when updating build-depends, don't forget to update version regexps
    -- in bootstrap.sh.
Ben Millwood's avatar
Ben Millwood committed
366
    build-depends:
Duncan Coutts's avatar
Duncan Coutts committed
367
        async      >= 2.0      && < 3,
368 369
        array      >= 0.4      && < 0.6,
        base       >= 4.5      && < 5,
370
        base16-bytestring >= 0.1.1 && < 0.2,
371
        binary     >= 0.5      && < 0.9,
Ben Millwood's avatar
Ben Millwood committed
372
        bytestring >= 0.9      && < 1,
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
373
        Cabal      >= 1.25     && < 1.26,
374
        containers >= 0.4      && < 0.6,
375
        cryptohash-sha256 >= 0.11 && < 0.12,
376
        deepseq    >= 1.3      && < 1.5,
377
        filepath   >= 1.3      && < 1.5,
378
        hashable   >= 1.0      && < 2,
379
        HTTP       >= 4000.1.5 && < 4000.4,
Ben Millwood's avatar
Ben Millwood committed
380
        mtl        >= 2.0      && < 3,
381
        pretty     >= 1.1      && < 1.2,
dsf's avatar
dsf committed
382
        random     >= 1        && < 1.2,
Ben Millwood's avatar
Ben Millwood committed
383
        stm        >= 2.0      && < 3,
384
        tar        >= 0.5.0.3  && < 0.6,
385
        time       >= 1.4      && < 1.7,
Edsko de Vries's avatar
Edsko de Vries committed
386
        zlib       >= 0.5.3    && < 0.7,
387
        hackage-security >= 0.5.2.2 && < 0.6
388

389 390 391 392 393
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

394
    if flag(old-directory)
395
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
396
                     process   >= 1.0.1.1  && < 1.1.0.2
397
    else
398
      build-depends: directory >= 1.2 && < 1.3,
399
                     process   >= 1.1.0.2  && < 1.5
400

401 402 403
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
404
    if flag(network-uri)
405
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
406
    else
tibbe's avatar
tibbe committed
407
      build-depends: network     >= 2.4 && < 2.6
408

409 410 411 412
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

413
    if os(windows)
414
      build-depends: Win32 >= 2 && < 3
415
    else
416
      build-depends: unix >= 2.5 && < 2.8
417

418 419
    if !(arch(arm) && impl(ghc < 7.6))
      ghc-options: -threaded
420

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

Edsko de Vries's avatar
Edsko de Vries committed
425 426 427 428
    if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
429
    default-language: Haskell2010
430

barmston's avatar
barmston committed
431
-- Small, fast running tests.
432 433 434
Test-Suite unit-tests
  type: exitcode-stdio-1.0
  main-is: UnitTests.hs
435 436 437
  hs-source-dirs: tests, .
  ghc-options: -Wall -fwarn-tabs
  other-modules:
438
    UnitTests.Distribution.Client.ArbitraryInstances
439
    UnitTests.Distribution.Client.Targets
Duncan Coutts's avatar
Duncan Coutts committed
440
    UnitTests.Distribution.Client.FileMonitor
441
    UnitTests.Distribution.Client.Glob
442
    UnitTests.Distribution.Client.GZipUtils
443
    UnitTests.Distribution.Client.Sandbox
444
    UnitTests.Distribution.Client.Sandbox.Timestamp
445
    UnitTests.Distribution.Client.Tar
446
    UnitTests.Distribution.Client.UserConfig
447
    UnitTests.Distribution.Client.ProjectConfig
448
    UnitTests.Distribution.Client.JobControl
449
    UnitTests.Distribution.Client.InstallPlan
450
    UnitTests.Distribution.Solver.Modular.PSQ
451
    UnitTests.Distribution.Solver.Modular.RetryLog
452 453
    UnitTests.Distribution.Solver.Modular.Solver
    UnitTests.Distribution.Solver.Modular.DSL
kristenk's avatar
kristenk committed
454
    UnitTests.Distribution.Solver.Modular.WeightedPSQ
455
    UnitTests.Options
456 457
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
458
        async,
459 460 461 462
        array,
        bytestring,
        Cabal,
        containers,
463
        deepseq,
464 465 466 467
        mtl,
        pretty,
        process,
        directory,
468
        filepath,
Duncan Coutts's avatar
Duncan Coutts committed
469
        hashable,
470
        stm,
Duncan Coutts's avatar
Duncan Coutts committed
471
        tar,
472 473 474
        time,
        HTTP,
        zlib,
475
        binary,
476
        random,
Edsko de Vries's avatar
Edsko de Vries committed
477
        hackage-security,
478 479 480
        tasty,
        tasty-hunit,
        tasty-quickcheck,
Edsko de Vries's avatar
Edsko de Vries committed
481
        tagged,
482
        QuickCheck >= 2.8.2
483 484 485 486

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

487 488 489 490 491
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

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

495 496 497 498 499
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

500 501
  ghc-options: -fno-ignore-asserts

502
  if !(arch(arm) && impl(ghc < 7.6))
503
    ghc-options: -threaded
504 505 506 507 508

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

Edsko de Vries's avatar
Edsko de Vries committed
509 510 511 512
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
513
  default-language: Haskell2010
barmston's avatar
barmston committed
514

515 516 517 518 519
-- Slow solver tests
Test-Suite solver-quickcheck
  type: exitcode-stdio-1.0
  main-is: SolverQuickCheck.hs
  hs-source-dirs: tests, .
520
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
521
  other-modules:
522 523
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
524 525
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
526
        async,
527 528 529 530
        array,
        bytestring,
        Cabal,
        containers,
531
        deepseq >= 1.2,
532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566
        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

567
  if !(arch(arm) && impl(ghc < 7.6))
568
    ghc-options: -threaded
569 570 571 572 573

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

Edsko de Vries's avatar
Edsko de Vries committed
574 575 576 577
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

578 579
  default-language: Haskell2010

580
-- Integration tests that call the cabal executable externally
581
test-suite integration-tests
barmston's avatar
barmston committed
582 583
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
584
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
585 586
  build-depends:
    Cabal,
587
    async,
barmston's avatar
barmston committed
588 589 590 591 592
    base,
    bytestring,
    directory,
    filepath,
    process,
593
    regex-posix,
594
    tasty,
595
    tasty-hunit
barmston's avatar
barmston committed
596 597 598 599

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

602
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
603 604
    ghc-options: -threaded

605
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
606
  default-language: Haskell2010
607

608 609 610 611 612 613
-- 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, .
614
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
615 616 617 618 619 620 621 622 623 624 625
  other-modules:
  build-depends:
        async,
        array,
        base,
        base16-bytestring,
        binary,
        bytestring,
        Cabal,
        containers,
        cryptohash-sha256,
626
        deepseq,
627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642
        directory,
        filepath,
        hackage-security,
        hashable,
        HTTP,
        mtl,
        network,
        network-uri,
        pretty,
        process,
        random,
        stm,
        tar,
        time,
        zlib,
        tasty,
643 644
        tasty-hunit,
        tagged
645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665

  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

666 667 668 669 670
custom-setup
  setup-depends: Cabal >= 1.25,
                 base,
                 process   >= 1.1.0.1  && < 1.5,
                 filepath   >= 1.3      && < 1.5