cabal-install.cabal 24.6 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
26
27
  tests/IntegrationTests/common.sh
  tests/IntegrationTests/exec/Foo.hs
  tests/IntegrationTests/exec/My.hs
Edward Z. Yang's avatar
Edward Z. Yang committed
28
29
30
31
32
33
  tests/IntegrationTests/exec/T4049.sh
  tests/IntegrationTests/exec/T4049/UseLib.c
  tests/IntegrationTests/exec/T4049/csrc/MyForeignLibWrapper.c
  tests/IntegrationTests/exec/T4049/my-foreign-lib.cabal
  tests/IntegrationTests/exec/T4049/src/MyForeignLib/Hello.hs
  tests/IntegrationTests/exec/T4049/src/MyForeignLib/SomeBindings.hsc
34
35
36
37
38
39
40
41
42
43
44
45
  tests/IntegrationTests/exec/my.cabal
  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
46
  tests/IntegrationTests/internal-libs/cabal.project
47
48
  tests/IntegrationTests/internal-libs/internal_lib_basic.sh
  tests/IntegrationTests/internal-libs/internal_lib_shadow.sh
49
  tests/IntegrationTests/internal-libs/new_build.sh
50
51
52
53
54
55
56
57
58
59
60
61
  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
62
63
64
65
66
67
  tests/IntegrationTests/new-build/BuildToolsPath.sh
  tests/IntegrationTests/new-build/BuildToolsPath/A.hs
  tests/IntegrationTests/new-build/BuildToolsPath/MyCustomPreprocessor.hs
  tests/IntegrationTests/new-build/BuildToolsPath/build-tools-path.cabal
  tests/IntegrationTests/new-build/BuildToolsPath/cabal.project
  tests/IntegrationTests/new-build/BuildToolsPath/hello/Hello.hs
Edward Z. Yang's avatar
Edward Z. Yang committed
68
69
70
71
72
73
74
75
76
77
78
  tests/IntegrationTests/new-build/T3460.sh
  tests/IntegrationTests/new-build/T3460/C.hs
  tests/IntegrationTests/new-build/T3460/Setup.hs
  tests/IntegrationTests/new-build/T3460/T3460.cabal
  tests/IntegrationTests/new-build/T3460/cabal.project
  tests/IntegrationTests/new-build/T3460/sub-package-A/A.hs
  tests/IntegrationTests/new-build/T3460/sub-package-A/Setup.hs
  tests/IntegrationTests/new-build/T3460/sub-package-A/sub-package-A.cabal
  tests/IntegrationTests/new-build/T3460/sub-package-B/B.hs
  tests/IntegrationTests/new-build/T3460/sub-package-B/Setup.hs
  tests/IntegrationTests/new-build/T3460/sub-package-B/sub-package-B.cabal
79
80
81
82
83
  tests/IntegrationTests/new-build/T3978.err
  tests/IntegrationTests/new-build/T3978.sh
  tests/IntegrationTests/new-build/T3978/cabal.project
  tests/IntegrationTests/new-build/T3978/p/p.cabal
  tests/IntegrationTests/new-build/T3978/q/q.cabal
84
85
86
87
  tests/IntegrationTests/new-build/T4017.sh
  tests/IntegrationTests/new-build/T4017/cabal.project
  tests/IntegrationTests/new-build/T4017/p/p.cabal
  tests/IntegrationTests/new-build/T4017/q/q.cabal
88
89
90
91
92
  tests/IntegrationTests/new-build/executable/Main.hs
  tests/IntegrationTests/new-build/executable/Setup.hs
  tests/IntegrationTests/new-build/executable/Test.hs
  tests/IntegrationTests/new-build/executable/a.cabal
  tests/IntegrationTests/new-build/executable/cabal.project
93
94
95
96
97
98
  tests/IntegrationTests/new-build/external_build_tools.sh
  tests/IntegrationTests/new-build/external_build_tools/cabal.project
  tests/IntegrationTests/new-build/external_build_tools/client/Hello.hs
  tests/IntegrationTests/new-build/external_build_tools/client/client.cabal
  tests/IntegrationTests/new-build/external_build_tools/happy/MyCustomPreprocessor.hs
  tests/IntegrationTests/new-build/external_build_tools/happy/happy.cabal
