cabal-install.cabal 26.7 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
  tests/IntegrationTests/backpack/includes2-external.sh
  tests/IntegrationTests/backpack/includes2-internal.sh
  tests/IntegrationTests/backpack/includes2/Includes2.cabal
  tests/IntegrationTests/backpack/includes2/exe/Main.hs
  tests/IntegrationTests/backpack/includes2/exe/exe.cabal
  tests/IntegrationTests/backpack/includes2/mylib/Mine.hs
  tests/IntegrationTests/backpack/includes2/mylib/mylib.cabal
  tests/IntegrationTests/backpack/includes2/mysql/Database/MySQL.hs
  tests/IntegrationTests/backpack/includes2/mysql/mysql.cabal
  tests/IntegrationTests/backpack/includes2/postgresql/Database/PostgreSQL.hs
  tests/IntegrationTests/backpack/includes2/postgresql/postgresql.cabal
  tests/IntegrationTests/backpack/includes2/src/App.hs
  tests/IntegrationTests/backpack/includes2/src/src.cabal
  tests/IntegrationTests/backpack/includes3-external.sh
  tests/IntegrationTests/backpack/includes3-internal.sh
  tests/IntegrationTests/backpack/includes3/Includes3.cabal
  tests/IntegrationTests/backpack/includes3/exe/Main.hs
  tests/IntegrationTests/backpack/includes3/exe/Setup.hs
  tests/IntegrationTests/backpack/includes3/exe/exe.cabal
  tests/IntegrationTests/backpack/includes3/indef/Foo.hs
  tests/IntegrationTests/backpack/includes3/indef/Setup.hs
  tests/IntegrationTests/backpack/includes3/indef/indef.cabal
  tests/IntegrationTests/backpack/includes3/sigs/Setup.hs
  tests/IntegrationTests/backpack/includes3/sigs/sigs.cabal
49
  tests/IntegrationTests/common.sh
kristenk's avatar
kristenk committed
50
51
52
53
  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
54
55
56
57
  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
58
59
  tests/IntegrationTests/custom-setup/custom-setup/Setup.hs
  tests/IntegrationTests/custom-setup/custom-setup/custom-setup.cabal
60
61
  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
62
  tests/IntegrationTests/custom-setup/installs_Cabal_as_setup_dep.sh
63
64
65
66
67
68
69
  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
70
71
72
73
  tests/IntegrationTests/custom/plain.sh
  tests/IntegrationTests/custom/plain/A.hs
  tests/IntegrationTests/custom/plain/Setup.hs
  tests/IntegrationTests/custom/plain/plain.cabal
74
75
76
77
  tests/IntegrationTests/custom/segfault.sh
  tests/IntegrationTests/custom/segfault/Setup.hs
  tests/IntegrationTests/custom/segfault/cabal.project
  tests/IntegrationTests/custom/segfault/plain.cabal
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
  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
104
  tests/IntegrationTests/internal-libs/cabal.project
105
106
  tests/IntegrationTests/internal-libs/internal_lib_basic.sh
  tests/IntegrationTests/internal-libs/internal_lib_shadow.sh
107
  tests/IntegrationTests/internal-libs/new_build.sh
108
109
110
111
112
113
114
115
116
117
118
119
  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
120
121
122
123
124
125
  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
126
127
128
129
130
131
132
133
134
135
136
  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
137
138
139
140
141
  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
142
143
144
145
146
  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
147
148
149
150
151
152
  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
153
  tests/IntegrationTests/new-build/monitor_cabal_files.sh
154
  tests/IntegrationTests/new-build/monitor_cabal_files/cabal.project
155
156
157
158
159
160
161
  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
162
163
164
165
  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
166
167
168
169
  tests/IntegrationTests/regression/t3199.sh
  tests/IntegrationTests/regression/t3199/Main.hs
  tests/IntegrationTests/regression/t3199/Setup.hs
  tests/IntegrationTests/regression/t3199/test-3199.cabal
170
171
172
173
174
  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
175
176
177
178
179
180
  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
181
182
183
184
185
  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
186
187
188
189
190
191
192
193
194
  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
195
  tests/IntegrationTests/user-config/common.sh
196
197
198
199
200
201
202
203
  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
204
205
206
207
208
  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
209
210
211
212
213
214
215
216
217
  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
218
  tests/IntegrationTests2/exception/bad-config/cabal.project
219
220
221
222
223
  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
224
225
226
227
228
  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
