cabal-install.cabal 24.3 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
kristenk's avatar
kristenk committed
26
27
28
29
  tests/IntegrationTests/custom-setup/Cabal-99998/Cabal.cabal
  tests/IntegrationTests/custom-setup/Cabal-99998/CabalMessage.hs
  tests/IntegrationTests/custom-setup/Cabal-99999/Cabal.cabal
  tests/IntegrationTests/custom-setup/Cabal-99999/CabalMessage.hs
30
31
32
33
  tests/IntegrationTests/custom-setup/custom-setup-without-cabal-defaultMain/Setup.hs
  tests/IntegrationTests/custom-setup/custom-setup-without-cabal-defaultMain/custom-setup-without-cabal-defaultMain.cabal
  tests/IntegrationTests/custom-setup/custom-setup-without-cabal/Setup.hs
  tests/IntegrationTests/custom-setup/custom-setup-without-cabal/custom-setup-without-cabal.cabal
kristenk's avatar
kristenk committed
34
35
  tests/IntegrationTests/custom-setup/custom-setup/Setup.hs
  tests/IntegrationTests/custom-setup/custom-setup/custom-setup.cabal
36
37
  tests/IntegrationTests/custom-setup/custom_setup_without_Cabal_doesnt_allow_Cabal_import.sh
  tests/IntegrationTests/custom-setup/custom_setup_without_Cabal_doesnt_require_Cabal.sh
kristenk's avatar
kristenk committed
38
  tests/IntegrationTests/custom-setup/installs_Cabal_as_setup_dep.sh
39
40
41
42
43
44
45
  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
46
47
48
49
50
  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
51
52
53
54
  tests/IntegrationTests/custom/segfault.sh
  tests/IntegrationTests/custom/segfault/Setup.hs
  tests/IntegrationTests/custom/segfault/cabal.project
  tests/IntegrationTests/custom/segfault/plain.cabal
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
  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
81
  tests/IntegrationTests/internal-libs/cabal.project
82
83
  tests/IntegrationTests/internal-libs/internal_lib_basic.sh
  tests/IntegrationTests/internal-libs/internal_lib_shadow.sh
84
  tests/IntegrationTests/internal-libs/new_build.sh
85
86
87
88
89
90
91
92
93
94
95
96
  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
97
98
99
100
101
102
  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
103
104
105
106
107
108
109
110
111
112
113
  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
114
115
116
117
118
  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
119
120
121
122
123
124
  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
125
  tests/IntegrationTests/new-build/monitor_cabal_files.sh
126
  tests/IntegrationTests/new-build/monitor_cabal_files/cabal.project
127
128
129
130
131
132
133
  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
134
135
136
137
  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
138
139
140
141
  tests/IntegrationTests/regression/t3199.sh
  tests/IntegrationTests/regression/t3199/Main.hs
  tests/IntegrationTests/regression/t3199/Setup.hs
  tests/IntegrationTests/regression/t3199/test-3199.cabal
142
143
144
145
146
  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
147
148
149
150
151
  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
152
153
154
155
156
157
158
159
160
  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
161
  tests/IntegrationTests/user-config/common.sh
162
163
164
165
166
167
168
169
  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
170
  tests/IntegrationTests2.hs
171
172
173
174
175
  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
176
177
178
179
180
181
182
183
184
  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
185
  tests/IntegrationTests2/exception/bad-config/cabal.project
186
187
188
189
190
  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
191
192
193
194
195
  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
196
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
197
198

source-repository head
199
200
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
201
  subdir:   cabal-install
202

203
204
205
206
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

207
208
209
210
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

211
212
213
214
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

215
216
217
218
Flag debug-conflict-sets
  description:  Add additional information to ConflictSets
  default:      False

Edsko de Vries's avatar
Edsko de Vries committed
219
220
221
222
Flag debug-tracetree
  description:  Compile in support for tracetree (used to debug the solver)
  default:      False

223
224
225
executable cabal
    main-is:        Main.hs
    ghc-options:    -Wall -fwarn-tabs
226
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
227
228
229
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
230

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

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
358
359
    -- NOTE: when updating build-depends, don't forget to update version regexps
    -- in bootstrap.sh.
Ben Millwood's avatar
Ben Millwood committed
360
    build-depends:
Duncan Coutts's avatar
Duncan Coutts committed
361
        async      >= 2.0      && < 3,
362
363
        array      >= 0.4      && < 0.6,
        base       >= 4.5      && < 5,
364
        base16-bytestring >= 0.1.1 && < 0.2,
365
        binary     >= 0.5      && < 0.9,
Ben Millwood's avatar
Ben Millwood committed
366
        bytestring >= 0.9      && < 1,
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
367
        Cabal      >= 1.25     && < 1.26,
368
        containers >= 0.4      && < 0.6,
369
        cryptohash-sha256 >= 0.11 && < 0.12,
370
        filepath   >= 1.3      && < 1.5,
371
        hashable   >= 1.0      && < 2,
372
        HTTP       >= 4000.1.5 && < 4000.4,
Ben Millwood's avatar
Ben Millwood committed
373
        mtl        >= 2.0      && < 3,
374
        pretty     >= 1.1      && < 1.2,
