cabal-install.cabal 23.1 KB
Newer Older
1
Name:               cabal-install
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
2
Version:            1.25.0.0
3
Synopsis:           The command-line interface for Cabal and Hackage.
4
Description:
5
6
7
    The \'cabal\' command-line program simplifies the process of managing
    Haskell software by automating the fetching, configuration, compilation
    and installation of Haskell libraries and programs.
8
homepage:           http://www.haskell.org/cabal/
9
bug-reports:        https://github.com/haskell/cabal/issues
10
11
License:            BSD3
License-File:       LICENSE
12
Author:             Cabal Development Team (see AUTHORS file)
13
14
Maintainer:         Cabal Development Team <cabal-devel@haskell.org>
Copyright:          2003-2016, Cabal Development Team
15
Category:           Distribution
lspitzner's avatar
lspitzner committed
16
Build-type:         Custom
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
17
Cabal-Version:      >= 1.10
barmston's avatar
barmston committed
18
19
Extra-Source-Files:
  README.md bash-completion/cabal bootstrap.sh changelog
20
  tests/README.md
barmston's avatar
barmston committed
21

22
23
24
  -- Generated with '../Cabal/misc/gen-extra-source-files.sh'
  -- Do NOT edit this section manually; instead, run the script.
  -- BEGIN gen-extra-source-files
25
  tests/IntegrationTests/common.sh
26
27
28
29
30
31
32
  tests/IntegrationTests/custom/custom_dep.sh
  tests/IntegrationTests/custom/custom_dep/client/B.hs
  tests/IntegrationTests/custom/custom_dep/client/Setup.hs
  tests/IntegrationTests/custom/custom_dep/client/client.cabal
  tests/IntegrationTests/custom/custom_dep/custom/A.hs
  tests/IntegrationTests/custom/custom_dep/custom/Setup.hs
  tests/IntegrationTests/custom/custom_dep/custom/custom.cabal
33
34
35
36
37
  tests/IntegrationTests/custom/plain.err
  tests/IntegrationTests/custom/plain.sh
  tests/IntegrationTests/custom/plain/A.hs
  tests/IntegrationTests/custom/plain/Setup.hs
  tests/IntegrationTests/custom/plain/plain.cabal
38
39
40
41
  tests/IntegrationTests/custom/segfault.sh
  tests/IntegrationTests/custom/segfault/Setup.hs
  tests/IntegrationTests/custom/segfault/cabal.project
  tests/IntegrationTests/custom/segfault/plain.cabal
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
  tests/IntegrationTests/exec/Foo.hs
  tests/IntegrationTests/exec/My.hs
  tests/IntegrationTests/exec/adds_sandbox_bin_directory_to_path.out
  tests/IntegrationTests/exec/adds_sandbox_bin_directory_to_path.sh
  tests/IntegrationTests/exec/auto_configures_on_exec.out
  tests/IntegrationTests/exec/auto_configures_on_exec.sh
  tests/IntegrationTests/exec/can_run_executables_installed_in_sandbox.out
  tests/IntegrationTests/exec/can_run_executables_installed_in_sandbox.sh
  tests/IntegrationTests/exec/configures_cabal_to_use_sandbox.sh
  tests/IntegrationTests/exec/configures_ghc_to_use_sandbox.sh
  tests/IntegrationTests/exec/exit_with_failure_without_args.err
  tests/IntegrationTests/exec/exit_with_failure_without_args.sh
  tests/IntegrationTests/exec/my.cabal
  tests/IntegrationTests/exec/runs_given_command.out
  tests/IntegrationTests/exec/runs_given_command.sh
  tests/IntegrationTests/freeze/disable_benchmarks_freezes_bench_deps.sh
  tests/IntegrationTests/freeze/disable_tests_freezes_test_deps.sh
  tests/IntegrationTests/freeze/does_not_freeze_nondeps.sh
  tests/IntegrationTests/freeze/does_not_freeze_self.sh
  tests/IntegrationTests/freeze/dry_run_does_not_create_config.sh
  tests/IntegrationTests/freeze/enable_benchmarks_freezes_bench_deps.sh
  tests/IntegrationTests/freeze/enable_tests_freezes_test_deps.sh
  tests/IntegrationTests/freeze/freezes_direct_dependencies.sh
  tests/IntegrationTests/freeze/freezes_transitive_dependencies.sh
  tests/IntegrationTests/freeze/my.cabal
  tests/IntegrationTests/freeze/runs_without_error.sh
68
  tests/IntegrationTests/internal-libs/cabal.project
69
70
  tests/IntegrationTests/internal-libs/internal_lib_basic.sh
  tests/IntegrationTests/internal-libs/internal_lib_shadow.sh
71
  tests/IntegrationTests/internal-libs/new_build.sh
72
73
74
75
76
77
78
79
80
81
82
83
  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
