cabal-install.cabal 14.1 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
  tests/IntegrationTests/custom/common.sh
  tests/IntegrationTests/custom/should_run/plain.err
  tests/IntegrationTests/custom/should_run/plain.sh
  tests/IntegrationTests/custom/should_run/plain/A.hs
  tests/IntegrationTests/custom/should_run/plain/Setup.hs
  tests/IntegrationTests/custom/should_run/plain/plain.cabal
39
  tests/IntegrationTests/exec/common.sh
40 41
  tests/IntegrationTests/exec/should_fail/exit_with_failure_without_args.err
  tests/IntegrationTests/exec/should_fail/exit_with_failure_without_args.sh
42 43 44
  tests/IntegrationTests/exec/should_run/Foo.hs
  tests/IntegrationTests/exec/should_run/My.hs
  tests/IntegrationTests/exec/should_run/adds_sandbox_bin_directory_to_path.out
45
  tests/IntegrationTests/exec/should_run/adds_sandbox_bin_directory_to_path.sh
46
  tests/IntegrationTests/exec/should_run/auto_configures_on_exec.out
47
  tests/IntegrationTests/exec/should_run/auto_configures_on_exec.sh
48
  tests/IntegrationTests/exec/should_run/can_run_executables_installed_in_sandbox.out
49 50 51 52
  tests/IntegrationTests/exec/should_run/can_run_executables_installed_in_sandbox.sh
  tests/IntegrationTests/exec/should_run/configures_cabal_to_use_sandbox.sh
  tests/IntegrationTests/exec/should_run/configures_ghc_to_use_sandbox.sh
  tests/IntegrationTests/exec/should_run/my.cabal
53
  tests/IntegrationTests/exec/should_run/runs_given_command.out
54 55 56 57 58 59 60 61 62 63 64 65 66
  tests/IntegrationTests/exec/should_run/runs_given_command.sh
  tests/IntegrationTests/freeze/common.sh
  tests/IntegrationTests/freeze/should_run/disable_benchmarks_freezes_bench_deps.sh
  tests/IntegrationTests/freeze/should_run/disable_tests_freezes_test_deps.sh
  tests/IntegrationTests/freeze/should_run/does_not_freeze_nondeps.sh
  tests/IntegrationTests/freeze/should_run/does_not_freeze_self.sh
  tests/IntegrationTests/freeze/should_run/dry_run_does_not_create_config.sh
  tests/IntegrationTests/freeze/should_run/enable_benchmarks_freezes_bench_deps.sh
  tests/IntegrationTests/freeze/should_run/enable_tests_freezes_test_deps.sh
  tests/IntegrationTests/freeze/should_run/freezes_direct_dependencies.sh
  tests/IntegrationTests/freeze/should_run/freezes_transitive_dependencies.sh
  tests/IntegrationTests/freeze/should_run/my.cabal
  tests/IntegrationTests/freeze/should_run/runs_without_error.sh
Maciek Makowski's avatar
Maciek Makowski committed
67 68
  tests/IntegrationTests/manpage/common.sh
  tests/IntegrationTests/manpage/should_run/outputs_manpage.sh
69 70
  tests/IntegrationTests/multiple-source/common.sh
  tests/IntegrationTests/multiple-source/should_run/finds_second_source_of_multiple_source.sh
Maciek Makowski's avatar
Maciek Makowski committed
71
  tests/IntegrationTests/multiple-source/should_run/p/Setup.hs
72
  tests/IntegrationTests/multiple-source/should_run/p/p.cabal
Maciek Makowski's avatar
Maciek Makowski committed
73
  tests/IntegrationTests/multiple-source/should_run/q/Setup.hs
