cabal-install.cabal 17.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 13 14
Author:             Cabal Development Team
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
26 27 28 29 30 31 32
  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
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
  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
  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
  tests/IntegrationTests/internal-libs/internal_lib_basic.sh
  tests/IntegrationTests/internal-libs/internal_lib_shadow.sh
66
  tests/IntegrationTests/internal-libs/new_build.sh
67 68 69 70 71 72 73 74 75 76 77 78
  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
79 80 81 82 83 84 85 86
  tests/IntegrationTests/new-build/monitor_cabal_files.sh
  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
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
87 88 89 90
  tests/IntegrationTests/regression/t3199.sh
  tests/IntegrationTests/regression/t3199/Main.hs
  tests/IntegrationTests/regression/t3199/Setup.hs
  tests/IntegrationTests/regression/t3199/test-3199.cabal
91 92 93 94 95
  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
96 97 98 99 100 101 102 103 104
  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
105
  tests/IntegrationTests/user-config/common.sh
106 107 108 109 110 111 112 113
  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
114
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
115 116

source-repository head
117 118
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
119
  subdir:   cabal-install
120

121 122 123 124
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

125 126 127 128
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

129 130 131 132
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

133 134 135 136
Flag debug-conflict-sets
  description:  Add additional information to ConflictSets
  default:      False

137 138 139
executable cabal
    main-is:        Main.hs
    ghc-options:    -Wall -fwarn-tabs
140
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
141 142 143
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
144

145
    other-modules:
146
        Distribution.Client.BuildTarget
Duncan Coutts's avatar
Duncan Coutts committed
147 148
        Distribution.Client.BuildReports.Anonymous
        Distribution.Client.BuildReports.Storage
Duncan Coutts's avatar
Duncan Coutts committed
149
        Distribution.Client.BuildReports.Types
Duncan Coutts's avatar
Duncan Coutts committed
150
        Distribution.Client.BuildReports.Upload
151
        Distribution.Client.Check
152 153 154
        Distribution.Client.CmdBuild
        Distribution.Client.CmdConfigure
        Distribution.Client.CmdRepl
155
        Distribution.Client.Config
Duncan Coutts's avatar
Duncan Coutts committed
156
        Distribution.Client.Configure
157 158 159 160 161
        Distribution.Client.Dependency
        Distribution.Client.Dependency.TopDown
        Distribution.Client.Dependency.TopDown.Constraints
        Distribution.Client.Dependency.TopDown.Types
        Distribution.Client.Dependency.Types
Duncan Coutts's avatar
Duncan Coutts committed
162
        Distribution.Client.DistDirLayout
barmston's avatar
barmston committed
163
        Distribution.Client.Exec
164
        Distribution.Client.Fetch
Duncan Coutts's avatar
Duncan Coutts committed
165
        Distribution.Client.FetchUtils
166
        Distribution.Client.FileMonitor
167
        Distribution.Client.Freeze
168
        Distribution.Client.GenBounds
169
        Distribution.Client.Get
170
        Distribution.Client.Glob
171
        Distribution.Client.GlobalFlags
172
        Distribution.Client.GZipUtils
173
        Distribution.Client.Haddock
174 175
        Distribution.Client.HttpUtils
        Distribution.Client.IndexUtils
176 177 178 179
        Distribution.Client.Init
        Distribution.Client.Init.Heuristics
        Distribution.Client.Init.Licenses
        Distribution.Client.Init.Types
180 181
        Distribution.Client.Install
        Distribution.Client.InstallPlan
182
        Distribution.Client.InstallSymlink
183
        Distribution.Client.JobControl
184
        Distribution.Client.List
Maciek Makowski's avatar
Maciek Makowski committed
185
        Distribution.Client.Manpage
Duncan Coutts's avatar
Duncan Coutts committed
186
        Distribution.Client.PackageHash
187
        Distribution.Client.PackageUtils
188
        Distribution.Client.ParseUtils
189
        Distribution.Client.PlanIndex
Duncan Coutts's avatar
Duncan Coutts committed
190
        Distribution.Client.ProjectBuilding
191 192 193
        Distribution.Client.ProjectConfig
        Distribution.Client.ProjectConfig.Types
        Distribution.Client.ProjectConfig.Legacy