99
  tests/IntegrationTests/new-build/monitor_cabal_files.sh
100
  tests/IntegrationTests/new-build/monitor_cabal_files/cabal.project
101
102
103
104
105
106
107
  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
108
109
110
111
  tests/IntegrationTests/regression/t2755.sh
  tests/IntegrationTests/regression/t2755/A.hs
  tests/IntegrationTests/regression/t2755/Setup.hs
  tests/IntegrationTests/regression/t2755/test-t2755.cabal
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
112
113
114
115
  tests/IntegrationTests/regression/t3199.sh
  tests/IntegrationTests/regression/t3199/Main.hs
  tests/IntegrationTests/regression/t3199/Setup.hs
  tests/IntegrationTests/regression/t3199/test-3199.cabal
116
117
118
119
120
121
  tests/IntegrationTests/regression/t3827.sh
  tests/IntegrationTests/regression/t3827/cabal.project
  tests/IntegrationTests/regression/t3827/p/P.hs
  tests/IntegrationTests/regression/t3827/p/p.cabal
  tests/IntegrationTests/regression/t3827/q/Main.hs
  tests/IntegrationTests/regression/t3827/q/q.cabal
122
123
124
125
126
  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
127
128
129
130
131
132
133
134
135
  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
136
  tests/IntegrationTests/user-config/common.sh
137
138
139
140
141
142
143
144
  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
145
146
147
148
149
  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
150
151
152
153
154
155
156
157
158
  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
159
  tests/IntegrationTests2/exception/bad-config/cabal.project
160
161
162
163
164
  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
165
166
167
168
169
  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
170
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
171
172

source-repository head
173
174
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
175
  subdir:   cabal-install
176

177
178
179
180
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

181
182
183
184
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

185
186
187
188
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

189
190
191
192
Flag debug-conflict-sets
  description:  Add additional information to ConflictSets
  default:      False

Edsko de Vries's avatar
Edsko de Vries committed
193
194
195
196
Flag debug-tracetree
  description:  Compile in support for tracetree (used to debug the solver)
  default:      False

197
198
executable cabal
    main-is:        Main.hs
199
    ghc-options:    -Wall -fwarn-tabs -rtsopts
200
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
201
202
203
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
204

205
    other-modules:
206
        Distribution.Client.BuildTarget
Duncan Coutts's avatar
Duncan Coutts committed
207
208
        Distribution.Client.BuildReports.Anonymous
        Distribution.Client.BuildReports.Storage
Duncan Coutts's avatar
Duncan Coutts committed
209
        Distribution.Client.BuildReports.Types
Duncan Coutts's avatar
Duncan Coutts committed
210
        Distribution.Client.BuildReports.Upload
211
        Distribution.Client.Check
212
213
        Distribution.Client.CmdBuild
        Distribution.Client.CmdConfigure
Duncan Coutts's avatar
Duncan Coutts committed
214
        Distribution.Client.CmdFreeze
Ben Gamari's avatar
Ben Gamari committed
215
        Distribution.Client.CmdHaddock
216
        Distribution.Client.CmdRepl
217
        Distribution.Client.Config
Duncan Coutts's avatar
Duncan Coutts committed
218
        Distribution.Client.Configure
219
220
        Distribution.Client.Dependency
        Distribution.Client.Dependency.Types
Duncan Coutts's avatar
Duncan Coutts committed
221
        Distribution.Client.DistDirLayout
barmston's avatar
barmston committed
222
        Distribution.Client.Exec
223
        Distribution.Client.Fetch
Duncan Coutts's avatar
Duncan Coutts committed
224
        Distribution.Client.FetchUtils
225
        Distribution.Client.FileMonitor
226
        Distribution.Client.Freeze
227
        Distribution.Client.GenBounds
228
        Distribution.Client.Get
229
        Distribution.Client.Glob
230
        Distribution.Client.GlobalFlags
231
        Distribution.Client.GZipUtils
232
        Distribution.Client.Haddock
233
234
        Distribution.Client.HttpUtils
        Distribution.Client.IndexUtils
235
        Distribution.Client.IndexUtils.Timestamp
236
237
238
239
        Distribution.Client.Init
        Distribution.Client.Init.Heuristics
        Distribution.Client.Init.Licenses
        Distribution.Client.Init.Types
