cabal-install.cabal 16 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
87 88 89 90 91 92 93 94 95
  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
96
  tests/IntegrationTests/user-config/common.sh
97 98 99 100 101 102 103 104
  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
105
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
106 107

source-repository head
108 109
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
110
  subdir:   cabal-install
111

112 113 114 115
Flag old-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

116 117 118 119
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

120 121 122 123
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

124 125 126
executable cabal
    main-is:        Main.hs
    ghc-options:    -Wall -fwarn-tabs
127
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
128 129 130
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
131

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

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
236 237
    -- NOTE: when updating build-depends, don't forget to update version regexps
    -- in bootstrap.sh.
Ben Millwood's avatar
Ben Millwood committed
238
    build-depends:
Duncan Coutts's avatar
Duncan Coutts committed
239
        async      >= 2.0      && < 3,
240 241
        array      >= 0.4      && < 0.6,
        base       >= 4.5      && < 5,
242
        binary     >= 0.5      && < 0.9,
Duncan Coutts's avatar
Duncan Coutts committed
243
        byteable   >= 0.1      && < 0.2,
Ben Millwood's avatar
Ben Millwood committed
244
        bytestring >= 0.9      && < 1,
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
245
        Cabal      >= 1.25     && < 1.26,
246
        containers >= 0.4      && < 0.6,
Duncan Coutts's avatar
Duncan Coutts committed
247
        cryptohash >= 0.11     && < 0.12,
248
        filepath   >= 1.3      && < 1.5,
249
        hashable   >= 1.0      && < 2,
250
        HTTP       >= 4000.1.5 && < 4000.4,
Ben Millwood's avatar
Ben Millwood committed
251
        mtl        >= 2.0      && < 3,
252
        pretty     >= 1.1      && < 1.2,
dsf's avatar
dsf committed
253
        random     >= 1        && < 1.2,
Ben Millwood's avatar
Ben Millwood committed
254
        stm        >= 2.0      && < 3,
Duncan Coutts's avatar
Duncan Coutts committed
255
        tar        >= 0.5.0.1  && < 0.6,
256
        time       >= 1.4      && < 1.7,
Edsko de Vries's avatar
Edsko de Vries committed
257 258
        zlib       >= 0.5.3    && < 0.7,
        hackage-security >= 0.5 && < 0.6
259

260 261 262 263 264
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

265
    if flag(old-directory)
266
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
267
                     process   >= 1.0.1.1  && < 1.1.0.2
268
    else
269
      build-depends: directory >= 1.2 && < 1.3,
270
                     process   >= 1.1.0.2  && < 1.5
271

272 273 274
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
275
    if flag(network-uri)
276
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
277
    else
tibbe's avatar
tibbe committed
278
      build-depends: network     >= 2.4 && < 2.6
279

280 281 282 283
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

284
    if os(windows)
285
      build-depends: Win32 >= 2 && < 3
286
    else
287
      build-depends: unix >= 2.5 && < 2.8
288

289 290
    if !(arch(arm) && impl(ghc < 7.6))
      ghc-options: -threaded
291

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
292
    default-language: Haskell2010
293

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

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

344 345 346 347 348
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

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

352 353 354 355 356
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

357
  if !(arch(arm) && impl(ghc < 7.6))
358
    ghc-options: -threaded
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
359
  default-language: Haskell2010
barmston's avatar
barmston committed
360

361 362 363 364 365 366 367 368 369 370 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
-- 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

411
  if !(arch(arm) && impl(ghc < 7.6))
412 413 414
    ghc-options: -threaded
  default-language: Haskell2010

415
test-suite integration-tests
barmston's avatar
barmston committed
416 417
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
418
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
419 420
  build-depends:
    Cabal,
421
    async,
barmston's avatar
barmston committed
422 423 424 425 426
    base,
    bytestring,
    directory,
    filepath,
    process,
427
    regex-posix,
428
    tasty,
429
    tasty-hunit
barmston's avatar
barmston committed
430 431 432 433

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

436
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
437 438 439
    ghc-options: -threaded

  ghc-options: -Wall
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
440
  default-language: Haskell2010
441 442 443 444 445 446

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