cabal-install.cabal 20.7 KB
Newer Older
1
Name:               cabal-install
2
Version:            2.1.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.
Edward Z. Yang's avatar
Edward Z. Yang committed
8 9 10
    .
    This package only provides an executable and cannot be used as a
    library (ignore the module listing below.)
11
homepage:           http://www.haskell.org/cabal/
12
bug-reports:        https://github.com/haskell/cabal/issues
13 14
License:            BSD3
License-File:       LICENSE
15
Author:             Cabal Development Team (see AUTHORS file)
16
Maintainer:         Cabal Development Team <cabal-devel@haskell.org>
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
17
Copyright:          2003-2017, Cabal Development Team
18
Category:           Distribution
lspitzner's avatar
lspitzner committed
19
Build-type:         Custom
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
20
Cabal-Version:      >= 1.10
barmston's avatar
barmston committed
21 22
Extra-Source-Files:
  README.md bash-completion/cabal bootstrap.sh changelog
23
  tests/README.md
barmston's avatar
barmston committed
24

25 26 27
  -- Generated with '../Cabal/misc/gen-extra-source-files.sh'
  -- Do NOT edit this section manually; instead, run the script.
  -- BEGIN gen-extra-source-files
28 29 30 31 32
  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
33 34 35 36 37 38 39 40 41
  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
42
  tests/IntegrationTests2/exception/bad-config/cabal.project
43 44 45 46 47
  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
48 49 50 51 52
  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
53 54 55 56 57
  tests/IntegrationTests2/targets/all-disabled/cabal.project
  tests/IntegrationTests2/targets/all-disabled/p.cabal
  tests/IntegrationTests2/targets/benchmarks-disabled/cabal.project
  tests/IntegrationTests2/targets/benchmarks-disabled/p.cabal
  tests/IntegrationTests2/targets/benchmarks-disabled/q/q.cabal
58 59 60
  tests/IntegrationTests2/targets/complex/cabal.project
  tests/IntegrationTests2/targets/complex/q/Q.hs
  tests/IntegrationTests2/targets/complex/q/q.cabal
61 62
  tests/IntegrationTests2/targets/empty-pkg/cabal.project
  tests/IntegrationTests2/targets/empty-pkg/p.cabal
63 64
  tests/IntegrationTests2/targets/empty/cabal.project
  tests/IntegrationTests2/targets/empty/foo.hs
65 66 67 68 69 70 71 72 73 74 75 76 77
  tests/IntegrationTests2/targets/exes-disabled/cabal.project
  tests/IntegrationTests2/targets/exes-disabled/p/p.cabal
  tests/IntegrationTests2/targets/exes-disabled/q/q.cabal
  tests/IntegrationTests2/targets/libs-disabled/cabal.project
  tests/IntegrationTests2/targets/libs-disabled/p/p.cabal
  tests/IntegrationTests2/targets/libs-disabled/q/q.cabal
  tests/IntegrationTests2/targets/multiple-exes/cabal.project
  tests/IntegrationTests2/targets/multiple-exes/p.cabal
  tests/IntegrationTests2/targets/multiple-libs/cabal.project
  tests/IntegrationTests2/targets/multiple-libs/p/p.cabal
  tests/IntegrationTests2/targets/multiple-libs/q/q.cabal
  tests/IntegrationTests2/targets/multiple-tests/cabal.project
  tests/IntegrationTests2/targets/multiple-tests/p.cabal
78 79 80 81 82
  tests/IntegrationTests2/targets/simple/P.hs
  tests/IntegrationTests2/targets/simple/cabal.project
  tests/IntegrationTests2/targets/simple/p.cabal
  tests/IntegrationTests2/targets/simple/q/Q.hs
  tests/IntegrationTests2/targets/simple/q/q.cabal
83 84 85 86 87 88
  tests/IntegrationTests2/targets/test-only/p.cabal
  tests/IntegrationTests2/targets/tests-disabled/cabal.project
  tests/IntegrationTests2/targets/tests-disabled/p.cabal
  tests/IntegrationTests2/targets/tests-disabled/q/q.cabal
  tests/IntegrationTests2/targets/variety/cabal.project
  tests/IntegrationTests2/targets/variety/p.cabal
89
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
90 91

source-repository head
92 93
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
94
  subdir:   cabal-install
95

96 97 98 99
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

100 101 102 103
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

104 105 106 107
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