240
241
        Distribution.Client.Install
        Distribution.Client.InstallPlan
242
        Distribution.Client.InstallSymlink
243
        Distribution.Client.JobControl
244
        Distribution.Client.List
Maciek Makowski's avatar
Maciek Makowski committed
245
        Distribution.Client.Manpage
Duncan Coutts's avatar
Duncan Coutts committed
246
        Distribution.Client.PackageHash
247
        Distribution.Client.PackageUtils
248
        Distribution.Client.ParseUtils
Duncan Coutts's avatar
Duncan Coutts committed
249
        Distribution.Client.ProjectBuilding
250
        Distribution.Client.ProjectBuilding.Types
251
252
253
        Distribution.Client.ProjectConfig
        Distribution.Client.ProjectConfig.Types
        Distribution.Client.ProjectConfig.Legacy
254
        Distribution.Client.ProjectOrchestration
Duncan Coutts's avatar
Duncan Coutts committed
255
        Distribution.Client.ProjectPlanning
256
        Distribution.Client.ProjectPlanning.Types
257
        Distribution.Client.ProjectPlanOutput
258
        Distribution.Client.RebuildMonad
ttuegel's avatar
ttuegel committed
259
260
        Distribution.Client.Reconfigure
        Distribution.Client.Run
261
        Distribution.Client.Sandbox
262
263
        Distribution.Client.Sandbox.Index
        Distribution.Client.Sandbox.PackageEnvironment
264
        Distribution.Client.Sandbox.Timestamp
265
        Distribution.Client.Sandbox.Types
ttuegel's avatar
ttuegel committed
266
        Distribution.Client.SavedFlags
267
        Distribution.Client.Security.DNS
Edsko de Vries's avatar
Edsko de Vries committed
268
        Distribution.Client.Security.HTTP
269
270
271
        Distribution.Client.Setup
        Distribution.Client.SetupWrapper
        Distribution.Client.SrcDist
272
        Distribution.Client.SolverInstallPlan
273
        Distribution.Client.SolverPlanIndex
274
        Distribution.Client.SourceFiles
275
        Distribution.Client.Tar
276
        Distribution.Client.Targets
277
278
279
280
        Distribution.Client.Types
        Distribution.Client.Update
        Distribution.Client.Upload
        Distribution.Client.Utils
281
        Distribution.Client.Utils.Json
282
        Distribution.Client.World
283
        Distribution.Client.Win32SelfUpgrade
284
        Distribution.Client.Compat.ExecutablePath
285
        Distribution.Client.Compat.FilePerms
286
        Distribution.Client.Compat.Prelude
287
        Distribution.Client.Compat.Process
288
        Distribution.Client.Compat.Semaphore
289
        Distribution.Solver.Types.ComponentDeps
290
        Distribution.Solver.Types.ConstraintSource
291
        Distribution.Solver.Types.DependencyResolver
292
        Distribution.Solver.Types.InstalledPreference
293
        Distribution.Solver.Types.InstSolverPackage
294
        Distribution.Solver.Types.LabeledPackageConstraint
295
        Distribution.Solver.Types.OptionalStanza
296
        Distribution.Solver.Types.PackageConstraint
297
298
        Distribution.Solver.Types.PackageFixedDeps
        Distribution.Solver.Types.PackageIndex
299
        Distribution.Solver.Types.PackagePath
300
        Distribution.Solver.Types.PackagePreferences
301
302
        Distribution.Solver.Types.PkgConfigDb
        Distribution.Solver.Types.Progress
303
        Distribution.Solver.Types.ResolverPackage
304
305
306
307
        Distribution.Solver.Types.Settings
        Distribution.Solver.Types.SolverId
        Distribution.Solver.Types.SolverPackage
        Distribution.Solver.Types.SourcePackage
308
        Distribution.Solver.Types.Variable
309
310
311
312
313
314
315
        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
316
        Distribution.Solver.Modular.Degree
317
318
319
320
321
322
323
324
325
326
327
328
        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
329
        Distribution.Solver.Modular.RetryLog