74 75 76 77 78 79 80 81 82 83 84 85
  tests/IntegrationTests/multiple-source/should_run/q/q.cabal
  tests/IntegrationTests/sandbox-sources/common.sh
  tests/IntegrationTests/sandbox-sources/should_fail/fail_removing_source_thats_not_registered.err
  tests/IntegrationTests/sandbox-sources/should_fail/fail_removing_source_thats_not_registered.sh
  tests/IntegrationTests/sandbox-sources/should_fail/p/Setup.hs
  tests/IntegrationTests/sandbox-sources/should_fail/p/p.cabal
  tests/IntegrationTests/sandbox-sources/should_fail/q/Setup.hs
  tests/IntegrationTests/sandbox-sources/should_fail/q/q.cabal
  tests/IntegrationTests/sandbox-sources/should_run/p/Setup.hs
  tests/IntegrationTests/sandbox-sources/should_run/p/p.cabal
  tests/IntegrationTests/sandbox-sources/should_run/q/Setup.hs
  tests/IntegrationTests/sandbox-sources/should_run/q/q.cabal
86
  tests/IntegrationTests/sandbox-sources/should_run/remove_nonexistent_source.sh
87 88
  tests/IntegrationTests/sandbox-sources/should_run/report_success_removing_source.out
  tests/IntegrationTests/sandbox-sources/should_run/report_success_removing_source.sh
89 90 91 92 93 94 95
  tests/IntegrationTests/user-config/common.sh
  tests/IntegrationTests/user-config/should_fail/doesnt_overwrite_without_f.err
  tests/IntegrationTests/user-config/should_fail/doesnt_overwrite_without_f.sh
  tests/IntegrationTests/user-config/should_run/overwrites_with_f.out
  tests/IntegrationTests/user-config/should_run/overwrites_with_f.sh
  tests/IntegrationTests/user-config/should_run/runs_without_error.out
  tests/IntegrationTests/user-config/should_run/runs_without_error.sh
96 97
  tests/IntegrationTests/user-config/should_run/uses_CABAL_CONFIG.out
  tests/IntegrationTests/user-config/should_run/uses_CABAL_CONFIG.sh
98
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
99 100

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

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

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

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

121
    other-modules:
Duncan Coutts's avatar
Duncan Coutts committed
122 123
        Distribution.Client.BuildReports.Anonymous
        Distribution.Client.BuildReports.Storage
Duncan Coutts's avatar
Duncan Coutts committed
124
        Distribution.Client.BuildReports.Types
Duncan Coutts's avatar
Duncan Coutts committed
125
        Distribution.Client.BuildReports.Upload
126
        Distribution.Client.Check
Edsko de Vries's avatar
Edsko de Vries committed
127
        Distribution.Client.ComponentDeps
128
        Distribution.Client.Config
Duncan Coutts's avatar
Duncan Coutts committed
129
        Distribution.Client.Configure
130 131 132 133 134
        Distribution.Client.Dependency
        Distribution.Client.Dependency.TopDown
        Distribution.Client.Dependency.TopDown.Constraints
        Distribution.Client.Dependency.TopDown.Types
        Distribution.Client.Dependency.Types
135
        Distribution.Client.Dependency.Modular
136 137 138
        Distribution.Client.Dependency.Modular.Assignment
        Distribution.Client.Dependency.Modular.Builder
        Distribution.Client.Dependency.Modular.Configured
Andres Löh's avatar
Andres Löh committed
139
        Distribution.Client.Dependency.Modular.ConfiguredConversion
140
        Distribution.Client.Dependency.Modular.Cycles
141 142 143 144
        Distribution.Client.Dependency.Modular.Dependency
        Distribution.Client.Dependency.Modular.Explore
        Distribution.Client.Dependency.Modular.Flag
        Distribution.Client.Dependency.Modular.Index
145
        Distribution.Client.Dependency.Modular.IndexConversion
146
        Distribution.Client.Dependency.Modular.Linking
147 148 149 150 151 152 153 154 155
        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
156
        Distribution.Client.DistDirLayout
barmston's avatar
barmston committed
157
        Distribution.Client.Exec
158
        Distribution.Client.Fetch
Duncan Coutts's avatar
Duncan Coutts committed
159
        Distribution.Client.FetchUtils
