cabal-install.cabal 20.2 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
  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
  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
64
  tests/IntegrationTests/internal-libs/cabal.project
65
66
  tests/IntegrationTests/internal-libs/internal_lib_basic.sh
  tests/IntegrationTests/internal-libs/internal_lib_shadow.sh
67
  tests/IntegrationTests/internal-libs/new_build.sh
68
69
70
71
72
73
74
75
76
77
78
79
  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
80
  tests/IntegrationTests/new-build/monitor_cabal_files.sh
81
  tests/IntegrationTests/new-build/monitor_cabal_files/cabal.project
82
83
84
85
86
87
88
  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
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
89
90
91
92
  tests/IntegrationTests/regression/t3199.sh
  tests/IntegrationTests/regression/t3199/Main.hs
  tests/IntegrationTests/regression/t3199/Setup.hs
  tests/IntegrationTests/regression/t3199/test-3199.cabal
93
94
95
96
97
  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
98
99
100
101
102
103
104
105
106
  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
107
  tests/IntegrationTests/user-config/common.sh
108
109
110
111
112
113
114
115
  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
116
  tests/IntegrationTests2.hs
117
118
119
120
121
122
123
124
125
  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
126
127
128
129
130
  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
131
132
133
134
135
  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
136
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
137
138

source-repository head
139
140
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
141
  subdir:   cabal-install
142

143
144
145
146
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

147
148
149
150
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

151
152
153
154
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

155
156
157
158
Flag debug-conflict-sets
  description:  Add additional information to ConflictSets
  default:      False

Edsko de Vries's avatar
Edsko de Vries committed
159
160
161
162
Flag debug-tracetree
  description:  Compile in support for tracetree (used to debug the solver)
  default:      False

163
164
165
executable cabal
    main-is:        Main.hs
    ghc-options:    -Wall -fwarn-tabs
166
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
167
168
169
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
170

171
    other-modules:
172
        Distribution.Client.BuildTarget
Duncan Coutts's avatar
Duncan Coutts committed
173
174
        Distribution.Client.BuildReports.Anonymous
        Distribution.Client.BuildReports.Storage
Duncan Coutts's avatar
Duncan Coutts committed
175
        Distribution.Client.BuildReports.Types
Duncan Coutts's avatar
Duncan Coutts committed
176
        Distribution.Client.BuildReports.Upload
177
        Distribution.Client.Check
178
179
180
        Distribution.Client.CmdBuild
        Distribution.Client.CmdConfigure
        Distribution.Client.CmdRepl
181
        Distribution.Client.Config
Duncan Coutts's avatar
Duncan Coutts committed
182
        Distribution.Client.Configure
183
184
185
186
187
        Distribution.Client.Dependency
        Distribution.Client.Dependency.TopDown
        Distribution.Client.Dependency.TopDown.Constraints
        Distribution.Client.Dependency.TopDown.Types
        Distribution.Client.Dependency.Types
Duncan Coutts's avatar
Duncan Coutts committed
188
        Distribution.Client.DistDirLayout
barmston's avatar
barmston committed
189
        Distribution.Client.Exec
190
        Distribution.Client.Fetch
Duncan Coutts's avatar
Duncan Coutts committed
191
        Distribution.Client.FetchUtils
192
        Distribution.Client.FileMonitor
193
        Distribution.Client.Freeze
194
        Distribution.Client.GenBounds
195
        Distribution.Client.Get
196
        Distribution.Client.Glob
197
        Distribution.Client.GlobalFlags
198
        Distribution.Client.GZipUtils
199
        Distribution.Client.Haddock
200
201
        Distribution.Client.HttpUtils
        Distribution.Client.IndexUtils
202
203
204
205
        Distribution.Client.Init
        Distribution.Client.Init.Heuristics
        Distribution.Client.Init.Licenses
        Distribution.Client.Init.Types
206
207
        Distribution.Client.Install
        Distribution.Client.InstallPlan
208
        Distribution.Client.InstallSymlink
209
        Distribution.Client.JobControl
210
        Distribution.Client.List
Maciek Makowski's avatar
Maciek Makowski committed
211
        Distribution.Client.Manpage
Duncan Coutts's avatar
Duncan Coutts committed
212
        Distribution.Client.PackageHash
213
        Distribution.Client.PackageUtils
214
        Distribution.Client.ParseUtils
215
        Distribution.Client.PlanIndex
