cabal-install.cabal 16.6 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
Author:             Lemmih <lemmih@gmail.com>
                    Paolo Martini <paolo@nemail.it>
14 15
                    Bjorn Bringert <bjorn@bringert.net>
                    Isaac Potoczny-Jones <ijones@syntaxpolice.org>
Duncan Coutts's avatar
Duncan Coutts committed
16
                    Duncan Coutts <duncan@community.haskell.org>
17
Maintainer:         cabal-devel@haskell.org
18 19
Copyright:          2005 Lemmih <lemmih@gmail.com>
                    2006 Paolo Martini <paolo@nemail.it>
20 21
                    2007 Bjorn Bringert <bjorn@bringert.net>
                    2007 Isaac Potoczny-Jones <ijones@syntaxpolice.org>
22
                    2007-2012 Duncan Coutts <duncan@community.haskell.org>
23
Category:           Distribution
lspitzner's avatar
lspitzner committed
24
Build-type:         Custom
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
25
Cabal-Version:      >= 1.10
barmston's avatar
barmston committed
26 27
Extra-Source-Files:
  README.md bash-completion/cabal bootstrap.sh changelog
28
  tests/README.md
barmston's avatar
barmston committed
29

30 31 32
  -- Generated with '../Cabal/misc/gen-extra-source-files.sh'
  -- Do NOT edit this section manually; instead, run the script.
  -- BEGIN gen-extra-source-files
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 66 67 68 69 70 71 72 73 74 75 76 77 78
  tests/IntegrationTests/common.sh
  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
  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
executable cabal
    main-is:        Main.hs
    ghc-options:    -Wall -fwarn-tabs
136
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
137 138 139
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
140

141
    other-modules:
142
        Distribution.Client.BuildTarget
Duncan Coutts's avatar
Duncan Coutts committed
143 144
        Distribution.Client.BuildReports.Anonymous
        Distribution.Client.BuildReports.Storage
Duncan Coutts's avatar
Duncan Coutts committed
145
        Distribution.Client.BuildReports.Types
Duncan Coutts's avatar
Duncan Coutts committed
146
        Distribution.Client.BuildReports.Upload
147
        Distribution.Client.Check
148 149 150
        Distribution.Client.CmdBuild
        Distribution.Client.CmdConfigure
        Distribution.Client.CmdRepl
Edsko de Vries's avatar
Edsko de Vries committed
151
        Distribution.Client.ComponentDeps
152
        Distribution.Client.Config
Duncan Coutts's avatar
Duncan Coutts committed
153
        Distribution.Client.Configure
154 155 156 157 158
        Distribution.Client.Dependency
        Distribution.Client.Dependency.TopDown
        Distribution.Client.Dependency.TopDown.Constraints
        Distribution.Client.Dependency.TopDown.Types
        Distribution.Client.Dependency.Types
159
        Distribution.Client.Dependency.Modular
160 161 162
        Distribution.Client.Dependency.Modular.Assignment
        Distribution.Client.Dependency.Modular.Builder
        Distribution.Client.Dependency.Modular.Configured
Andres Löh's avatar
Andres Löh committed
163
        Distribution.Client.Dependency.Modular.ConfiguredConversion
Edsko de Vries's avatar
Edsko de Vries committed
164
        Distribution.Client.Dependency.Modular.ConflictSet
165
        Distribution.Client.Dependency.Modular.Cycles
166 167 168 169
        Distribution.Client.Dependency.Modular.Dependency
        Distribution.Client.Dependency.Modular.Explore
        Distribution.Client.Dependency.Modular.Flag
        Distribution.Client.Dependency.Modular.Index
170
        Distribution.Client.Dependency.Modular.IndexConversion
171
        Distribution.Client.Dependency.Modular.Linking
172 173 174 175 176 177 178 179
        Distribution.Client.Dependency.Modular.Log
        Distribution.Client.Dependency.Modular.Message
        Distribution.Client.Dependency.Modular.Package
        Distribution.Client.Dependency.Modular.Preference
        Distribution.Client.Dependency.Modular.PSQ
        Distribution.Client.Dependency.Modular.Solver
        Distribution.Client.Dependency.Modular.Tree
        Distribution.Client.Dependency.Modular.Validate
Edsko de Vries's avatar
Edsko de Vries committed
180
        Distribution.Client.Dependency.Modular.Var
181
        Distribution.Client.Dependency.Modular.Version
Duncan Coutts's avatar
Duncan Coutts committed
182
        Distribution.Client.DistDirLayout