330
331
332
333
334
        Distribution.Solver.Modular.Solver
        Distribution.Solver.Modular.Tree
        Distribution.Solver.Modular.Validate
        Distribution.Solver.Modular.Var
        Distribution.Solver.Modular.Version
335
        Distribution.Solver.Modular.WeightedPSQ
336
        Paths_cabal_install
337

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
338
339
    -- NOTE: when updating build-depends, don't forget to update version regexps
    -- in bootstrap.sh.
Ben Millwood's avatar
Ben Millwood committed
340
    build-depends:
Duncan Coutts's avatar
Duncan Coutts committed
341
        async      >= 2.0      && < 3,
342
343
        array      >= 0.4      && < 0.6,
        base       >= 4.5      && < 5,
344
        base16-bytestring >= 0.1.1 && < 0.2,
345
        binary     >= 0.5      && < 0.9,
Ben Millwood's avatar
Ben Millwood committed
346
        bytestring >= 0.9      && < 1,
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
347
        Cabal      >= 1.25     && < 1.26,
348
        containers >= 0.4      && < 0.6,
349
        cryptohash-sha256 >= 0.11 && < 0.12,
350
        deepseq    >= 1.3      && < 1.5,
351
        edit-distance >= 0.2.2 && < 0.3,
352
        filepath   >= 1.3      && < 1.5,
353
        hashable   >= 1.0      && < 2,
354
        HTTP       >= 4000.1.5 && < 4000.4,
Ben Millwood's avatar
Ben Millwood committed
355
        mtl        >= 2.0      && < 3,
356
        pretty     >= 1.1      && < 1.2,
dsf's avatar
dsf committed
357
        random     >= 1        && < 1.2,
Ben Millwood's avatar
Ben Millwood committed
358
        stm        >= 2.0      && < 3,
359
        tar        >= 0.5.0.3  && < 0.6,
360
        time       >= 1.4      && < 1.7,
Edsko de Vries's avatar
Edsko de Vries committed
361
        zlib       >= 0.5.3    && < 0.7,
362
        hackage-security >= 0.5.2.2 && < 0.6
363

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

369
    if flag(old-directory)
370
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
371
                     process   >= 1.0.1.1  && < 1.1.0.2
372
    else
373
      build-depends: directory >= 1.2 && < 1.3,
374
                     process   >= 1.1.0.2  && < 1.5
375

376
377
378
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
379
    if flag(network-uri)
380
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
381
    else
tibbe's avatar
tibbe committed
382
      build-depends: network     >= 2.4 && < 2.6
383

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

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

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

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

Edsko de Vries's avatar
Edsko de Vries committed
400
401
402
403
    if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
404
    default-language: Haskell2010
405

barmston's avatar
barmston committed
406
-- Small, fast running tests.
407
408
409
Test-Suite unit-tests
  type: exitcode-stdio-1.0
  main-is: UnitTests.hs
410
411
412
  hs-source-dirs: tests, .
  ghc-options: -Wall -fwarn-tabs
  other-modules:
413
    UnitTests.Distribution.Client.ArbitraryInstances
414
    UnitTests.Distribution.Client.Targets
Duncan Coutts's avatar
Duncan Coutts committed
415
    UnitTests.Distribution.Client.FileMonitor
416
    UnitTests.Distribution.Client.Glob
417
    UnitTests.Distribution.Client.GZipUtils
418
    UnitTests.Distribution.Client.Sandbox
419
    UnitTests.Distribution.Client.Sandbox.Timestamp
420
    UnitTests.Distribution.Client.Tar
421
    UnitTests.Distribution.Client.UserConfig
422
    UnitTests.Distribution.Client.ProjectConfig
423
    UnitTests.Distribution.Client.JobControl
424
    UnitTests.Distribution.Client.IndexUtils.Timestamp
425
    UnitTests.Distribution.Client.InstallPlan
426
    UnitTests.Distribution.Solver.Modular.PSQ
427
    UnitTests.Distribution.Solver.Modular.RetryLog
428
429
    UnitTests.Distribution.Solver.Modular.Solver
    UnitTests.Distribution.Solver.Modular.DSL
430
    UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
kristenk's avatar
kristenk committed
431
    UnitTests.Distribution.Solver.Modular.WeightedPSQ
432
    UnitTests.Options
433
434
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
435
        async,
