cabal-install.cabal 20.3 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
26 27 28 29 30 31 32
  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
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
  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
  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
64
  tests/IntegrationTests/internal-libs/cabal.project
65 66
  tests/IntegrationTests/internal-libs/internal_lib_basic.sh
  tests/IntegrationTests/internal-libs/internal_lib_shadow.sh
67
  tests/IntegrationTests/internal-libs/new_build.sh
68 69 70 71 72 73 74 75 76 77 78 79
  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
80
  tests/IntegrationTests/new-build/monitor_cabal_files.sh
81
  tests/IntegrationTests/new-build/monitor_cabal_files/cabal.project
82 83 84 85 86 87 88
  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
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
89 90 91 92
  tests/IntegrationTests/regression/t3199.sh
  tests/IntegrationTests/regression/t3199/Main.hs
  tests/IntegrationTests/regression/t3199/Setup.hs
  tests/IntegrationTests/regression/t3199/test-3199.cabal
93 94 95 96 97
  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
98 99 100 101 102 103 104 105 106
  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
107
  tests/IntegrationTests/user-config/common.sh
108 109 110 111 112 113 114 115
  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
116
  tests/IntegrationTests2.hs
117 118 119 120 121 122 123 124 125
  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
126 127 128 129 130
  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
131 132 133 134 135
  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
136
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
137 138

source-repository head
139 140
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
141
  subdir:   cabal-install
142

143 144 145 146
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

147 148 149 150
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

151 152 153 154
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

155 156 157 158
Flag debug-conflict-sets
  description:  Add additional information to ConflictSets
  default:      False

Edsko de Vries's avatar
Edsko de Vries committed
159 160 161 162
Flag debug-tracetree
  description:  Compile in support for tracetree (used to debug the solver)
  default:      False

163 164 165
executable cabal
    main-is:        Main.hs
    ghc-options:    -Wall -fwarn-tabs
166
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
167 168 169
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
170

171
    other-modules:
172
        Distribution.Client.BuildTarget
Duncan Coutts's avatar
Duncan Coutts committed
173 174
        Distribution.Client.BuildReports.Anonymous
        Distribution.Client.BuildReports.Storage
Duncan Coutts's avatar
Duncan Coutts committed
175
        Distribution.Client.BuildReports.Types
Duncan Coutts's avatar
Duncan Coutts committed
176
        Distribution.Client.BuildReports.Upload
177
        Distribution.Client.Check
178 179 180
        Distribution.Client.CmdBuild
        Distribution.Client.CmdConfigure
        Distribution.Client.CmdRepl
181
        Distribution.Client.Config
Duncan Coutts's avatar
Duncan Coutts committed
182
        Distribution.Client.Configure
183 184 185 186 187
        Distribution.Client.Dependency
        Distribution.Client.Dependency.TopDown
        Distribution.Client.Dependency.TopDown.Constraints
        Distribution.Client.Dependency.TopDown.Types
        Distribution.Client.Dependency.Types
Duncan Coutts's avatar
Duncan Coutts committed
188
        Distribution.Client.DistDirLayout
barmston's avatar
barmston committed
189
        Distribution.Client.Exec
190
        Distribution.Client.Fetch
Duncan Coutts's avatar
Duncan Coutts committed
191
        Distribution.Client.FetchUtils
192
        Distribution.Client.FileMonitor
193
        Distribution.Client.Freeze
194
        Distribution.Client.GenBounds
195
        Distribution.Client.Get
196
        Distribution.Client.Glob
197
        Distribution.Client.GlobalFlags
198
        Distribution.Client.GZipUtils
199
        Distribution.Client.Haddock
200 201
        Distribution.Client.HttpUtils
        Distribution.Client.IndexUtils
202 203 204 205
        Distribution.Client.Init
        Distribution.Client.Init.Heuristics
        Distribution.Client.Init.Licenses
        Distribution.Client.Init.Types
206 207
        Distribution.Client.Install
        Distribution.Client.InstallPlan
208
        Distribution.Client.InstallSymlink
209
        Distribution.Client.JobControl
210
        Distribution.Client.List
Maciek Makowski's avatar
Maciek Makowski committed
211
        Distribution.Client.Manpage
Duncan Coutts's avatar
Duncan Coutts committed
212
        Distribution.Client.PackageHash
213
        Distribution.Client.PackageUtils
214
        Distribution.Client.ParseUtils
215
        Distribution.Client.PlanIndex
Duncan Coutts's avatar
Duncan Coutts committed
216
        Distribution.Client.ProjectBuilding
217 218 219
        Distribution.Client.ProjectConfig
        Distribution.Client.ProjectConfig.Types
        Distribution.Client.ProjectConfig.Legacy
220
        Distribution.Client.ProjectOrchestration
