cabal-install.cabal 21 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
  tests/IntegrationTests2/targets/simple/P.hs
  tests/IntegrationTests2/targets/simple/cabal.project
  tests/IntegrationTests2/targets/simple/p.cabal
81
  tests/IntegrationTests2/targets/simple/q/QQ.hs
82
  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.SourceFiles
214
        Distribution.Client.Store
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.FileLock
228
        Distribution.Client.Compat.FilePerms
229
        Distribution.Client.Compat.Prelude
230
        Distribution.Client.Compat.Process
231
        Distribution.Client.Compat.Semaphore
232
        Distribution.Solver.Types.ComponentDeps
233
        Distribution.Solver.Types.ConstraintSource
234
        Distribution.Solver.Types.DependencyResolver
235
        Distribution.Solver.Types.Flag
236
        Distribution.Solver.Types.InstalledPreference
237
        Distribution.Solver.Types.InstSolverPackage
238
        Distribution.Solver.Types.LabeledPackageConstraint
239
        Distribution.Solver.Types.OptionalStanza
240
        Distribution.Solver.Types.PackageConstraint
241 242
        Distribution.Solver.Types.PackageFixedDeps
        Distribution.Solver.Types.PackageIndex
243
        Distribution.Solver.Types.PackagePath
244
        Distribution.Solver.Types.PackagePreferences
245 246
        Distribution.Solver.Types.PkgConfigDb
        Distribution.Solver.Types.Progress
247
        Distribution.Solver.Types.ResolverPackage
248 249 250 251
        Distribution.Solver.Types.Settings
        Distribution.Solver.Types.SolverId
        Distribution.Solver.Types.SolverPackage
        Distribution.Solver.Types.SourcePackage
252
        Distribution.Solver.Types.Variable
253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271
        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
272
        Distribution.Solver.Modular.RetryLog
273 274 275 276 277
        Distribution.Solver.Modular.Solver
        Distribution.Solver.Modular.Tree
        Distribution.Solver.Modular.Validate
        Distribution.Solver.Modular.Var
        Distribution.Solver.Modular.Version
278
        Distribution.Solver.Modular.WeightedPSQ
279
        Paths_cabal_install
280

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

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

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

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

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

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

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

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

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

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

Edward Z. Yang's avatar
Edward Z. Yang committed
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
    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

400 401
        other-modules:  Distribution.Client.Compat.FileLock

Edward Z. Yang's avatar
Edward Z. Yang committed
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 428 429 430
        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

431 432
        if flag(debug-expensive-assertions)
          cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS
433

Edward Z. Yang's avatar
Edward Z. Yang committed
434 435 436 437 438 439 440 441 442 443 444 445 446
        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
447 448 449 450
      
    -- On AIX, some legacy BSD operations such as flock(2) are provided by libbsd.a
    if os(aix)
      extra-libraries: bsd
Edward Z. Yang's avatar
Edward Z. Yang committed
451 452 453 454

    if flag(parsec)
      cpp-options: -DCABAL_PARSEC

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
455
    default-language: Haskell2010
456

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

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

Edward Z. Yang's avatar
Edward Z. Yang committed
512 513
  if !flag(lib)
    buildable: False
Edsko de Vries's avatar
Edsko de Vries committed
514

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
515
  default-language: Haskell2010
barmston's avatar
barmston committed
516

517
-- Tests to run with a limited stack and heap size
518 519 520
Test-Suite memory-usage-tests
  type: exitcode-stdio-1.0
  main-is: MemoryUsageTests.hs
Edward Z. Yang's avatar
Edward Z. Yang committed
521
  hs-source-dirs: tests
522
  ghc-options: -Wall -fwarn-tabs "-with-rtsopts=-M4M -K1K"
523 524 525 526 527 528 529 530 531
  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
532
        cabal-install,
533 534 535 536 537 538 539 540 541
        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
542 543
  if !flag(lib)
    buildable: False
544 545 546

  default-language: Haskell2010

547 548 549 550
-- 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
551 552
  hs-source-dirs: tests
  ghc-options: -Wall -fwarn-tabs
553
  other-modules:
554 555
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
556 557
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
558
        async,
559
        Cabal,
Edward Z. Yang's avatar
Edward Z. Yang committed
560
        cabal-install,
561
        containers,
562
        deepseq >= 1.2,
563 564 565 566 567
        tasty,
        tasty-quickcheck,
        QuickCheck >= 2.8.2,
        pretty-show

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

Edward Z. Yang's avatar
Edward Z. Yang committed
571 572
  if !flag(lib)
    buildable: False
Edsko de Vries's avatar
Edsko de Vries committed
573

574 575
  default-language: Haskell2010

576 577 578 579 580
-- 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
581 582
  hs-source-dirs: tests
  ghc-options: -Wall -fwarn-tabs
583 584 585 586
  other-modules:
  build-depends:
        base,
        Cabal,
Edward Z. Yang's avatar
Edward Z. Yang committed
587
        cabal-install,
588
        containers,
589
        deepseq,
590
        directory,
591
        edit-distance,
592 593
        filepath,
        tasty,
594 595
        tasty-hunit,
        tagged
596

Edward Z. Yang's avatar
Edward Z. Yang committed
597 598
  if !flag(lib)
    buildable: False
599

Edward Z. Yang's avatar
Edward Z. Yang committed
600
  if !(arch(arm) && impl(ghc < 7.6))
601 602 603
    ghc-options: -threaded
  default-language: Haskell2010

604
custom-setup
605
  setup-depends: Cabal >= 2.1,
606
                 base,
Ben Gamari's avatar
Ben Gamari committed
607
                 process   >= 1.1.0.1  && < 1.7,
608
                 filepath   >= 1.3      && < 1.5