194
        Distribution.Client.ProjectOrchestration
Duncan Coutts's avatar
Duncan Coutts committed
195
        Distribution.Client.ProjectPlanning
196
        Distribution.Client.ProjectPlanning.Types
197
        Distribution.Client.ProjectPlanOutput
refold's avatar
refold committed
198
        Distribution.Client.Run
199
        Distribution.Client.RebuildMonad
200
        Distribution.Client.Sandbox
201 202
        Distribution.Client.Sandbox.Index
        Distribution.Client.Sandbox.PackageEnvironment
203
        Distribution.Client.Sandbox.Timestamp
204
        Distribution.Client.Sandbox.Types
Edsko de Vries's avatar
Edsko de Vries committed
205
        Distribution.Client.Security.HTTP
206 207 208 209
        Distribution.Client.Setup
        Distribution.Client.SetupWrapper
        Distribution.Client.SrcDist
        Distribution.Client.Tar
210
        Distribution.Client.Targets
211 212 213 214
        Distribution.Client.Types
        Distribution.Client.Update
        Distribution.Client.Upload
        Distribution.Client.Utils
215
        Distribution.Client.Utils.Json
216
        Distribution.Client.World
217
        Distribution.Client.Win32SelfUpgrade
218
        Distribution.Client.Compat.ExecutablePath
219
        Distribution.Client.Compat.FilePerms
220
        Distribution.Client.Compat.Process
221
        Distribution.Client.Compat.Semaphore
222
        Distribution.Solver.Types.ComponentDeps
223
        Distribution.Solver.Types.ConstraintSource
224
        Distribution.Solver.Types.DependencyResolver
225
        Distribution.Solver.Types.Internal.Utils
226
        Distribution.Solver.Types.InstalledPreference
227
        Distribution.Solver.Types.LabeledPackageConstraint
228
        Distribution.Solver.Types.OptionalStanza
229
        Distribution.Solver.Types.PackageConstraint
230 231
        Distribution.Solver.Types.PackageFixedDeps
        Distribution.Solver.Types.PackageIndex
232
        Distribution.Solver.Types.PackagePreferences
233 234
        Distribution.Solver.Types.PkgConfigDb
        Distribution.Solver.Types.Progress
235
        Distribution.Solver.Types.ResolverPackage
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263
        Distribution.Solver.Types.Settings
        Distribution.Solver.Types.SolverId
        Distribution.Solver.Types.SolverPackage
        Distribution.Solver.Types.SourcePackage
        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
        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
        Distribution.Solver.Modular.Solver
        Distribution.Solver.Modular.Tree
        Distribution.Solver.Modular.Validate
        Distribution.Solver.Modular.Var
        Distribution.Solver.Modular.Version
264
        Paths_cabal_install
265

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
266 267
    -- NOTE: when updating build-depends, don't forget to update version regexps
    -- in bootstrap.sh.
Ben Millwood's avatar
Ben Millwood committed
268
    build-depends:
Duncan Coutts's avatar
Duncan Coutts committed
269
        async      >= 2.0      && < 3,
270 271
        array      >= 0.4      && < 0.6,
        base       >= 4.5      && < 5,
272
        base16-bytestring >= 0.1.1 && < 0.2,
273
        binary     >= 0.5      && < 0.9,
Ben Millwood's avatar
Ben Millwood committed
274
        bytestring >= 0.9      && < 1,
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
275
        Cabal      >= 1.25     && < 1.26,
276
        containers >= 0.4      && < 0.6,
277
        cryptohash-sha256 >= 0.11 && < 0.12,
278
        filepath   >= 1.3      && < 1.5,
279
        hashable   >= 1.0      && < 2,
280
        HTTP       >= 4000.1.5 && < 4000.4,
Ben Millwood's avatar
Ben Millwood committed
281
        mtl        >= 2.0      && < 3,
282
        pretty     >= 1.1      && < 1.2,
dsf's avatar
dsf committed
283
        random     >= 1        && < 1.2,
Ben Millwood's avatar
Ben Millwood committed
284
        stm        >= 2.0      && < 3,
285
        tar        >= 0.5.0.3  && < 0.6,