Duncan Coutts's avatar
Duncan Coutts committed
221
        Distribution.Client.ProjectPlanning
222
        Distribution.Client.ProjectPlanning.Types
223
        Distribution.Client.ProjectPlanOutput
refold's avatar
refold committed
224
        Distribution.Client.Run
225
        Distribution.Client.RebuildMonad
226
        Distribution.Client.Sandbox
227 228
        Distribution.Client.Sandbox.Index
        Distribution.Client.Sandbox.PackageEnvironment
229
        Distribution.Client.Sandbox.Timestamp
230
        Distribution.Client.Sandbox.Types
Edsko de Vries's avatar
Edsko de Vries committed
231
        Distribution.Client.Security.HTTP
232 233 234 235
        Distribution.Client.Setup
        Distribution.Client.SetupWrapper
        Distribution.Client.SrcDist
        Distribution.Client.Tar
236
        Distribution.Client.Targets
237 238 239 240
        Distribution.Client.Types
        Distribution.Client.Update
        Distribution.Client.Upload
        Distribution.Client.Utils
241
        Distribution.Client.Utils.Json
242
        Distribution.Client.World
243
        Distribution.Client.Win32SelfUpgrade
244
        Distribution.Client.Compat.ExecutablePath
245
        Distribution.Client.Compat.FilePerms
246
        Distribution.Client.Compat.Process
247
        Distribution.Client.Compat.Semaphore
248
        Distribution.Solver.Types.ComponentDeps
249
        Distribution.Solver.Types.ConstraintSource
250
        Distribution.Solver.Types.DependencyResolver
251
        Distribution.Solver.Types.Internal.Utils
252
        Distribution.Solver.Types.InstalledPreference
253
        Distribution.Solver.Types.LabeledPackageConstraint
254
        Distribution.Solver.Types.OptionalStanza
255
        Distribution.Solver.Types.PackageConstraint
256 257
        Distribution.Solver.Types.PackageFixedDeps
        Distribution.Solver.Types.PackageIndex
258
        Distribution.Solver.Types.PackagePreferences
259 260
        Distribution.Solver.Types.PkgConfigDb
        Distribution.Solver.Types.Progress
261
        Distribution.Solver.Types.ResolverPackage
262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289
        Distribution.Solver.Types.Settings
        Distribution.Solver.Types.SolverId
        Distribution.Solver.Types.SolverPackage
        Distribution.Solver.Types.SourcePackage
        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
        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
        Distribution.Solver.Modular.Solver
        Distribution.Solver.Modular.Tree
        Distribution.Solver.Modular.Validate
        Distribution.Solver.Modular.Var
        Distribution.Solver.Modular.Version
290
        Paths_cabal_install
291

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
292 293
    -- NOTE: when updating build-depends, don't forget to update version regexps
    -- in bootstrap.sh.
Ben Millwood's avatar
Ben Millwood committed
294
    build-depends:
Duncan Coutts's avatar
Duncan Coutts committed
295
        async      >= 2.0      && < 3,
296 297
        array      >= 0.4      && < 0.6,
        base       >= 4.5      && < 5,
298
        base16-bytestring >= 0.1.1 && < 0.2,
299
        binary     >= 0.5      && < 0.9,
Ben Millwood's avatar
Ben Millwood committed
300
        bytestring >= 0.9      && < 1,
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
301
        Cabal      >= 1.25     && < 1.26,
302
        containers >= 0.4      && < 0.6,
303
        cryptohash-sha256 >= 0.11 && < 0.12,
304
        filepath   >= 1.3      && < 1.5,
305
        hashable   >= 1.0      && < 2,
306
        HTTP       >= 4000.1.5 && < 4000.4,
Ben Millwood's avatar
Ben Millwood committed
307
        mtl        >= 2.0      && < 3,
308
        pretty     >= 1.1      && < 1.2,
dsf's avatar
dsf committed
309
        random     >= 1        && < 1.2,
Ben Millwood's avatar
Ben Millwood committed
310
        stm        >= 2.0      && < 3,
311
        tar        >= 0.5.0.3  && < 0.6,
312
        time       >= 1.4      && < 1.7,
Edsko de Vries's avatar
Edsko de Vries committed
313
        zlib       >= 0.5.3    && < 0.7,
314
        hackage-security >= 0.5.1 && < 0.6
315

316 317 318 319 320
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

321
    if flag(old-directory)
322
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
323
                     process   >= 1.0.1.1  && < 1.1.0.2
324
    else
325
      build-depends: directory >= 1.2 && < 1.3,
326
                     process   >= 1.1.0.2  && < 1.5
327

328 329 330
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
331
    if flag(network-uri)
332
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
333
    else
tibbe's avatar
tibbe committed
334
      build-depends: network     >= 2.4 && < 2.6
335

336 337 338 339
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

340
    if os(windows)