dsf's avatar
dsf committed
375
        random     >= 1        && < 1.2,
Ben Millwood's avatar
Ben Millwood committed
376
        stm        >= 2.0      && < 3,
377
        tar        >= 0.5.0.3  && < 0.6,
378
        time       >= 1.4      && < 1.7,
Edsko de Vries's avatar
Edsko de Vries committed
379
        zlib       >= 0.5.3    && < 0.7,
380
        hackage-security >= 0.5.2 && < 0.6
381

382
383
384
385
386
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

387
    if flag(old-directory)
388
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
389
                     process   >= 1.0.1.1  && < 1.1.0.2
390
    else
391
      build-depends: directory >= 1.2 && < 1.3,
392
                     process   >= 1.1.0.2  && < 1.5
393

394
395
396
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
397
    if flag(network-uri)
398
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
399
    else
tibbe's avatar
tibbe committed
400
      build-depends: network     >= 2.4 && < 2.6
401

402
403
404
405
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

406
    if os(windows)
407
      build-depends: Win32 >= 2 && < 3
408
    else
409
      build-depends: unix >= 2.5 && < 2.8
410

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

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

Edsko de Vries's avatar
Edsko de Vries committed
418
419
420
421
    if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
422
    default-language: Haskell2010
423

barmston's avatar
barmston committed
424
-- Small, fast running tests.
425
426
427
Test-Suite unit-tests
  type: exitcode-stdio-1.0
  main-is: UnitTests.hs
428
429
430
  hs-source-dirs: tests, .
  ghc-options: -Wall -fwarn-tabs
  other-modules:
431
    UnitTests.Distribution.Client.ArbitraryInstances
432
    UnitTests.Distribution.Client.Targets
Duncan Coutts's avatar
Duncan Coutts committed
433
    UnitTests.Distribution.Client.FileMonitor
434
    UnitTests.Distribution.Client.Glob
435
    UnitTests.Distribution.Client.GZipUtils
436
    UnitTests.Distribution.Client.Sandbox
437
    UnitTests.Distribution.Client.Sandbox.Timestamp
438
    UnitTests.Distribution.Client.Tar
439
    UnitTests.Distribution.Client.UserConfig
440
    UnitTests.Distribution.Client.ProjectConfig
441
    UnitTests.Distribution.Client.JobControl
442
    UnitTests.Distribution.Client.InstallPlan
443
    UnitTests.Distribution.Solver.Modular.PSQ
444
    UnitTests.Distribution.Solver.Modular.RetryLog
445
446
    UnitTests.Distribution.Solver.Modular.Solver
    UnitTests.Distribution.Solver.Modular.DSL
kristenk's avatar
kristenk committed
447
    UnitTests.Distribution.Solver.Modular.WeightedPSQ
448
    UnitTests.Options
449
450
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
451
        async,
452
453
454
455
456
457
458
459
        array,
        bytestring,
        Cabal,
        containers,
        mtl,
        pretty,
        process,
        directory,
460
        filepath,
Duncan Coutts's avatar
Duncan Coutts committed
461
        hashable,
462
        stm,
Duncan Coutts's avatar
Duncan Coutts committed
463
        tar,
464
465
466
        time,
        HTTP,
        zlib,
467
        binary,
468
        random,
Edsko de Vries's avatar
Edsko de Vries committed
469
        hackage-security,
470
471
472
        tasty,
        tasty-hunit,
        tasty-quickcheck,
Edsko de Vries's avatar
Edsko de Vries committed
473
        tagged,
474
        QuickCheck >= 2.8.2
475
476
477
478

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

479
480
481
482
483
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

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

487
488
489
490
491
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

492
  if !(arch(arm) && impl(ghc < 7.6))
493
    ghc-options: -threaded
494
495
496
497
498

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

Edsko de Vries's avatar
Edsko de Vries committed
499
500
501
502
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
503
  default-language: Haskell2010
barmston's avatar
barmston committed
504

505
506
507
508
509
510
511
-- 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:
512
513
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
514
515
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
516
        async,
517
518
519
520
        array,
        bytestring,
        Cabal,
        containers,
521
        deepseq >= 1.2,
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
        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

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

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

Edsko de Vries's avatar
Edsko de Vries committed
564
565
566
567
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

568
569
  default-language: Haskell2010

570
-- Integration tests that call the cabal executable externally
571
test-suite integration-tests
barmston's avatar
barmston committed
572
573
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
574
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
575
576
  build-depends:
    Cabal,
577
    async,
barmston's avatar
barmston committed
578
579
580
581
582
    base,
    bytestring,
    directory,
    filepath,
    process,
583
    regex-posix,
584
    tasty,
585
    tasty-hunit
barmston's avatar
barmston committed
586
587
588
589

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

592
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
593
594
595
    ghc-options: -threaded

  ghc-options: -Wall
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
596
  default-language: Haskell2010
597

598
599
600
601
602
603
-- 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, .
604
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
  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,
632
633
        tasty-hunit,
        tagged
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654

  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

655
656
657
658
659
custom-setup
  setup-depends: Cabal >= 1.25,
                 base,
                 process   >= 1.1.0.1  && < 1.5,
                 filepath   >= 1.3      && < 1.5