286
        time       >= 1.4      && < 1.7,
Edsko de Vries's avatar
Edsko de Vries committed
287
        zlib       >= 0.5.3    && < 0.7,
288
        hackage-security >= 0.5.1 && < 0.6
289

290 291 292 293 294
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

295
    if flag(old-directory)
296
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
297
                     process   >= 1.0.1.1  && < 1.1.0.2
298
    else
299
      build-depends: directory >= 1.2 && < 1.3,
300
                     process   >= 1.1.0.2  && < 1.5
301

302 303 304
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
305
    if flag(network-uri)
306
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
307
    else
tibbe's avatar
tibbe committed
308
      build-depends: network     >= 2.4 && < 2.6
309

310 311 312 313
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

314
    if os(windows)
315
      build-depends: Win32 >= 2 && < 3
316
    else
317
      build-depends: unix >= 2.5 && < 2.8
318

319 320
    if !(arch(arm) && impl(ghc < 7.6))
      ghc-options: -threaded
321

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

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
326
    default-language: Haskell2010
327

barmston's avatar
barmston committed
328
-- Small, fast running tests.
329 330 331
Test-Suite unit-tests
  type: exitcode-stdio-1.0
  main-is: UnitTests.hs
332 333 334
  hs-source-dirs: tests, .
  ghc-options: -Wall -fwarn-tabs
  other-modules:
335
    UnitTests.Distribution.Client.ArbitraryInstances
336
    UnitTests.Distribution.Client.Targets
Duncan Coutts's avatar
Duncan Coutts committed
337
    UnitTests.Distribution.Client.FileMonitor
338
    UnitTests.Distribution.Client.Glob
339
    UnitTests.Distribution.Client.GZipUtils
340
    UnitTests.Distribution.Client.Sandbox
341
    UnitTests.Distribution.Client.Sandbox.Timestamp
342
    UnitTests.Distribution.Client.Tar
343
    UnitTests.Distribution.Client.UserConfig
344
    UnitTests.Distribution.Client.ProjectConfig
345 346 347
    UnitTests.Distribution.Solver.Modular.PSQ
    UnitTests.Distribution.Solver.Modular.Solver
    UnitTests.Distribution.Solver.Modular.DSL
348
    UnitTests.Options
349 350
  build-depends:
        base,
351 352 353 354 355 356 357 358
        array,
        bytestring,
        Cabal,
        containers,
        mtl,
        pretty,
        process,
        directory,
359
        filepath,
Duncan Coutts's avatar
Duncan Coutts committed
360
        hashable,
361
        stm,
Duncan Coutts's avatar
Duncan Coutts committed
362
        tar,
363 364 365
        time,
        HTTP,
        zlib,
366
        binary,
367
        random,
Edsko de Vries's avatar
Edsko de Vries committed
368
        hackage-security,
369 370 371
        tasty,
        tasty-hunit,
        tasty-quickcheck,
Edsko de Vries's avatar
Edsko de Vries committed
372
        tagged,
373
        QuickCheck >= 2.8.2
374 375 376 377

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

378 379 380 381 382
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

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

386 387 388 389 390
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

391
  if !(arch(arm) && impl(ghc < 7.6))
392
    ghc-options: -threaded
393 394 395 396 397

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

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
398
  default-language: Haskell2010
barmston's avatar
barmston committed
399

400 401 402 403 404 405 406
-- 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:
407 408
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449
  build-depends:
        base,
        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

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

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

457 458
  default-language: Haskell2010

459
test-suite integration-tests
barmston's avatar
barmston committed
460 461
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
462
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
463 464
  build-depends:
    Cabal,
465
    async,
barmston's avatar
barmston committed
466 467 468 469 470
    base,
    bytestring,
    directory,
    filepath,
    process,
471
    regex-posix,
472
    tasty,
473
    tasty-hunit
barmston's avatar
barmston committed
474 475 476 477

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

480
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
481 482 483
    ghc-options: -threaded

  ghc-options: -Wall
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
484
  default-language: Haskell2010
485 486 487 488 489 490

custom-setup
  setup-depends: Cabal >= 1.25,
                 base,
                 process   >= 1.1.0.1  && < 1.5,
                 filepath   >= 1.3      && < 1.5