barmston's avatar
barmston committed
183
        Distribution.Client.Exec
184
        Distribution.Client.Fetch
Duncan Coutts's avatar
Duncan Coutts committed
185
        Distribution.Client.FetchUtils
186
        Distribution.Client.FileMonitor
187
        Distribution.Client.Freeze
188
        Distribution.Client.GenBounds
189
        Distribution.Client.Get
190
        Distribution.Client.Glob
191
        Distribution.Client.GlobalFlags
192
        Distribution.Client.GZipUtils
193
        Distribution.Client.Haddock
194 195
        Distribution.Client.HttpUtils
        Distribution.Client.IndexUtils
196 197 198 199
        Distribution.Client.Init
        Distribution.Client.Init.Heuristics
        Distribution.Client.Init.Licenses
        Distribution.Client.Init.Types
200 201
        Distribution.Client.Install
        Distribution.Client.InstallPlan
202
        Distribution.Client.InstallSymlink
203
        Distribution.Client.JobControl
204
        Distribution.Client.List
Maciek Makowski's avatar
Maciek Makowski committed
205
        Distribution.Client.Manpage
Duncan Coutts's avatar
Duncan Coutts committed
206
        Distribution.Client.PackageHash
207
        Distribution.Client.PackageIndex
208
        Distribution.Client.PackageUtils
209
        Distribution.Client.ParseUtils
210
        Distribution.Client.PkgConfigDb
211
        Distribution.Client.PlanIndex
Duncan Coutts's avatar
Duncan Coutts committed
212
        Distribution.Client.ProjectBuilding
213 214 215
        Distribution.Client.ProjectConfig
        Distribution.Client.ProjectConfig.Types
        Distribution.Client.ProjectConfig.Legacy
216
        Distribution.Client.ProjectOrchestration
Duncan Coutts's avatar
Duncan Coutts committed
217
        Distribution.Client.ProjectPlanning
218
        Distribution.Client.ProjectPlanning.Types
219
        Distribution.Client.ProjectPlanOutput
refold's avatar
refold committed
220
        Distribution.Client.Run
221
        Distribution.Client.RebuildMonad
222
        Distribution.Client.Sandbox
223 224
        Distribution.Client.Sandbox.Index
        Distribution.Client.Sandbox.PackageEnvironment
225
        Distribution.Client.Sandbox.Timestamp
226
        Distribution.Client.Sandbox.Types
Edsko de Vries's avatar
Edsko de Vries committed
227
        Distribution.Client.Security.HTTP
228 229 230 231
        Distribution.Client.Setup
        Distribution.Client.SetupWrapper
        Distribution.Client.SrcDist
        Distribution.Client.Tar
232
        Distribution.Client.Targets
233 234 235 236
        Distribution.Client.Types
        Distribution.Client.Update
        Distribution.Client.Upload
        Distribution.Client.Utils
237
        Distribution.Client.Utils.LabeledGraph
238
        Distribution.Client.Utils.Json
239
        Distribution.Client.World
240
        Distribution.Client.Win32SelfUpgrade
241
        Distribution.Client.Compat.ExecutablePath
242
        Distribution.Client.Compat.FilePerms
243
        Distribution.Client.Compat.Process
244
        Distribution.Client.Compat.Semaphore
245
        Paths_cabal_install
246

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
247 248
    -- NOTE: when updating build-depends, don't forget to update version regexps
    -- in bootstrap.sh.
Ben Millwood's avatar
Ben Millwood committed
249
    build-depends:
Duncan Coutts's avatar
Duncan Coutts committed
250
        async      >= 2.0      && < 3,
251 252
        array      >= 0.4      && < 0.6,
        base       >= 4.5      && < 5,
253
        base16-bytestring >= 0.1.1 && < 0.2,
254
        binary     >= 0.5      && < 0.9,
Ben Millwood's avatar
Ben Millwood committed
255
        bytestring >= 0.9      && < 1,
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
256
        Cabal      >= 1.25     && < 1.26,
257
        containers >= 0.4      && < 0.6,
258
        cryptohash-sha256 >= 0.11 && < 0.12,
259
        filepath   >= 1.3      && < 1.5,
260
        hashable   >= 1.0      && < 2,
261
        HTTP       >= 4000.1.5 && < 4000.4,
Ben Millwood's avatar
Ben Millwood committed
262
        mtl        >= 2.0      && < 3,
263
        pretty     >= 1.1      && < 1.2,
dsf's avatar
dsf committed
264
        random     >= 1        && < 1.2,