341
      build-depends: Win32 >= 2 && < 3
342
    else
343
      build-depends: unix >= 2.5 && < 2.8
344

345 346
    if !(arch(arm) && impl(ghc < 7.6))
      ghc-options: -threaded
347

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

Edsko de Vries's avatar
Edsko de Vries committed
352 353 354 355
    if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
356
    default-language: Haskell2010
357

barmston's avatar
barmston committed
358
-- Small, fast running tests.
359 360 361
Test-Suite unit-tests
  type: exitcode-stdio-1.0
  main-is: UnitTests.hs
362 363 364
  hs-source-dirs: tests, .
  ghc-options: -Wall -fwarn-tabs
  other-modules:
365
    UnitTests.Distribution.Client.ArbitraryInstances
366
    UnitTests.Distribution.Client.Targets
Duncan Coutts's avatar
Duncan Coutts committed
367
    UnitTests.Distribution.Client.FileMonitor
368
    UnitTests.Distribution.Client.Glob
369
    UnitTests.Distribution.Client.GZipUtils
370
    UnitTests.Distribution.Client.Sandbox
371
    UnitTests.Distribution.Client.Sandbox.Timestamp
372
    UnitTests.Distribution.Client.Tar
373
    UnitTests.Distribution.Client.UserConfig
374
    UnitTests.Distribution.Client.ProjectConfig
375
    UnitTests.Distribution.Client.JobControl
376 377 378
    UnitTests.Distribution.Solver.Modular.PSQ
    UnitTests.Distribution.Solver.Modular.Solver
    UnitTests.Distribution.Solver.Modular.DSL
379
    UnitTests.Options
380 381
  build-depends:
        base,
382 383 384 385 386 387 388 389
        array,
        bytestring,
        Cabal,
        containers,
        mtl,
        pretty,
        process,
        directory,
390
        filepath,
Duncan Coutts's avatar
Duncan Coutts committed
391
        hashable,
392
        stm,
Duncan Coutts's avatar
Duncan Coutts committed
393
        tar,
394 395 396
        time,
        HTTP,
        zlib,
397
        binary,
398
        random,
Edsko de Vries's avatar
Edsko de Vries committed
399
        hackage-security,
400 401 402
        tasty,
        tasty-hunit,
        tasty-quickcheck,
Edsko de Vries's avatar
Edsko de Vries committed
403
        tagged,
404
        QuickCheck >= 2.8.2
405 406 407 408

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

409 410 411 412 413
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

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

417 418 419 420 421
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

422
  if !(arch(arm) && impl(ghc < 7.6))
423
    ghc-options: -threaded
424 425 426 427 428

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

Edsko de Vries's avatar
Edsko de Vries committed
429 430 431 432
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
433
  default-language: Haskell2010
barmston's avatar
barmston committed
434

435 436 437 438 439 440 441
-- Slow solver tests
Test-Suite solver-quickcheck
  type: exitcode-stdio-1.0
  main-is: SolverQuickCheck.hs
  hs-source-dirs: tests, .
  ghc-options: -Wall -fwarn-tabs
  other-modules:
442 443
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484
  build-depends:
        base,
        array,
        bytestring,
        Cabal,
        containers,
        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

485
  if !(arch(arm) && impl(ghc < 7.6))
486
    ghc-options: -threaded
487 488 489 490 491

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

Edsko de Vries's avatar
Edsko de Vries committed
492 493 494 495
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

496 497
  default-language: Haskell2010

498
-- Integration tests that call the cabal executable externally
499
test-suite integration-tests
barmston's avatar
barmston committed
500 501
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
502
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
503 504
  build-depends:
    Cabal,
505
    async,
barmston's avatar
barmston committed
506 507 508 509 510
    base,
    bytestring,
    directory,
    filepath,
    process,
511
    regex-posix,
512
    tasty,
513
    tasty-hunit
barmston's avatar
barmston committed
514 515 516 517

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

520
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
521 522 523
    ghc-options: -threaded

  ghc-options: -Wall
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
524
  default-language: Haskell2010
525

526 527 528 529 530 531
-- 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, .
532
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
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
  other-modules:
  build-depends:
        async,
        array,
        base,
        base16-bytestring,
        binary,
        bytestring,
        Cabal,
        containers,
        cryptohash-sha256,
        directory,
        filepath,
        hackage-security,
        hashable,
        HTTP,
        mtl,
        network,
        network-uri,
        pretty,
        process,
        random,
        stm,
        tar,
        time,
        zlib,
        tasty,
560 561
        tasty-hunit,
        tagged
562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582

  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

583 584 585 586 587
custom-setup
  setup-depends: Cabal >= 1.25,
                 base,
                 process   >= 1.1.0.1  && < 1.5,
                 filepath   >= 1.3      && < 1.5