160
        Distribution.Client.FileMonitor
161
        Distribution.Client.Freeze
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
179
        Distribution.Client.PackageIndex
180
        Distribution.Client.PackageUtils
181
        Distribution.Client.ParseUtils
182
        Distribution.Client.PkgConfigDb
183
        Distribution.Client.PlanIndex
184 185 186
        Distribution.Client.ProjectConfig
        Distribution.Client.ProjectConfig.Types
        Distribution.Client.ProjectConfig.Legacy
refold's avatar
refold committed
187
        Distribution.Client.Run
188
        Distribution.Client.RebuildMonad
189
        Distribution.Client.Sandbox
190 191
        Distribution.Client.Sandbox.Index
        Distribution.Client.Sandbox.PackageEnvironment
192
        Distribution.Client.Sandbox.Timestamp
193
        Distribution.Client.Sandbox.Types
Edsko de Vries's avatar
Edsko de Vries committed
194
        Distribution.Client.Security.HTTP
195 196 197 198
        Distribution.Client.Setup
        Distribution.Client.SetupWrapper
        Distribution.Client.SrcDist
        Distribution.Client.Tar
199
        Distribution.Client.Targets
200 201 202 203
        Distribution.Client.Types
        Distribution.Client.Update
        Distribution.Client.Upload
        Distribution.Client.Utils
204
        Distribution.Client.Utils.LabeledGraph
205
        Distribution.Client.World
206
        Distribution.Client.Win32SelfUpgrade
207
        Distribution.Client.Compat.ExecutablePath
208
        Distribution.Client.Compat.FilePerms
209
        Distribution.Client.Compat.Process
210 211
        Distribution.Client.Compat.Semaphore
        Distribution.Client.Compat.Time
212
        Paths_cabal_install
213

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

235
    if flag(old-directory)
236
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
237
                     process   >= 1.0.1.1  && < 1.1.0.2
238
    else
239
      build-depends: directory >= 1.2 && < 1.3,
240
                     process   >= 1.1.0.2  && < 1.5
241

242 243 244
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
245
    if flag(network-uri)
246
      build-depends: network-uri >= 2.6, network >= 2.6
247
    else
tibbe's avatar
tibbe committed
248
      build-depends: network     >= 2.4 && < 2.6
249

250 251 252 253
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

254
    if os(windows)
255
      build-depends: Win32 >= 2 && < 3
256
    else
257
      build-depends: unix >= 2.5 && < 2.8
258

259
    if arch(arm) && impl(ghc < 7.6)
Ian D. Bollinger's avatar
Ian D. Bollinger committed
260
       -- older ghc on arm does not support -threaded
261 262
       cc-options:  -DCABAL_NO_THREADED
    else
263
       ghc-options: -threaded
264 265

    c-sources: cbits/getnumcores.c
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
266
    default-language: Haskell2010
267

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

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

316 317 318 319 320
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

321 322 323
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

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

  if arch(arm)
    cc-options:  -DCABAL_NO_THREADED
  else
    ghc-options: -threaded
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
333
  default-language: Haskell2010
barmston's avatar
barmston committed
334

335
test-suite integration-tests
barmston's avatar
barmston committed
336 337
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
338
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
339 340
  build-depends:
    Cabal,
341
    async,
barmston's avatar
barmston committed
342 343 344 345 346
    base,
    bytestring,
    directory,
    filepath,
    process,
347
    regex-posix,
348
    tasty,
349
    tasty-hunit
barmston's avatar
barmston committed
350 351 352 353

  if os(windows)
    build-depends: Win32 >= 2 && < 3
  else
354
    build-depends: unix >= 2.5 && < 2.8
barmston's avatar
barmston committed
355 356 357 358 359 360 361

  if arch(arm)
    cc-options:  -DCABAL_NO_THREADED
  else
    ghc-options: -threaded

  ghc-options: -Wall
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
362
  default-language: Haskell2010