Ben Millwood's avatar
Ben Millwood committed
265
        stm        >= 2.0      && < 3,
Duncan Coutts's avatar
Duncan Coutts committed
266
        tar        >= 0.5.0.1  && < 0.6,
267
        time       >= 1.4      && < 1.7,
Edsko de Vries's avatar
Edsko de Vries committed
268
        zlib       >= 0.5.3    && < 0.7,
269
        hackage-security >= 0.5.1 && < 0.6
270

271 272 273 274 275
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

276
    if flag(old-directory)
277
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
278
                     process   >= 1.0.1.1  && < 1.1.0.2
279
    else
280
      build-depends: directory >= 1.2 && < 1.3,
281
                     process   >= 1.1.0.2  && < 1.5
282

283 284 285
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
286
    if flag(network-uri)
287
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
288
    else
tibbe's avatar
tibbe committed
289
      build-depends: network     >= 2.4 && < 2.6
290

291 292 293 294
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

295
    if os(windows)
296
      build-depends: Win32 >= 2 && < 3
297
    else
298
      build-depends: unix >= 2.5 && < 2.8
299

300 301
    if !(arch(arm) && impl(ghc < 7.6))
      ghc-options: -threaded
302

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
303
    default-language: Haskell2010
304

barmston's avatar
barmston committed
305
-- Small, fast running tests.
306 307 308
Test-Suite unit-tests
  type: exitcode-stdio-1.0
  main-is: UnitTests.hs
309 310 311
  hs-source-dirs: tests, .
  ghc-options: -Wall -fwarn-tabs
  other-modules:
312
    UnitTests.Distribution.Client.ArbitraryInstances
313 314
    UnitTests.Distribution.Client.Targets
    UnitTests.Distribution.Client.Dependency.Modular.PSQ
Edsko de Vries's avatar
Edsko de Vries committed
315
    UnitTests.Distribution.Client.Dependency.Modular.Solver
316
    UnitTests.Distribution.Client.Dependency.Modular.DSL
Duncan Coutts's avatar
Duncan Coutts committed
317
    UnitTests.Distribution.Client.FileMonitor
318
    UnitTests.Distribution.Client.Glob
319
    UnitTests.Distribution.Client.GZipUtils
320
    UnitTests.Distribution.Client.Sandbox
321
    UnitTests.Distribution.Client.Sandbox.Timestamp
322
    UnitTests.Distribution.Client.Tar
323
    UnitTests.Distribution.Client.UserConfig
324
    UnitTests.Distribution.Client.ProjectConfig
325
    UnitTests.Options
326 327
  build-depends:
        base,
328 329 330 331 332 333 334 335
        array,
        bytestring,
        Cabal,
        containers,
        mtl,
        pretty,
        process,
        directory,
336
        filepath,
Duncan Coutts's avatar
Duncan Coutts committed
337
        hashable,
338
        stm,
Duncan Coutts's avatar
Duncan Coutts committed
339
        tar,
340 341 342
        time,
        HTTP,
        zlib,
343
        binary,
344
        random,
Edsko de Vries's avatar
Edsko de Vries committed
345
        hackage-security,
346 347 348
        tasty,
        tasty-hunit,
        tasty-quickcheck,
Edsko de Vries's avatar
Edsko de Vries committed
349
        tagged,
350
        QuickCheck >= 2.8.2
351 352 353 354

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

355 356 357 358 359
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

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

363 364 365 366 367
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

368
  if !(arch(arm) && impl(ghc < 7.6))
369
    ghc-options: -threaded
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
370
  default-language: Haskell2010
barmston's avatar
barmston committed
371

372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421
-- 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:
    UnitTests.Distribution.Client.Dependency.Modular.DSL
    UnitTests.Distribution.Client.Dependency.Modular.QuickCheck
  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

422
  if !(arch(arm) && impl(ghc < 7.6))
423 424 425
    ghc-options: -threaded
  default-language: Haskell2010

426
test-suite integration-tests
barmston's avatar
barmston committed
427 428
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
429
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
430 431
  build-depends:
    Cabal,
432
    async,
barmston's avatar
barmston committed
433 434 435 436 437
    base,
    bytestring,
    directory,
    filepath,
    process,
438
    regex-posix,
439
    tasty,
440
    tasty-hunit
barmston's avatar
barmston committed
441 442 443 444

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

447
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
448 449 450
    ghc-options: -threaded

  ghc-options: -Wall
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
451
  default-language: Haskell2010
452 453 454 455 456 457

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