cabal-install.cabal 26.4 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/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
142
143
144
145
146
147
  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
148
  tests/IntegrationTests/new-build/monitor_cabal_files.sh
149
  tests/IntegrationTests/new-build/monitor_cabal_files/cabal.project
150
151
152
153
154
155
156
  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
157
158
159
160
  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
161
162
163
164
  tests/IntegrationTests/regression/t3199.sh
  tests/IntegrationTests/regression/t3199/Main.hs
  tests/IntegrationTests/regression/t3199/Setup.hs
  tests/IntegrationTests/regression/t3199/test-3199.cabal
165
166
167
168
169
  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
170
171
172
173
174
175
  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
176
177
178
179
180
  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
181
182
183
184
185
186
187
188
189
  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
190
  tests/IntegrationTests/user-config/common.sh
191
192
193
194
195
196
197
198
  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
199
  tests/IntegrationTests2.hs
200
201
202
203
204
  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
205
206
207
208
209
210
211
212
213
  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
214
  tests/IntegrationTests2/exception/bad-config/cabal.project
215
216
217
218
219
  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
220
221
222
223
224
  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
225
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
226
227

source-repository head
228
229
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
230
  subdir:   cabal-install
231

232
233
234
235
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

236
237
238
239
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

240
241
242
243
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

244
245
246
247
Flag debug-conflict-sets
  description:  Add additional information to ConflictSets
  default:      False

Edsko de Vries's avatar
Edsko de Vries committed
248
249
250
251
Flag debug-tracetree
  description:  Compile in support for tracetree (used to debug the solver)
  default:      False

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

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

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

415
416
417
418
419
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

420
    if flag(old-directory)
421
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
422
                     process   >= 1.0.1.1  && < 1.1.0.2
423
    else
424
      build-depends: directory >= 1.2 && < 1.3,
425
                     process   >= 1.1.0.2  && < 1.5
426

427
428
429
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
430
    if flag(network-uri)
431
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
432
    else
tibbe's avatar
tibbe committed
433
      build-depends: network     >= 2.4 && < 2.6
434

435
436
437
438
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

439
    if os(windows)
440
      build-depends: Win32 >= 2 && < 3
441
    else
442
      build-depends: unix >= 2.5 && < 2.8
443

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

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

Edsko de Vries's avatar
Edsko de Vries committed
451
452
453
454
    if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
455
    default-language: Haskell2010
456

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

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

514
515
516
517
518
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

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

522
523
524
525
526
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

527
528
  ghc-options: -fno-ignore-asserts

529
  if !(arch(arm) && impl(ghc < 7.6))
530
    ghc-options: -threaded
531
532
533
534
535

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

Edsko de Vries's avatar
Edsko de Vries committed
536
537
538
539
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
540
  default-language: Haskell2010
barmston's avatar
barmston committed
541

542
543
544
545
546
-- Slow solver tests
Test-Suite solver-quickcheck
  type: exitcode-stdio-1.0
  main-is: SolverQuickCheck.hs
  hs-source-dirs: tests, .
547
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
548
  other-modules:
549
550
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
551
552
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
553
        async,
554
555
556
557
        array,
        bytestring,
        Cabal,
        containers,
558
        deepseq >= 1.2,
559
560
561
562
563
564
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
        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

594
  if !(arch(arm) && impl(ghc < 7.6))
595
    ghc-options: -threaded
596
597
598
599
600

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

Edsko de Vries's avatar
Edsko de Vries committed
601
602
603
604
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

605
606
  default-language: Haskell2010

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

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

629
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
630
631
    ghc-options: -threaded

632
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
633
  default-language: Haskell2010
634

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

  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

693
694
695
696
697
custom-setup
  setup-depends: Cabal >= 1.25,
                 base,
                 process   >= 1.1.0.1  && < 1.5,
                 filepath   >= 1.3      && < 1.5