cabal-install.cabal 19.5 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 117 118 119 120 121
  tests/IntegrationTests2.hs
  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
122
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
123 124

source-repository head
125 126
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
127
  subdir:   cabal-install
128

129 130 131 132
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

133 134 135 136
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

137 138 139 140
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

141 142 143 144
Flag debug-conflict-sets
  description:  Add additional information to ConflictSets
  default:      False

Edsko de Vries's avatar
Edsko de Vries committed
145 146 147 148
Flag debug-tracetree
  description:  Compile in support for tracetree (used to debug the solver)
  default:      False

149 150 151
executable cabal
    main-is:        Main.hs
    ghc-options:    -Wall -fwarn-tabs
152
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
153 154 155
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
156

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

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
278 279
    -- NOTE: when updating build-depends, don't forget to update version regexps
    -- in bootstrap.sh.
Ben Millwood's avatar
Ben Millwood committed
280
    build-depends:
Duncan Coutts's avatar
Duncan Coutts committed
281
        async      >= 2.0      && < 3,
282 283
        array      >= 0.4      && < 0.6,
        base       >= 4.5      && < 5,
284
        base16-bytestring >= 0.1.1 && < 0.2,
285
        binary     >= 0.5      && < 0.9,
Ben Millwood's avatar
Ben Millwood committed
286
        bytestring >= 0.9      && < 1,
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
287
        Cabal      >= 1.25     && < 1.26,
288
        containers >= 0.4      && < 0.6,
289
        cryptohash-sha256 >= 0.11 && < 0.12,
290
        filepath   >= 1.3      && < 1.5,
291
        hashable   >= 1.0      && < 2,
292
        HTTP       >= 4000.1.5 && < 4000.4,
Ben Millwood's avatar
Ben Millwood committed
293
        mtl        >= 2.0      && < 3,
294
        pretty     >= 1.1      && < 1.2,
dsf's avatar
dsf committed
295
        random     >= 1        && < 1.2,
Ben Millwood's avatar
Ben Millwood committed
296
        stm        >= 2.0      && < 3,
297
        tar        >= 0.5.0.3  && < 0.6,
298
        time       >= 1.4      && < 1.7,
Edsko de Vries's avatar
Edsko de Vries committed
299
        zlib       >= 0.5.3    && < 0.7,
300
        hackage-security >= 0.5.1 && < 0.6
301

302 303 304 305 306
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

307
    if flag(old-directory)
308
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
309
                     process   >= 1.0.1.1  && < 1.1.0.2
310
    else
311
      build-depends: directory >= 1.2 && < 1.3,
312
                     process   >= 1.1.0.2  && < 1.5
313

314 315 316
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
317
    if flag(network-uri)
318
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
319
    else
tibbe's avatar
tibbe committed
320
      build-depends: network     >= 2.4 && < 2.6
321

322 323 324 325
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

326
    if os(windows)
327
      build-depends: Win32 >= 2 && < 3
328
    else
329
      build-depends: unix >= 2.5 && < 2.8
330

331 332
    if !(arch(arm) && impl(ghc < 7.6))
      ghc-options: -threaded
333

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

Edsko de Vries's avatar
Edsko de Vries committed
338 339 340 341
    if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
342
    default-language: Haskell2010
343

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

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

394 395 396 397 398
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

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

402 403 404 405 406
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

407
  if !(arch(arm) && impl(ghc < 7.6))
408
    ghc-options: -threaded
409 410 411 412 413

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

Edsko de Vries's avatar
Edsko de Vries committed
414 415 416 417
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
418
  default-language: Haskell2010
barmston's avatar
barmston committed
419

420 421 422 423 424 425 426
-- 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:
427 428
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 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
  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

470
  if !(arch(arm) && impl(ghc < 7.6))
471
    ghc-options: -threaded
472 473 474 475 476

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

Edsko de Vries's avatar
Edsko de Vries committed
477 478 479 480
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

481 482
  default-language: Haskell2010

483
-- Integration tests that call the cabal executable externally
484
test-suite integration-tests
barmston's avatar
barmston committed
485 486
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
487
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
488 489
  build-depends:
    Cabal,
490
    async,
barmston's avatar
barmston committed
491 492 493 494 495
    base,
    bytestring,
    directory,
    filepath,
    process,
496
    regex-posix,
497
    tasty,
498
    tasty-hunit
barmston's avatar
barmston committed
499 500 501 502

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

505
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
506 507 508
    ghc-options: -threaded

  ghc-options: -Wall
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
509
  default-language: Haskell2010
510

511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 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
-- 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, .
  ghc-options: -Wall -fwarn-tabs
  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,
        tasty-hunit

  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

567 568 569 570 571
custom-setup
  setup-depends: Cabal >= 1.25,
                 base,
                 process   >= 1.1.0.1  && < 1.5,
                 filepath   >= 1.3      && < 1.5