108
Flag debug-expensive-assertions
109 110 111 112
  description:  Enable expensive assertions for testing or debugging
  default:      False
  manual:       True

113 114 115
Flag debug-conflict-sets
  description:  Add additional information to ConflictSets
  default:      False
kristenk's avatar
kristenk committed
116
  manual:       True
117

Edsko de Vries's avatar
Edsko de Vries committed
118 119 120
Flag debug-tracetree
  description:  Compile in support for tracetree (used to debug the solver)
  default:      False
kristenk's avatar
kristenk committed
121
  manual:       True
Edsko de Vries's avatar
Edsko de Vries committed
122

123
flag parsec
124
  description:  Use parsec parser. This requires 'Cabal' library built with its parsec flag enabled.
125 126 127
  default:      False
  manual:       True

Edward Z. Yang's avatar
Edward Z. Yang committed
128 129
flag lib
  description:  Build cabal-install as a library. Please only use this if you are a cabal-install developer.
130
  Default:      False
Edward Z. Yang's avatar
Edward Z. Yang committed
131 132 133 134
  manual:       True

library
    ghc-options:    -Wall -fwarn-tabs
135
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
136 137 138
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
139

Edward Z. Yang's avatar
Edward Z. Yang committed
140
    exposed-modules:
Duncan Coutts's avatar
Duncan Coutts committed
141 142
        Distribution.Client.BuildReports.Anonymous
        Distribution.Client.BuildReports.Storage
Duncan Coutts's avatar
Duncan Coutts committed
143
        Distribution.Client.BuildReports.Types
Duncan Coutts's avatar
Duncan Coutts committed
144
        Distribution.Client.BuildReports.Upload
145
        Distribution.Client.Check
146
        Distribution.Client.CmdBench
147 148
        Distribution.Client.CmdBuild
        Distribution.Client.CmdConfigure
Duncan Coutts's avatar
Duncan Coutts committed
149
        Distribution.Client.CmdFreeze
Ben Gamari's avatar
Ben Gamari committed
150
        Distribution.Client.CmdHaddock
151
        Distribution.Client.CmdRepl
152 153
        Distribution.Client.CmdRun
        Distribution.Client.CmdTest
154
        Distribution.Client.CmdErrorMessages
155
        Distribution.Client.Config
Duncan Coutts's avatar
Duncan Coutts committed
156
        Distribution.Client.Configure
157 158
        Distribution.Client.Dependency
        Distribution.Client.Dependency.Types
Duncan Coutts's avatar
Duncan Coutts committed
159
        Distribution.Client.DistDirLayout
barmston's avatar
barmston committed
160
        Distribution.Client.Exec
161
        Distribution.Client.Fetch
Duncan Coutts's avatar
Duncan Coutts committed
162
        Distribution.Client.FetchUtils
163
        Distribution.Client.FileMonitor
164
        Distribution.Client.Freeze
165
        Distribution.Client.GenBounds
166
        Distribution.Client.Get
167
        Distribution.Client.Glob
168
        Distribution.Client.GlobalFlags
169
        Distribution.Client.GZipUtils
170
        Distribution.Client.Haddock
171 172
        Distribution.Client.HttpUtils
        Distribution.Client.IndexUtils
173
        Distribution.Client.IndexUtils.Timestamp
174 175 176 177
        Distribution.Client.Init
        Distribution.Client.Init.Heuristics
        Distribution.Client.Init.Licenses
        Distribution.Client.Init.Types
178 179
        Distribution.Client.Install
        Distribution.Client.InstallPlan
180
        Distribution.Client.InstallSymlink
181
        Distribution.Client.JobControl
182
        Distribution.Client.List
Maciek Makowski's avatar
Maciek Makowski committed
183
        Distribution.Client.Manpage
ttuegel's avatar
ttuegel committed
184
        Distribution.Client.Nix
185
        Distribution.Client.Outdated
Duncan Coutts's avatar
Duncan Coutts committed
186
        Distribution.Client.PackageHash
187
        Distribution.Client.PackageUtils
188
        Distribution.Client.ParseUtils
Duncan Coutts's avatar
Duncan Coutts committed
189
        Distribution.Client.ProjectBuilding
190
        Distribution.Client.ProjectBuilding.Types
191 192 193
        Distribution.Client.ProjectConfig
        Distribution.Client.ProjectConfig.Types
        Distribution.Client.ProjectConfig.Legacy
194
        Distribution.Client.ProjectOrchestration