Duncan Coutts's avatar
Duncan Coutts committed
216
        Distribution.Client.ProjectBuilding
217
218
219
        Distribution.Client.ProjectConfig
        Distribution.Client.ProjectConfig.Types
        Distribution.Client.ProjectConfig.Legacy
220
        Distribution.Client.ProjectOrchestration
Duncan Coutts's avatar
Duncan Coutts committed
221
        Distribution.Client.ProjectPlanning
222
        Distribution.Client.ProjectPlanning.Types
223
        Distribution.Client.ProjectPlanOutput
refold's avatar
refold committed
224
        Distribution.Client.Run
225
        Distribution.Client.RebuildMonad
226
        Distribution.Client.Sandbox
227
228
        Distribution.Client.Sandbox.Index
        Distribution.Client.Sandbox.PackageEnvironment
229
        Distribution.Client.Sandbox.Timestamp
230
        Distribution.Client.Sandbox.Types
Edsko de Vries's avatar
Edsko de Vries committed
231
        Distribution.Client.Security.HTTP
232
233
234
235
        Distribution.Client.Setup
        Distribution.Client.SetupWrapper
        Distribution.Client.SrcDist
        Distribution.Client.Tar
236
        Distribution.Client.Targets
237
238
239
240
        Distribution.Client.Types
        Distribution.Client.Update
        Distribution.Client.Upload
        Distribution.Client.Utils
241
        Distribution.Client.Utils.Json
242
        Distribution.Client.World
243
        Distribution.Client.Win32SelfUpgrade
244
        Distribution.Client.Compat.ExecutablePath
245
        Distribution.Client.Compat.FilePerms
246
        Distribution.Client.Compat.Process
247
        Distribution.Client.Compat.Semaphore
248
        Distribution.Solver.Types.ComponentDeps
249
        Distribution.Solver.Types.ConstraintSource
250
        Distribution.Solver.Types.DependencyResolver
251
        Distribution.Solver.Types.Internal.Utils
252
        Distribution.Solver.Types.InstalledPreference
253
        Distribution.Solver.Types.LabeledPackageConstraint
254
        Distribution.Solver.Types.OptionalStanza
255
        Distribution.Solver.Types.PackageConstraint
256
257
        Distribution.Solver.Types.PackageFixedDeps
        Distribution.Solver.Types.PackageIndex
258
        Distribution.Solver.Types.PackagePreferences
259
260
        Distribution.Solver.Types.PkgConfigDb
        Distribution.Solver.Types.Progress
261
        Distribution.Solver.Types.ResolverPackage
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
        Distribution.Solver.Types.Settings
        Distribution.Solver.Types.SolverId
        Distribution.Solver.Types.SolverPackage
        Distribution.Solver.Types.SourcePackage
        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
        Distribution.Solver.Modular.Solver
        Distribution.Solver.Modular.Tree
        Distribution.Solver.Modular.Validate
        Distribution.Solver.Modular.Var
        Distribution.Solver.Modular.Version
290
        Paths_cabal_install
291

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
292
293
    -- NOTE: when updating build-depends, don't forget to update version regexps
    -- in bootstrap.sh.
Ben Millwood's avatar
Ben Millwood committed
294
    build-depends:
Duncan Coutts's avatar
Duncan Coutts committed
295
        async      >= 2.0      && < 3,
296
297
        array      >= 0.4      && < 0.6,
        base       >= 4.5      && < 5,
298
        base16-bytestring >= 0.1.1 && < 0.2,
299
        binary     >= 0.5      && < 0.9,
Ben Millwood's avatar
Ben Millwood committed
300
        bytestring >= 0.9      && < 1,
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
301
        Cabal      >= 1.25     && < 1.26,
302
        containers >= 0.4      && < 0.6,
303
        cryptohash-sha256 >= 0.11 && < 0.12,
304
        filepath   >= 1.3      && < 1.5,
305
        hashable   >= 1.0      && < 2,
306
        HTTP       >= 4000.1.5 && < 4000.4,
Ben Millwood's avatar
Ben Millwood committed
307
        mtl        >= 2.0      && < 3,
308
        pretty     >= 1.1      && < 1.2,
dsf's avatar
dsf committed
309
        random     >= 1        && < 1.2,
Ben Millwood's avatar
Ben Millwood committed
310
        stm        >= 2.0      && < 3,
311
        tar        >= 0.5.0.3  && < 0.6,
312
        time       >= 1.4      && < 1.7,