436
437
438
439
        array,
        bytestring,
        Cabal,
        containers,
440
        deepseq,
441
442
443
444
        mtl,
        pretty,
        process,
        directory,
445
        filepath,
Duncan Coutts's avatar
Duncan Coutts committed
446
        hashable,
447
        stm,
Duncan Coutts's avatar
Duncan Coutts committed
448
        tar,
449
450
451
        time,
        HTTP,
        zlib,
452
        binary,
453
        random,
Edsko de Vries's avatar
Edsko de Vries committed
454
        hackage-security,
455
456
457
        tasty,
        tasty-hunit,
        tasty-quickcheck,
Edsko de Vries's avatar
Edsko de Vries committed
458
        tagged,
459
        QuickCheck >= 2.8.2
460
461
462
463

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

464
465
466
467
468
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

469
470
471
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

472
473
474
475
476
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

477
478
  ghc-options: -fno-ignore-asserts

479
  if !(arch(arm) && impl(ghc < 7.6))
480
    ghc-options: -threaded
481
482
483
484
485

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

Edsko de Vries's avatar
Edsko de Vries committed
486
487
488
489
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
490
  default-language: Haskell2010
barmston's avatar
barmston committed
491

492
-- Tests to run with a limited stack and heap size
493
494
495
496
Test-Suite memory-usage-tests
  type: exitcode-stdio-1.0
  main-is: MemoryUsageTests.hs
  hs-source-dirs: tests, .
497
  ghc-options: -Wall -fwarn-tabs "-with-rtsopts=-M4M -K1K"
498
499
500
501
502
503
504
505
506
507
508
509
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
  other-modules:
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
    UnitTests.Distribution.Solver.Modular.MemoryUsage
    UnitTests.Options
  build-depends:
        base,
        async,
        array,
        bytestring,
        Cabal,
        containers,
        deepseq,
        mtl,
        pretty,
        process,
        directory,
        filepath,
        hashable,
        stm,
        tar,
        time,
        HTTP,
        zlib,
        binary,
        random,
        hackage-security,
        tagged,
        tasty,
        tasty-hunit

  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

  ghc-options: -fno-ignore-asserts

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

  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

  default-language: Haskell2010

560
561
562
563
564
-- Slow solver tests
Test-Suite solver-quickcheck
  type: exitcode-stdio-1.0
  main-is: SolverQuickCheck.hs
  hs-source-dirs: tests, .
565
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
566
  other-modules:
567
568
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
569
570
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
571
        async,
572
573
574
575
        array,
        bytestring,
        Cabal,
        containers,
576
        deepseq >= 1.2,
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
        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

612
  if !(arch(arm) && impl(ghc < 7.6))
613
    ghc-options: -threaded
614
615
616
617
618

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

Edsko de Vries's avatar
Edsko de Vries committed
619
620
621
622
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

623
624
  default-language: Haskell2010

625
-- Integration tests that call the cabal executable externally
626
test-suite integration-tests
barmston's avatar
barmston committed
627
628
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
629
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
630
631
  build-depends:
    Cabal,
632
    async,
barmston's avatar
barmston committed
633
634
635
636
637
    base,
    bytestring,
    directory,
    filepath,
    process,
638
    regex-posix,
639
    tasty,
640
    tasty-hunit
barmston's avatar
barmston committed
641
642
643
644

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

647
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
648
649
    ghc-options: -threaded

650
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
651
  default-language: Haskell2010
652

653
654
655
656
657
658
-- 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, .
659
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
660
661
662
663
664
665
666
667
668
669
670
  other-modules:
  build-depends:
        async,
        array,
        base,
        base16-bytestring,
        binary,
        bytestring,
        Cabal,
        containers,
        cryptohash-sha256,
671
        deepseq,
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
        directory,
        filepath,
        hackage-security,
        hashable,
        HTTP,
        mtl,
        network,
        network-uri,
        pretty,
        process,
        random,
        stm,
        tar,
        time,
        zlib,
        tasty,
688
689
        tasty-hunit,
        tagged
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710

  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

711
712
713
714
715
custom-setup
  setup-depends: Cabal >= 1.25,
                 base,
                 process   >= 1.1.0.1  && < 1.5,
                 filepath   >= 1.3      && < 1.5