cabal-install.cabal 25 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 152
  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
153 154 155 156 157
  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
158 159 160 161 162 163 164 165 166
  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
167
  tests/IntegrationTests/user-config/common.sh
168 169 170 171 172 173 174 175
  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
176
  tests/IntegrationTests2.hs
177 178 179 180 181
  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
182 183 184 185 186 187 188 189 190
  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
191
  tests/IntegrationTests2/exception/bad-config/cabal.project
192 193 194 195 196
  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
197 198 199 200 201
  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
202
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
203 204

source-repository head
205 206
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
207
  subdir:   cabal-install
208

209 210 211 212
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

213 214 215 216
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

217 218 219 220
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

221 222 223 224
Flag debug-conflict-sets
  description:  Add additional information to ConflictSets
  default:      False

Edsko de Vries's avatar
Edsko de Vries committed
225 226 227 228
Flag debug-tracetree
  description:  Compile in support for tracetree (used to debug the solver)
  default:      False

229 230
executable cabal
    main-is:        Main.hs
231
    ghc-options:    -Wall -fwarn-tabs -rtsopts
232
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
233 234 235
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
236

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

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

391 392 393 394 395
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

396
    if flag(old-directory)
397
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
398
                     process   >= 1.0.1.1  && < 1.1.0.2
399
    else
400
      build-depends: directory >= 1.2 && < 1.3,
401
                     process   >= 1.1.0.2  && < 1.5
402

403 404 405
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
406
    if flag(network-uri)
407
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
408
    else
tibbe's avatar
tibbe committed
409
      build-depends: network     >= 2.4 && < 2.6
410

411 412 413 414
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

415
    if os(windows)
416
      build-depends: Win32 >= 2 && < 3
417
    else
418
      build-depends: unix >= 2.5 && < 2.8
419

420 421
    if !(arch(arm) && impl(ghc < 7.6))
      ghc-options: -threaded
422

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

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

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

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

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

490 491 492 493 494
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

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

498 499 500 501 502
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

503 504
  ghc-options: -fno-ignore-asserts

505
  if !(arch(arm) && impl(ghc < 7.6))
506
    ghc-options: -threaded
507 508 509 510 511

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

Edsko de Vries's avatar
Edsko de Vries committed
512 513 514 515
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
516
  default-language: Haskell2010
barmston's avatar
barmston committed
517

518 519 520 521 522
-- Slow solver tests
Test-Suite solver-quickcheck
  type: exitcode-stdio-1.0
  main-is: SolverQuickCheck.hs
  hs-source-dirs: tests, .
523
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
524
  other-modules:
525 526
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
527 528
  build-depends:
        base,
Duncan Coutts's avatar
Duncan Coutts committed
529
        async,
530 531 532 533
        array,
        bytestring,
        Cabal,
        containers,
534
        deepseq >= 1.2,
535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569
        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

570
  if !(arch(arm) && impl(ghc < 7.6))
571
    ghc-options: -threaded
572 573 574 575 576

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

Edsko de Vries's avatar
Edsko de Vries committed
577 578 579 580
  if flag(debug-tracetree)
      cpp-options: -DDEBUG_TRACETREE
      build-depends: tracetree >= 0.1 && < 0.2

581 582
  default-language: Haskell2010

583
-- Integration tests that call the cabal executable externally
584
test-suite integration-tests
barmston's avatar
barmston committed
585 586
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
587
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
588 589
  build-depends:
    Cabal,
590
    async,
barmston's avatar
barmston committed
591 592 593 594 595
    base,
    bytestring,
    directory,
    filepath,
    process,
596
    regex-posix,
597
    tasty,
598
    tasty-hunit
barmston's avatar
barmston committed
599 600 601 602

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

605
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
606 607
    ghc-options: -threaded

608
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
609
  default-language: Haskell2010
610

611 612 613 614 615 616
-- 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, .
617
  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts
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,
629
        deepseq,
630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645
        directory,
        filepath,
        hackage-security,
        hashable,
        HTTP,
        mtl,
        network,
        network-uri,
        pretty,
        process,
        random,
        stm,
        tar,
        time,
        zlib,
        tasty,
646 647
        tasty-hunit,
        tagged
648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668

  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

669 670 671 672 673
custom-setup
  setup-depends: Cabal >= 1.25,
                 base,
                 process   >= 1.1.0.1  && < 1.5,
                 filepath   >= 1.3      && < 1.5