84
85
86
87
88
89
  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
90
91
92
93
94
95
96
97
98
99
100
  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
101
102
103
104
105
  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
106
107
108
109
110
111
  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
112
  tests/IntegrationTests/new-build/monitor_cabal_files.sh
113
  tests/IntegrationTests/new-build/monitor_cabal_files/cabal.project
114
115
116
117
118
119
120
  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
121
122
123
124
  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
125
126
127
128
  tests/IntegrationTests/regression/t3199.sh
  tests/IntegrationTests/regression/t3199/Main.hs
  tests/IntegrationTests/regression/t3199/Setup.hs
  tests/IntegrationTests/regression/t3199/test-3199.cabal
129
130
131
132
133
  tests/IntegrationTests/regression/t3335.sh
  tests/IntegrationTests/regression/t3335/A.hs
  tests/IntegrationTests/regression/t3335/Setup.hs
  tests/IntegrationTests/regression/t3335/cabal.project
  tests/IntegrationTests/regression/t3335/t3335.cabal
134
135
136
137
138
  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
139
140
141
142
143
144
145
146
147
  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
148
  tests/IntegrationTests/user-config/common.sh
149
150
151
152
153
154
155
156
  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
157
  tests/IntegrationTests2.hs
158
159
160
161
162
  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
163
164
165
166
167
168
169
170
171
  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
172
173
174
175
176
  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
177
178
179
180
181
  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
182
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
183
184

source-repository head
185
186
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
187
  subdir:   cabal-install
188

189
190
191
192
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

193
194
195
196
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

197
198
199
200
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

201
202
203
204
Flag debug-conflict-sets
  description:  Add additional information to ConflictSets
  default:      False

Edsko de Vries's avatar
Edsko de Vries committed
205
206
207
208
Flag debug-tracetree
  description:  Compile in support for tracetree (used to debug the solver)
  default:      False

209
210
211
executable cabal
    main-is:        Main.hs
    ghc-options:    -Wall -fwarn-tabs
212
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
213
214
215
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
216

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

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

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

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

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

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

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

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

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

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

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
406
    default-language: Haskell2010
407

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

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

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

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

470
471
472
473
474
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

475
  if !(arch(arm) && impl(ghc < 7.6))
476
    ghc-options: -threaded
477
478
479
480
481

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

Edsko de Vries's avatar
Edsko de Vries committed
482
483
484
485
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
486
  default-language: Haskell2010
barmston's avatar
barmston committed
487

488
489
490
491
492
493
494
-- Slow solver tests
Test-Suite solver-quickcheck
  type: exitcode-stdio-1.0
  main-is: SolverQuickCheck.hs
  hs-source-dirs: tests, .
  ghc-options: -Wall -fwarn-tabs
  other-modules:
495
496
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
497
498
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
499
        async,
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
        array,
        bytestring,
        Cabal,
        containers,
        mtl,
        pretty,
        process,
        directory,
        filepath,
        hashable,
        stm,
        tar,
        time,
        HTTP,
        zlib,
        binary,
        random,
        hackage-security,
        tasty,
        tasty-quickcheck,
        QuickCheck >= 2.8.2,
        pretty-show

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

  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

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

  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

539
  if !(arch(arm) && impl(ghc < 7.6))
540
    ghc-options: -threaded
541
542
543
544
545

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

Edsko de Vries's avatar
Edsko de Vries committed
546
547
548
549
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

550
551
  default-language: Haskell2010

552
-- Integration tests that call the cabal executable externally
553
test-suite integration-tests
barmston's avatar
barmston committed
554
555
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
556
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
557
558
  build-depends:
    Cabal,
559
    async,
barmston's avatar
barmston committed
560
561
562
563
564
    base,
    bytestring,
    directory,
    filepath,
    process,
565
    regex-posix,
566
    tasty,
567
    tasty-hunit
barmston's avatar
barmston committed
568
569
570
571

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

574
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
575
576
577
    ghc-options: -threaded

  ghc-options: -Wall
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
578
  default-language: Haskell2010
579

580
581
582
583
584
585
-- 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, .
586
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
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
612
613
  other-modules:
  build-depends:
        async,
        array,
        base,
        base16-bytestring,
        binary,
        bytestring,
        Cabal,
        containers,
        cryptohash-sha256,
        directory,
        filepath,
        hackage-security,
        hashable,
        HTTP,
        mtl,
        network,
        network-uri,
        pretty,
        process,
        random,
        stm,
        tar,
        time,
        zlib,
        tasty,
614
615
        tasty-hunit,
        tagged
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636

  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

637
638
639
640
641
custom-setup
  setup-depends: Cabal >= 1.25,
                 base,
                 process   >= 1.1.0.1  && < 1.5,
                 filepath   >= 1.3      && < 1.5