Duncan Coutts's avatar
Duncan Coutts committed
195
        Distribution.Client.ProjectPlanning
196
        Distribution.Client.ProjectPlanning.Types
197
        Distribution.Client.ProjectPlanOutput
198
        Distribution.Client.RebuildMonad
ttuegel's avatar
ttuegel committed
199 200
        Distribution.Client.Reconfigure
        Distribution.Client.Run
201
        Distribution.Client.Sandbox
202 203
        Distribution.Client.Sandbox.Index
        Distribution.Client.Sandbox.PackageEnvironment
204
        Distribution.Client.Sandbox.Timestamp
205
        Distribution.Client.Sandbox.Types
ttuegel's avatar
ttuegel committed
206
        Distribution.Client.SavedFlags
207
        Distribution.Client.Security.DNS
Edsko de Vries's avatar
Edsko de Vries committed
208
        Distribution.Client.Security.HTTP
209 210 211
        Distribution.Client.Setup
        Distribution.Client.SetupWrapper
        Distribution.Client.SrcDist
212
        Distribution.Client.SolverInstallPlan
213
        Distribution.Client.SolverPlanIndex
214
        Distribution.Client.SourceFiles
215
        Distribution.Client.Tar
216
        Distribution.Client.Targets
217
        Distribution.Client.TargetSelector
218 219 220 221
        Distribution.Client.Types
        Distribution.Client.Update
        Distribution.Client.Upload
        Distribution.Client.Utils
222
        Distribution.Client.Utils.Assertion
223
        Distribution.Client.Utils.Json
224
        Distribution.Client.World
225
        Distribution.Client.Win32SelfUpgrade
226
        Distribution.Client.Compat.ExecutablePath
227
        Distribution.Client.Compat.FilePerms
228
        Distribution.Client.Compat.Prelude
229
        Distribution.Client.Compat.Process
230
        Distribution.Client.Compat.Semaphore
231
        Distribution.Solver.Types.ComponentDeps
232
        Distribution.Solver.Types.ConstraintSource
233
        Distribution.Solver.Types.DependencyResolver
234
        Distribution.Solver.Types.Flag
235
        Distribution.Solver.Types.InstalledPreference
236
        Distribution.Solver.Types.InstSolverPackage
237
        Distribution.Solver.Types.LabeledPackageConstraint
238
        Distribution.Solver.Types.OptionalStanza
239
        Distribution.Solver.Types.PackageConstraint
240 241
        Distribution.Solver.Types.PackageFixedDeps
        Distribution.Solver.Types.PackageIndex
242
        Distribution.Solver.Types.PackagePath
243
        Distribution.Solver.Types.PackagePreferences
244 245
        Distribution.Solver.Types.PkgConfigDb
        Distribution.Solver.Types.Progress
246
        Distribution.Solver.Types.ResolverPackage
247 248 249 250
        Distribution.Solver.Types.Settings
        Distribution.Solver.Types.SolverId
        Distribution.Solver.Types.SolverPackage
        Distribution.Solver.Types.SourcePackage
251
        Distribution.Solver.Types.Variable
252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270
        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
271
        Distribution.Solver.Modular.RetryLog
272 273 274 275 276
        Distribution.Solver.Modular.Solver
        Distribution.Solver.Modular.Tree
        Distribution.Solver.Modular.Validate
        Distribution.Solver.Modular.Var
        Distribution.Solver.Modular.Version
277
        Distribution.Solver.Modular.WeightedPSQ
278
        Paths_cabal_install
279

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

307 308 309 310 311
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

312
    if flag(old-directory)
313
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
314
                     process   >= 1.0.1.1  && < 1.1.0.2
315
    else
316
      build-depends: directory >= 1.2 && < 1.4,
Tamar Christina's avatar
Tamar Christina committed
317
                     process   >= 1.1.0.2  && < 1.6
318

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

327 328 329 330
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

331
    if os(windows)
332
      build-depends: Win32 >= 2 && < 3
333
    else
334
      build-depends: unix >= 2.5 && < 2.8
335

336 337
    if flag(debug-expensive-assertions)
      cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS
338

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

Edsko de Vries's avatar
Edsko de Vries committed
343 344 345 346
    if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

347 348 349
    if flag(parsec)
      cpp-options: -DCABAL_PARSEC

Edward Z. Yang's avatar
Edward Z. Yang committed
350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427
    if !flag(lib)
      buildable: False

    default-language: Haskell2010