Edsko de Vries's avatar
Edsko de Vries committed
313
        zlib       >= 0.5.3    && < 0.7,
314
        hackage-security >= 0.5.1 && < 0.6
315

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

321
    if flag(old-directory)
322
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
323
                     process   >= 1.0.1.1  && < 1.1.0.2
324
    else
325
      build-depends: directory >= 1.2 && < 1.3,
326
                     process   >= 1.1.0.2  && < 1.5
327

328
329
330
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
331
    if flag(network-uri)
332
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
333
    else
tibbe's avatar
tibbe committed
334
      build-depends: network     >= 2.4 && < 2.6
335

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

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

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

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

Edsko de Vries's avatar
Edsko de Vries committed
352
353
354
355
    if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
356
    default-language: Haskell2010
357

barmston's avatar
barmston committed
358
-- Small, fast running tests.
359
360
361
Test-Suite unit-tests
  type: exitcode-stdio-1.0
  main-is: UnitTests.hs
362
363
364
  hs-source-dirs: tests, .
  ghc-options: -Wall -fwarn-tabs
  other-modules:
365
    UnitTests.Distribution.Client.ArbitraryInstances
366
    UnitTests.Distribution.Client.Targets
Duncan Coutts's avatar
Duncan Coutts committed
367
    UnitTests.Distribution.Client.FileMonitor
368
    UnitTests.Distribution.Client.Glob
369
    UnitTests.Distribution.Client.GZipUtils
370
    UnitTests.Distribution.Client.Sandbox
371
    UnitTests.Distribution.Client.Sandbox.Timestamp
372
    UnitTests.Distribution.Client.Tar
373
    UnitTests.Distribution.Client.UserConfig
374
    UnitTests.Distribution.Client.ProjectConfig
375
376
377
    UnitTests.Distribution.Solver.Modular.PSQ
    UnitTests.Distribution.Solver.Modular.Solver
    UnitTests.Distribution.Solver.Modular.DSL
378
    UnitTests.Options
379
380
  build-depends:
        base,
381
382
383
384
385
386
387
388
        array,
        bytestring,
        Cabal,
        containers,
        mtl,
        pretty,
        process,
        directory,
389
        filepath,
Duncan Coutts's avatar
Duncan Coutts committed
390
        hashable,
391
        stm,
Duncan Coutts's avatar
Duncan Coutts committed
392
        tar,
393
394
395
        time,
        HTTP,
        zlib,
396
        binary,
397
        random,
Edsko de Vries's avatar
Edsko de Vries committed
398
        hackage-security,
399
400
401
        tasty,
        tasty-hunit,
        tasty-quickcheck,
Edsko de Vries's avatar
Edsko de Vries committed
402
        tagged,
403
        QuickCheck >= 2.8.2
404
405
406
407

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

408
409
410
411
412
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

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

416
417
418
419
420
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

421
  if !(arch(arm) && impl(ghc < 7.6))
422
    ghc-options: -threaded
423
424
425
426
427

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

Edsko de Vries's avatar
Edsko de Vries committed
428
429
430
431
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
432
  default-language: Haskell2010
barmston's avatar
barmston committed
433

434
435
436
437
438
439
440
-- 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:
441
442
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
  build-depends:
        base,
        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

484
  if !(arch(arm) && impl(ghc < 7.6))
485
    ghc-options: -threaded
486
487
488
489
490

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

Edsko de Vries's avatar
Edsko de Vries committed
491
492
493
494
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

495
496
  default-language: Haskell2010

497
-- Integration tests that call the cabal executable externally
498
test-suite integration-tests
barmston's avatar
barmston committed
499
500
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
501
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
502
503
  build-depends:
    Cabal,
504
    async,
barmston's avatar
barmston committed
505
506
507
508
509
    base,
    bytestring,
    directory,
    filepath,
    process,
510
    regex-posix,
511
    tasty,
512
    tasty-hunit
barmston's avatar
barmston committed
513
514
515
516

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

519
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
520
521
522
    ghc-options: -threaded

  ghc-options: -Wall
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
523
  default-language: Haskell2010
524

525
526
527
528
529
530
-- 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, .
531
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
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
  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,
559
560
        tasty-hunit,
        tagged
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581

  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

582
583
584
585
586
custom-setup
  setup-depends: Cabal >= 1.25,
                 base,
                 process   >= 1.1.0.1  && < 1.5,
                 filepath   >= 1.3      && < 1.5