229
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
230
231

source-repository head
232
233
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
234
  subdir:   cabal-install
235

236
237
238
239
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

240
241
242
243
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

244
245
246
247
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

248
249
250
251
Flag debug-conflict-sets
  description:  Add additional information to ConflictSets
  default:      False

Edsko de Vries's avatar
Edsko de Vries committed
252
253
254
255
Flag debug-tracetree
  description:  Compile in support for tracetree (used to debug the solver)
  default:      False

256
257
executable cabal
    main-is:        Main.hs
258
    ghc-options:    -Wall -fwarn-tabs -rtsopts
259
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
260
261
262
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
263

264
    other-modules:
265
        Distribution.Client.BuildTarget
Duncan Coutts's avatar
Duncan Coutts committed
266
267
        Distribution.Client.BuildReports.Anonymous
        Distribution.Client.BuildReports.Storage
Duncan Coutts's avatar
Duncan Coutts committed
268
        Distribution.Client.BuildReports.Types
Duncan Coutts's avatar
Duncan Coutts committed
269
        Distribution.Client.BuildReports.Upload
270
        Distribution.Client.Check
271
272
        Distribution.Client.CmdBuild
        Distribution.Client.CmdConfigure
Duncan Coutts's avatar
Duncan Coutts committed
273
        Distribution.Client.CmdFreeze
274
        Distribution.Client.CmdRepl
275
        Distribution.Client.Config
Duncan Coutts's avatar
Duncan Coutts committed
276
        Distribution.Client.Configure
277
278
        Distribution.Client.Dependency
        Distribution.Client.Dependency.Types
Duncan Coutts's avatar
Duncan Coutts committed
279
        Distribution.Client.DistDirLayout
barmston's avatar
barmston committed
280
        Distribution.Client.Exec
281
        Distribution.Client.Fetch
Duncan Coutts's avatar
Duncan Coutts committed
282
        Distribution.Client.FetchUtils
283
        Distribution.Client.FileMonitor
284
        Distribution.Client.Freeze
285
        Distribution.Client.GenBounds
286
        Distribution.Client.Get
287
        Distribution.Client.Glob
288
        Distribution.Client.GlobalFlags
289
        Distribution.Client.GZipUtils
290
        Distribution.Client.Haddock
291
292
        Distribution.Client.HttpUtils
        Distribution.Client.IndexUtils
293
        Distribution.Client.IndexUtils.Timestamp
294
295
296
297
        Distribution.Client.Init
        Distribution.Client.Init.Heuristics
        Distribution.Client.Init.Licenses
        Distribution.Client.Init.Types
298
299
        Distribution.Client.Install
        Distribution.Client.InstallPlan
300
        Distribution.Client.InstallSymlink
301
        Distribution.Client.JobControl
302
        Distribution.Client.List
Maciek Makowski's avatar
Maciek Makowski committed
303
        Distribution.Client.Manpage
Duncan Coutts's avatar
Duncan Coutts committed
304
        Distribution.Client.PackageHash
305
        Distribution.Client.PackageUtils
306
        Distribution.Client.ParseUtils
Duncan Coutts's avatar
Duncan Coutts committed
307
        Distribution.Client.ProjectBuilding
308
        Distribution.Client.ProjectBuilding.Types
309
310
311
        Distribution.Client.ProjectConfig
        Distribution.Client.ProjectConfig.Types
        Distribution.Client.ProjectConfig.Legacy
312
        Distribution.Client.ProjectOrchestration
Duncan Coutts's avatar
Duncan Coutts committed
313
        Distribution.Client.ProjectPlanning
314
        Distribution.Client.ProjectPlanning.Types
315
        Distribution.Client.ProjectPlanOutput
316
        Distribution.Client.RebuildMonad
ttuegel's avatar
ttuegel committed
317
318
        Distribution.Client.Reconfigure
        Distribution.Client.Run
319
        Distribution.Client.Sandbox
320
321
        Distribution.Client.Sandbox.Index
        Distribution.Client.Sandbox.PackageEnvironment
322
        Distribution.Client.Sandbox.Timestamp
323
        Distribution.Client.Sandbox.Types
ttuegel's avatar
ttuegel committed
324
        Distribution.Client.SavedFlags
325
        Distribution.Client.Security.DNS
Edsko de Vries's avatar
Edsko de Vries committed
326
        Distribution.Client.Security.HTTP