executable cabal
    main-is:        Main.hs
    hs-source-dirs: main

    ghc-options:    -Wall -fwarn-tabs -rtsopts
    if impl(ghc >= 8.0)
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances

    if flag(lib)
        build-depends:
            cabal-install,
            Cabal      >= 2.1      && < 2.2,
            base,
            directory,
            filepath
    else
        hs-source-dirs: .
        build-depends:
            async      >= 2.0      && < 3,
            array      >= 0.4      && < 0.6,
            base       >= 4.5      && < 5,
            base16-bytestring >= 0.1.1 && < 0.2,
            binary     >= 0.5      && < 0.9,
            bytestring >= 0.9      && < 1,
            Cabal      >= 2.1      && < 2.2,
            containers >= 0.4      && < 0.6,
            cryptohash-sha256 >= 0.11 && < 0.12,
            deepseq    >= 1.3      && < 1.5,
            echo       >= 0.1.3    && < 0.2,
            edit-distance >= 0.2.2 && < 0.3,
            filepath   >= 1.3      && < 1.5,
            hashable   >= 1.0      && < 2,
            HTTP       >= 4000.1.5 && < 4000.4,
            mtl        >= 2.0      && < 3,
            pretty     >= 1.1      && < 1.2,
            random     >= 1        && < 1.2,
            stm        >= 2.0      && < 3,
            tar        >= 0.5.0.3  && < 0.6,
            time       >= 1.4      && < 1.8,
            zlib       >= 0.5.3    && < 0.7,
            hackage-security >= 0.5.2.2 && < 0.6

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

        if flag(old-directory)
          build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
                         process   >= 1.0.1.1  && < 1.1.0.2
        else
          build-depends: directory >= 1.2 && < 1.4,
                         process   >= 1.1.0.2  && < 1.5

        -- NOTE: you MUST include the network dependency even when network-uri
        -- is pulled in, otherwise the constraint solver doesn't have enough
        -- information
        if flag(network-uri)
          build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
        else
          build-depends: network     >= 2.4 && < 2.6

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

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

428 429
        if flag(debug-expensive-assertions)
          cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS
430

Edward Z. Yang's avatar
Edward Z. Yang committed
431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447
        if flag(debug-conflict-sets)
          cpp-options: -DDEBUG_CONFLICT_SETS
          build-depends: base >= 4.8

        if flag(debug-tracetree)
          cpp-options: -DDEBUG_TRACETREE
          build-depends: tracetree >= 0.1 && < 0.2

        if flag(parsec)
          cpp-options: -DCABAL_PARSEC

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

    if flag(parsec)
      cpp-options: -DCABAL_PARSEC

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
448
    default-language: Haskell2010
449

barmston's avatar
barmston committed
450
-- Small, fast running tests.
451 452 453
Test-Suite unit-tests
  type: exitcode-stdio-1.0
  main-is: UnitTests.hs
Edward Z. Yang's avatar
Edward Z. Yang committed
454
  hs-source-dirs: tests
455 456
  ghc-options: -Wall -fwarn-tabs
  other-modules:
457
    UnitTests.Distribution.Client.ArbitraryInstances
458
    UnitTests.Distribution.Client.Targets
Duncan Coutts's avatar
Duncan Coutts committed
459
    UnitTests.Distribution.Client.FileMonitor
460
    UnitTests.Distribution.Client.Glob
461
    UnitTests.Distribution.Client.GZipUtils
462
    UnitTests.Distribution.Client.Sandbox
463
    UnitTests.Distribution.Client.Sandbox.Timestamp
464
    UnitTests.Distribution.Client.Tar
465
    UnitTests.Distribution.Client.UserConfig
466
    UnitTests.Distribution.Client.ProjectConfig
467
    UnitTests.Distribution.Client.JobControl
468
    UnitTests.Distribution.Client.IndexUtils.Timestamp
469
    UnitTests.Distribution.Client.InstallPlan
470
    UnitTests.Distribution.Solver.Modular.PSQ
471
    UnitTests.Distribution.Solver.Modular.RetryLog
472 473
    UnitTests.Distribution.Solver.Modular.Solver
    UnitTests.Distribution.Solver.Modular.DSL
474
    UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
kristenk's avatar
kristenk committed
475
    UnitTests.Distribution.Solver.Modular.WeightedPSQ
476
    UnitTests.Options
477
  build-depends:
Edward Z. Yang's avatar
Edward Z. Yang committed
478
        array,
