cabal-install.cabal 15 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 79 80 81 82 83 84 85 86 87
  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
  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
88
  tests/IntegrationTests/user-config/common.sh
89 90 91 92 93 94 95 96
  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
97
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
98 99

source-repository head
100 101
  type:     git
  location: https://github.com/haskell/cabal/
Duncan Coutts's avatar
Duncan Coutts committed
102
  subdir:   cabal-install
103

104 105 106 107
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

108 109 110 111
Flag network-uri
  description:  Get Network.URI from the network-uri package
  default:      True

112 113 114
executable cabal
    main-is:        Main.hs
    ghc-options:    -Wall -fwarn-tabs
115
    if impl(ghc >= 8.0)
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
116 117 118
        ghc-options: -Wcompat
                     -Wnoncanonical-monad-instances
                     -Wnoncanonical-monadfail-instances
119

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

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
217 218
    -- NOTE: when updating build-depends, don't forget to update version regexps
    -- in bootstrap.sh.
Ben Millwood's avatar
Ben Millwood committed
219
    build-depends:
Duncan Coutts's avatar
Duncan Coutts committed
220
        async      >= 2.0      && < 3,
221 222
        array      >= 0.4      && < 0.6,
        base       >= 4.5      && < 5,
223
        binary     >= 0.5      && < 0.9,
Duncan Coutts's avatar
Duncan Coutts committed
224
        byteable   >= 0.1      && < 0.2,
Ben Millwood's avatar
Ben Millwood committed
225
        bytestring >= 0.9      && < 1,
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
226
        Cabal      >= 1.25     && < 1.26,
227
        containers >= 0.4      && < 0.6,
Duncan Coutts's avatar
Duncan Coutts committed
228
        cryptohash >= 0.11     && < 0.12,
229
        filepath   >= 1.3      && < 1.5,
230
        hashable   >= 1.0      && < 2,
231
        HTTP       >= 4000.1.5 && < 4000.4,
Ben Millwood's avatar
Ben Millwood committed
232
        mtl        >= 2.0      && < 3,
233
        pretty     >= 1.1      && < 1.2,
dsf's avatar
dsf committed
234
        random     >= 1        && < 1.2,
Ben Millwood's avatar
Ben Millwood committed
235
        stm        >= 2.0      && < 3,
Duncan Coutts's avatar
Duncan Coutts committed
236
        tar        >= 0.5.0.1  && < 0.6,
237
        time       >= 1.4      && < 1.7,
Edsko de Vries's avatar
Edsko de Vries committed
238 239
        zlib       >= 0.5.3    && < 0.7,
        hackage-security >= 0.5 && < 0.6
240

241
    if flag(old-directory)
242
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
243
                     process   >= 1.0.1.1  && < 1.1.0.2
244
    else
245
      build-depends: directory >= 1.2 && < 1.3,
246
                     process   >= 1.1.0.2  && < 1.5
247

248 249 250
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
251
    if flag(network-uri)
252
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
253
    else
tibbe's avatar
tibbe committed
254
      build-depends: network     >= 2.4 && < 2.6
255

256 257 258 259
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

260
    if os(windows)
261
      build-depends: Win32 >= 2 && < 3
262
    else
263
      build-depends: unix >= 2.5 && < 2.8
264

265 266
    if !(arch(arm) && impl(ghc < 7.6))
      ghc-options: -threaded
267

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
268
    default-language: Haskell2010
269

barmston's avatar
barmston committed
270
-- Small, fast running tests.
271 272 273
Test-Suite unit-tests
  type: exitcode-stdio-1.0
  main-is: UnitTests.hs
274 275 276
  hs-source-dirs: tests, .
  ghc-options: -Wall -fwarn-tabs
  other-modules:
277
    UnitTests.Distribution.Client.ArbitraryInstances
278 279
    UnitTests.Distribution.Client.Targets
    UnitTests.Distribution.Client.Dependency.Modular.PSQ
Edsko de Vries's avatar
Edsko de Vries committed
280
    UnitTests.Distribution.Client.Dependency.Modular.Solver
281
    UnitTests.Distribution.Client.Dependency.Modular.DSL
Duncan Coutts's avatar
Duncan Coutts committed
282
    UnitTests.Distribution.Client.FileMonitor
283
    UnitTests.Distribution.Client.Glob
284
    UnitTests.Distribution.Client.GZipUtils
285
    UnitTests.Distribution.Client.Sandbox
286
    UnitTests.Distribution.Client.Sandbox.Timestamp
287
    UnitTests.Distribution.Client.Tar
288
    UnitTests.Distribution.Client.UserConfig
289
    UnitTests.Distribution.Client.ProjectConfig
290
    UnitTests.Options
291 292
  build-depends:
        base,
293 294 295 296 297 298 299 300
        array,
        bytestring,
        Cabal,
        containers,
        mtl,
        pretty,
        process,
        directory,
301
        filepath,
Duncan Coutts's avatar
Duncan Coutts committed
302
        hashable,
303
        stm,
Duncan Coutts's avatar
Duncan Coutts committed
304
        tar,
305 306 307
        time,
        HTTP,
        zlib,
308
        binary,
309
        random,
Edsko de Vries's avatar
Edsko de Vries committed
310
        hackage-security,
311 312 313
        tasty,
        tasty-hunit,
        tasty-quickcheck,
Edsko de Vries's avatar
Edsko de Vries committed
314
        tagged,
315
        QuickCheck >= 2.8.2
316 317 318 319

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

320 321 322 323 324
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

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

328 329 330 331 332
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

333
  if !(arch(arm) && impl(ghc < 7.6))
334
    ghc-options: -threaded
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
335
  default-language: Haskell2010
barmston's avatar
barmston committed
336

337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 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
-- 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

387
  if !(arch(arm) && impl(ghc < 7.6))
388 389 390
    ghc-options: -threaded
  default-language: Haskell2010

391
test-suite integration-tests
barmston's avatar
barmston committed
392 393
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
394
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
395 396
  build-depends:
    Cabal,
397
    async,
barmston's avatar
barmston committed
398 399 400 401 402
    base,
    bytestring,
    directory,
    filepath,
    process,
403
    regex-posix,
404
    tasty,
405
    tasty-hunit
barmston's avatar
barmston committed
406 407 408 409

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

412
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
413 414 415
    ghc-options: -threaded

  ghc-options: -Wall
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
416
  default-language: Haskell2010
417 418 419 420 421 422

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