327
328
329
        Distribution.Client.Setup
        Distribution.Client.SetupWrapper
        Distribution.Client.SrcDist
330
        Distribution.Client.SolverInstallPlan
331
        Distribution.Client.SolverPlanIndex
332
        Distribution.Client.SourceFiles
333
        Distribution.Client.Tar
334
        Distribution.Client.Targets
335
336
337
338
        Distribution.Client.Types
        Distribution.Client.Update
        Distribution.Client.Upload
        Distribution.Client.Utils
339
        Distribution.Client.Utils.Json
340
        Distribution.Client.World
341
        Distribution.Client.Win32SelfUpgrade
342
        Distribution.Client.Compat.ExecutablePath
343
        Distribution.Client.Compat.FilePerms
344
        Distribution.Client.Compat.Prelude
345
        Distribution.Client.Compat.Process
346
        Distribution.Client.Compat.Semaphore
347
        Distribution.Solver.Types.ComponentDeps
348
        Distribution.Solver.Types.ConstraintSource
349
        Distribution.Solver.Types.DependencyResolver
350
        Distribution.Solver.Types.InstalledPreference
351
        Distribution.Solver.Types.InstSolverPackage
352
        Distribution.Solver.Types.LabeledPackageConstraint
353
        Distribution.Solver.Types.OptionalStanza
354
        Distribution.Solver.Types.PackageConstraint
355
356
        Distribution.Solver.Types.PackageFixedDeps
        Distribution.Solver.Types.PackageIndex
357
        Distribution.Solver.Types.PackagePath
358
        Distribution.Solver.Types.PackagePreferences
359
360
        Distribution.Solver.Types.PkgConfigDb
        Distribution.Solver.Types.Progress
361
        Distribution.Solver.Types.ResolverPackage
362
363
364
365
        Distribution.Solver.Types.Settings
        Distribution.Solver.Types.SolverId
        Distribution.Solver.Types.SolverPackage
        Distribution.Solver.Types.SourcePackage
366
        Distribution.Solver.Types.Variable
367
368
369
370
371
372
373
        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
374
        Distribution.Solver.Modular.Degree
375
376
377
378
379
380
381
382
383
384
385
386
        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
387
        Distribution.Solver.Modular.RetryLog
388
389
390
391
392
        Distribution.Solver.Modular.Solver
        Distribution.Solver.Modular.Tree
        Distribution.Solver.Modular.Validate
        Distribution.Solver.Modular.Var
        Distribution.Solver.Modular.Version
393
        Distribution.Solver.Modular.WeightedPSQ
394
        Paths_cabal_install
395

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
396
397
    -- NOTE: when updating build-depends, don't forget to update version regexps
    -- in bootstrap.sh.
Ben Millwood's avatar
Ben Millwood committed
398
    build-depends:
Duncan Coutts's avatar
Duncan Coutts committed
399
        async      >= 2.0      && < 3,
400
401
        array      >= 0.4      && < 0.6,
        base       >= 4.5      && < 5,
402
        base16-bytestring >= 0.1.1 && < 0.2,
403
        binary     >= 0.5      && < 0.9,
Ben Millwood's avatar
Ben Millwood committed
404
        bytestring >= 0.9      && < 1,
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
405
        Cabal      >= 1.25     && < 1.26,
406
        containers >= 0.4      && < 0.6,
407
        cryptohash-sha256 >= 0.11 && < 0.12,
408
        deepseq    >= 1.3      && < 1.5,
409
        filepath   >= 1.3      && < 1.5,
410
        hashable   >= 1.0      && < 2,
411
        HTTP       >= 4000.1.5 && < 4000.4,
Ben Millwood's avatar
Ben Millwood committed
412
        mtl        >= 2.0      && < 3,
413
        pretty     >= 1.1      && < 1.2,
dsf's avatar
dsf committed
414
        random     >= 1        && < 1.2,
Ben Millwood's avatar
Ben Millwood committed
415
        stm        >= 2.0      && < 3,
416
        tar        >= 0.5.0.3  && < 0.6,
417
        time       >= 1.4      && < 1.7,
Edsko de Vries's avatar
Edsko de Vries committed
418
        zlib       >= 0.5.3    && < 0.7,
419
        hackage-security >= 0.5.2.2 && < 0.6
420

421
422
423
424
425
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

426
    if flag(old-directory)
427
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
428
                     process   >= 1.0.1.1  && < 1.1.0.2
429
    else
430
      build-depends: directory >= 1.2 && < 1.3,