479
        base,
Duncan Coutts's avatar
Duncan Coutts committed
480
        async,
481
        bytestring,
Edward Z. Yang's avatar
Edward Z. Yang committed
482
        cabal-install,
483 484
        Cabal,
        containers,
485
        deepseq,
486
        mtl,
Edward Z. Yang's avatar
Edward Z. Yang committed
487
        random,
488
        directory,
489
        filepath,
Duncan Coutts's avatar
Duncan Coutts committed
490
        tar,
491 492
        time,
        zlib,
Edward Z. Yang's avatar
Edward Z. Yang committed
493 494
        network-uri,
        network,
495 496 497
        tasty,
        tasty-hunit,
        tasty-quickcheck,
Edsko de Vries's avatar
Edsko de Vries committed
498
        tagged,
499
        QuickCheck >= 2.8.2
500

501
  if !(arch(arm) && impl(ghc < 7.6))
502
    ghc-options: -threaded
503

Edward Z. Yang's avatar
Edward Z. Yang committed
504 505
  if !flag(lib)
    buildable: False
Edsko de Vries's avatar
Edsko de Vries committed
506

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
507
  default-language: Haskell2010
barmston's avatar
barmston committed
508

509
-- Tests to run with a limited stack and heap size
510 511 512
Test-Suite memory-usage-tests
  type: exitcode-stdio-1.0
  main-is: MemoryUsageTests.hs
Edward Z. Yang's avatar
Edward Z. Yang committed
513
  hs-source-dirs: tests
514
  ghc-options: -Wall -fwarn-tabs "-with-rtsopts=-M4M -K1K"
515 516 517 518 519 520 521 522 523
  other-modules:
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
    UnitTests.Distribution.Solver.Modular.MemoryUsage
    UnitTests.Options
  build-depends:
        base,
        async,
        Cabal,
Edward Z. Yang's avatar
Edward Z. Yang committed
524
        cabal-install,
525 526 527 528 529 530 531 532 533
        containers,
        deepseq,
        tagged,
        tasty,
        tasty-hunit

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

Edward Z. Yang's avatar
Edward Z. Yang committed
534 535
  if !flag(lib)
    buildable: False
536 537 538

  default-language: Haskell2010

539 540 541 542
-- Slow solver tests
Test-Suite solver-quickcheck
  type: exitcode-stdio-1.0
  main-is: SolverQuickCheck.hs
Edward Z. Yang's avatar
Edward Z. Yang committed
543 544
  hs-source-dirs: tests
  ghc-options: -Wall -fwarn-tabs
545
  other-modules:
546 547
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
548 549
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
550
        async,
551
        Cabal,
Edward Z. Yang's avatar
Edward Z. Yang committed
552
        cabal-install,
553
        containers,
554
        deepseq >= 1.2,
555 556 557 558 559
        tasty,
        tasty-quickcheck,
        QuickCheck >= 2.8.2,
        pretty-show

560
  if !(arch(arm) && impl(ghc < 7.6))
561
    ghc-options: -threaded
562

Edward Z. Yang's avatar
Edward Z. Yang committed
563 564
  if !flag(lib)
    buildable: False
Edsko de Vries's avatar
Edsko de Vries committed
565

566 567
  default-language: Haskell2010

568 569 570 571 572
-- 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
Edward Z. Yang's avatar
Edward Z. Yang committed
573 574
  hs-source-dirs: tests
  ghc-options: -Wall -fwarn-tabs
575 576 577 578
  other-modules:
  build-depends:
        base,
        Cabal,
Edward Z. Yang's avatar
Edward Z. Yang committed
579
        cabal-install,
580
        containers,
581
        deepseq,
582
        directory,
583
        edit-distance,
584 585
        filepath,
        tasty,
586 587
        tasty-hunit,
        tagged
588

Edward Z. Yang's avatar
Edward Z. Yang committed
589 590
  if !flag(lib)
    buildable: False
591

Edward Z. Yang's avatar
Edward Z. Yang committed
592
  if !(arch(arm) && impl(ghc < 7.6))
593 594 595
    ghc-options: -threaded
  default-language: Haskell2010

596
custom-setup
597
  setup-depends: Cabal >= 2.1,
598
                 base,
Tamar Christina's avatar
Tamar Christina committed
599
                 process   >= 1.1.0.1  && < 1.6,
600
                 filepath   >= 1.3      && < 1.5