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

22
23
24
  -- Generated with '../Cabal/misc/gen-extra-source-files.sh'
  -- Do NOT edit this section manually; instead, run the script.
  -- BEGIN gen-extra-source-files
25
  tests/IntegrationTests/common.sh
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
refold's avatar
refold committed
281
        Distribution.Client.Run
282
        Distribution.Client.RebuildMonad
283
        Distribution.Client.Sandbox
284
285
        Distribution.Client.Sandbox.Index
        Distribution.Client.Sandbox.PackageEnvironment
286
        Distribution.Client.Sandbox.Timestamp
287
        Distribution.Client.Sandbox.Types
Edsko de Vries's avatar
Edsko de Vries committed
288
        Distribution.Client.Security.HTTP
289
290
291
        Distribution.Client.Setup
        Distribution.Client.SetupWrapper
        Distribution.Client.SrcDist
292
        Distribution.Client.SolverInstallPlan
293
        Distribution.Client.SolverPlanIndex
294
        Distribution.Client.Tar
295
        Distribution.Client.Targets
296
297
298
299
        Distribution.Client.Types
        Distribution.Client.Update
        Distribution.Client.Upload
        Distribution.Client.Utils
300
        Distribution.Client.Utils.Json
301
        Distribution.Client.World
302
        Distribution.Client.Win32SelfUpgrade
303
        Distribution.Client.Compat.ExecutablePath
304
        Distribution.Client.Compat.FilePerms
305
        Distribution.Client.Compat.Process
306
        Distribution.Client.Compat.Semaphore
307
        Distribution.Solver.Types.ComponentDeps
308
        Distribution.Solver.Types.ConstraintSource
309
        Distribution.Solver.Types.DependencyResolver
310
        Distribution.Solver.Types.InstalledPreference
311
        Distribution.Solver.Types.InstSolverPackage
312
        Distribution.Solver.Types.LabeledPackageConstraint
313
        Distribution.Solver.Types.OptionalStanza
314
        Distribution.Solver.Types.PackageConstraint
315
316
        Distribution.Solver.Types.PackageFixedDeps
        Distribution.Solver.Types.PackageIndex
317
        Distribution.Solver.Types.PackagePath
318
        Distribution.Solver.Types.PackagePreferences
319
320
        Distribution.Solver.Types.PkgConfigDb
        Distribution.Solver.Types.Progress
321
        Distribution.Solver.Types.ResolverPackage
322
323
324
325
        Distribution.Solver.Types.Settings
        Distribution.Solver.Types.SolverId
        Distribution.Solver.Types.SolverPackage
        Distribution.Solver.Types.SourcePackage
326
        Distribution.Solver.Types.Variable
327
328
329
330
331
332
333
        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
334
        Distribution.Solver.Modular.Degree
335
336
337
338
339
340
341
342
343
344
345
346
        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
347
        Distribution.Solver.Modular.RetryLog
348
349
350
351
352
        Distribution.Solver.Modular.Solver
        Distribution.Solver.Modular.Tree
        Distribution.Solver.Modular.Validate
        Distribution.Solver.Modular.Var
        Distribution.Solver.Modular.Version
353
        Distribution.Solver.Modular.WeightedPSQ
354
        Paths_cabal_install
355

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

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

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

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

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

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

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

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

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

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
420
    default-language: Haskell2010
421

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

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

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

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

485
486
487
488
489
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

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

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

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

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
501
  default-language: Haskell2010
barmston's avatar
barmston committed
502

503
504
505
506
507
508
509
-- 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:
510
511
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
512
513
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
514
        async,
515
516
517
518
519
520
521
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
        array,
        bytestring,
        Cabal,
        containers,
        mtl,
        pretty,
        process,
        directory,
        filepath,
        hashable,
        stm,
        tar,
        time,
        HTTP,
        zlib,
        binary,
        random,
        hackage-security,
        tasty,
        tasty-quickcheck,
        QuickCheck >= 2.8.2,
        pretty-show

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

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

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

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

554
  if !(arch(arm) && impl(ghc < 7.6))
555
    ghc-options: -threaded
556
557
558
559
560

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

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

565
566
  default-language: Haskell2010

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

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

589
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
590
591
592
    ghc-options: -threaded

  ghc-options: -Wall
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
593
  default-language: Haskell2010
594

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

  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

652
653
654
655
656
custom-setup
  setup-depends: Cabal >= 1.25,
                 base,
                 process   >= 1.1.0.1  && < 1.5,
                 filepath   >= 1.3      && < 1.5