431
                     process   >= 1.1.0.2  && < 1.5
432

433
434
435
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
436
    if flag(network-uri)
437
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
438
    else
tibbe's avatar
tibbe committed
439
      build-depends: network     >= 2.4 && < 2.6
440

441
442
443
444
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

445
    if os(windows)
446
      build-depends: Win32 >= 2 && < 3
447
    else
448
      build-depends: unix >= 2.5 && < 2.8
449

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

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

Edsko de Vries's avatar
Edsko de Vries committed
457
458
459
460
    if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
461
    default-language: Haskell2010
462

barmston's avatar
barmston committed
463
-- Small, fast running tests.
464
465
466
Test-Suite unit-tests
  type: exitcode-stdio-1.0
  main-is: UnitTests.hs
467
468
469
  hs-source-dirs: tests, .
  ghc-options: -Wall -fwarn-tabs
  other-modules:
470
    UnitTests.Distribution.Client.ArbitraryInstances
471
    UnitTests.Distribution.Client.Targets
Duncan Coutts's avatar
Duncan Coutts committed
472
    UnitTests.Distribution.Client.FileMonitor
473
    UnitTests.Distribution.Client.Glob
474
    UnitTests.Distribution.Client.GZipUtils
475
    UnitTests.Distribution.Client.Sandbox
476
    UnitTests.Distribution.Client.Sandbox.Timestamp
477
    UnitTests.Distribution.Client.Tar
478
    UnitTests.Distribution.Client.UserConfig
479
    UnitTests.Distribution.Client.ProjectConfig
480
    UnitTests.Distribution.Client.JobControl
481
    UnitTests.Distribution.Client.IndexUtils.Timestamp
482
    UnitTests.Distribution.Client.InstallPlan
483
    UnitTests.Distribution.Solver.Modular.PSQ
484
    UnitTests.Distribution.Solver.Modular.RetryLog
485
486
    UnitTests.Distribution.Solver.Modular.Solver
    UnitTests.Distribution.Solver.Modular.DSL
kristenk's avatar
kristenk committed
487
    UnitTests.Distribution.Solver.Modular.WeightedPSQ
488
    UnitTests.Options
489
490
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
491
        async,
492
493
494
495
        array,
        bytestring,
        Cabal,
        containers,
496
        deepseq,
497
498
499
500
        mtl,
        pretty,
        process,
        directory,
501
        filepath,
Duncan Coutts's avatar
Duncan Coutts committed
502
        hashable,
503
        stm,
Duncan Coutts's avatar
Duncan Coutts committed
504
        tar,
505
506
507
        time,
        HTTP,
        zlib,
508
        binary,
509
        random,
Edsko de Vries's avatar
Edsko de Vries committed
510
        hackage-security,
511
512
513
        tasty,
        tasty-hunit,
        tasty-quickcheck,
Edsko de Vries's avatar
Edsko de Vries committed
514
        tagged,
515
        QuickCheck >= 2.8.2
516
517
518
519

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

520
521
522
523
524
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

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

528
529
530
531
532
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

533
534
  ghc-options: -fno-ignore-asserts

535
  if !(arch(arm) && impl(ghc < 7.6))
536
    ghc-options: -threaded
537
538
539
540
541

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

Edsko de Vries's avatar
Edsko de Vries committed
542
543
544
545
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
546
  default-language: Haskell2010
barmston's avatar
barmston committed
547

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

600
  if !(arch(arm) && impl(ghc < 7.6))
601
    ghc-options: -threaded
602
603
604
605
606

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

Edsko de Vries's avatar
Edsko de Vries committed
607
608
609
610
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

611
612
  default-language: Haskell2010

613
-- Integration tests that call the cabal executable externally
614
test-suite integration-tests
barmston's avatar
barmston committed
615
616
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
617
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
618
619
  build-depends:
    Cabal,
620
    async,
barmston's avatar
barmston committed
621
622
623
624
625
    base,
    bytestring,
    directory,
    filepath,
    process,
626
    regex-posix,
627
    tasty,
628
    tasty-hunit
barmston's avatar
barmston committed
629
630
631
632

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

635
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
636
637
    ghc-options: -threaded

638
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
639
  default-language: Haskell2010
640

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

  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

699
700
701
702
703
custom-setup
  setup-depends: Cabal >= 1.25,
                 base,
                 process   >= 1.1.0.1  && < 1.5,
                 filepath   >= 1.3      && < 1.5