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
  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.Tar
215
        Distribution.Client.Targets
216
        Distribution.Client.TargetSelector
217
218
219
220
        Distribution.Client.Types
        Distribution.Client.Update
        Distribution.Client.Upload
        Distribution.Client.Utils
221
        Distribution.Client.Utils.Assertion
222
        Distribution.Client.Utils.Json
223
        Distribution.Client.World
224
        Distribution.Client.Win32SelfUpgrade
225
        Distribution.Client.Compat.ExecutablePath
226
        Distribution.Client.Compat.FilePerms
227
        Distribution.Client.Compat.Prelude
228
        Distribution.Client.Compat.Process
229
        Distribution.Client.Compat.Semaphore
230
        Distribution.Solver.Types.ComponentDeps
231
        Distribution.Solver.Types.ConstraintSource
232
        Distribution.Solver.Types.DependencyResolver
233
        Distribution.Solver.Types.Flag
234
        Distribution.Solver.Types.InstalledPreference
235
        Distribution.Solver.Types.InstSolverPackage
236
        Distribution.Solver.Types.LabeledPackageConstraint
237
        Distribution.Solver.Types.OptionalStanza
238
        Distribution.Solver.Types.PackageConstraint
239
240
        Distribution.Solver.Types.PackageFixedDeps
        Distribution.Solver.Types.PackageIndex
241
        Distribution.Solver.Types.PackagePath
242
        Distribution.Solver.Types.PackagePreferences
243
244
        Distribution.Solver.Types.PkgConfigDb
        Distribution.Solver.Types.Progress
245
        Distribution.Solver.Types.ResolverPackage
246
247
248
249
        Distribution.Solver.Types.Settings
        Distribution.Solver.Types.SolverId
        Distribution.Solver.Types.SolverPackage
        Distribution.Solver.Types.SourcePackage
250
        Distribution.Solver.Types.Variable
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
        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
270
        Distribution.Solver.Modular.RetryLog
271
272
273
274
275
        Distribution.Solver.Modular.Solver
        Distribution.Solver.Modular.Tree
        Distribution.Solver.Modular.Validate
        Distribution.Solver.Modular.Var
        Distribution.Solver.Modular.Version
276
        Distribution.Solver.Modular.WeightedPSQ
277
        Paths_cabal_install
278

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

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

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

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

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

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

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

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

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

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

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

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

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

    if flag(parsec)
      cpp-options: -DCABAL_PARSEC

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

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

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

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

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

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

  default-language: Haskell2010

538
539
540
541
-- 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
542
543
  hs-source-dirs: tests
  ghc-options: -Wall -fwarn-tabs
544
  other-modules:
545
546
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
547
548
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
549
        async,
550
        Cabal,
Edward Z. Yang's avatar
Edward Z. Yang committed
551
        cabal-install,
552
        containers,
553
        deepseq >= 1.2,
554
555
556
557
558
        tasty,
        tasty-quickcheck,
        QuickCheck >= 2.8.2,
        pretty-show

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

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

565
566
  default-language: Haskell2010

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

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

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

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