cabal-install.cabal 13.8 KB
Newer Older
1
Name:               cabal-install
tibbe's avatar
tibbe committed
2
Version:            1.23.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 86 87 88 89
  tests/IntegrationTests/multiple-source/should_run/q/q.cabal
  tests/IntegrationTests/sandbox-sources/common.sh
  tests/IntegrationTests/sandbox-sources/should_fail/fail_on_nonexistent_source.err
  tests/IntegrationTests/sandbox-sources/should_fail/fail_on_nonexistent_source.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
  tests/IntegrationTests/sandbox-sources/should_run/report_success_removing_source.out
  tests/IntegrationTests/sandbox-sources/should_run/report_success_removing_source.sh
90 91 92 93 94 95 96
  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
97 98
  tests/IntegrationTests/user-config/should_run/uses_CABAL_CONFIG.out
  tests/IntegrationTests/user-config/should_run/uses_CABAL_CONFIG.sh
99
  -- END gen-extra-source-files
Duncan Coutts's avatar
Duncan Coutts committed
100 101

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

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

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

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

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 140 141 142
        Distribution.Client.Dependency.Modular.Dependency
        Distribution.Client.Dependency.Modular.Explore
        Distribution.Client.Dependency.Modular.Flag
        Distribution.Client.Dependency.Modular.Index
143
        Distribution.Client.Dependency.Modular.IndexConversion
144
        Distribution.Client.Dependency.Modular.Linking
145 146 147 148 149 150 151 152 153
        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
barmston's avatar
barmston committed
154
        Distribution.Client.Exec
155
        Distribution.Client.Fetch
Duncan Coutts's avatar
Duncan Coutts committed
156
        Distribution.Client.FetchUtils
157
        Distribution.Client.FileMonitor
158
        Distribution.Client.Freeze
159
        Distribution.Client.Get
160
        Distribution.Client.Glob
161
        Distribution.Client.GlobalFlags
162
        Distribution.Client.GZipUtils
163
        Distribution.Client.Haddock
164 165
        Distribution.Client.HttpUtils
        Distribution.Client.IndexUtils
166 167 168 169
        Distribution.Client.Init
        Distribution.Client.Init.Heuristics
        Distribution.Client.Init.Licenses
        Distribution.Client.Init.Types
170 171
        Distribution.Client.Install
        Distribution.Client.InstallPlan
172
        Distribution.Client.InstallSymlink
173
        Distribution.Client.JobControl
174
        Distribution.Client.List
Maciek Makowski's avatar
Maciek Makowski committed
175
        Distribution.Client.Manpage
176
        Distribution.Client.PackageIndex
177
        Distribution.Client.PackageUtils
178
        Distribution.Client.ParseUtils
179
        Distribution.Client.PlanIndex
refold's avatar
refold committed
180
        Distribution.Client.Run
181
        Distribution.Client.RebuildMonad
182
        Distribution.Client.Sandbox
183 184
        Distribution.Client.Sandbox.Index
        Distribution.Client.Sandbox.PackageEnvironment
185
        Distribution.Client.Sandbox.Timestamp
186
        Distribution.Client.Sandbox.Types
Edsko de Vries's avatar
Edsko de Vries committed
187
        Distribution.Client.Security.HTTP
188 189 190 191
        Distribution.Client.Setup
        Distribution.Client.SetupWrapper
        Distribution.Client.SrcDist
        Distribution.Client.Tar
192
        Distribution.Client.Targets
193 194 195 196
        Distribution.Client.Types
        Distribution.Client.Update
        Distribution.Client.Upload
        Distribution.Client.Utils
197
        Distribution.Client.Utils.LabeledGraph
198
        Distribution.Client.World
199
        Distribution.Client.Win32SelfUpgrade
200
        Distribution.Client.Compat.ExecutablePath
201
        Distribution.Client.Compat.FilePerms
202
        Distribution.Client.Compat.Process
203 204
        Distribution.Client.Compat.Semaphore
        Distribution.Client.Compat.Time
205
        Paths_cabal_install
206

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

228
    if flag(old-directory)
229
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
230
                     process   >= 1.0.1.1  && < 1.1.0.2
231
    else
232
      build-depends: directory >= 1.2 && < 1.3,
233
                     process   >= 1.1.0.2  && < 1.5
234

235 236 237
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
238
    if flag(network-uri)
239
      build-depends: network-uri >= 2.6, network >= 2.6
240
    else
tibbe's avatar
tibbe committed
241
      build-depends: network     >= 2.4 && < 2.6
242

243 244 245 246
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

247
    if os(windows)
248
      build-depends: Win32 >= 2 && < 3
249
    else
250
      build-depends: unix >= 2.5 && < 2.8
251

252
    if arch(arm) && impl(ghc < 7.6)
Ian D. Bollinger's avatar
Ian D. Bollinger committed
253
       -- older ghc on arm does not support -threaded
254 255
       cc-options:  -DCABAL_NO_THREADED
    else
256
       ghc-options: -threaded
257 258

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

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

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

306 307 308 309 310
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

311 312 313
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

314 315 316 317 318 319 320 321 322
  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
323
  default-language: Haskell2010
barmston's avatar
barmston committed
324

325
test-suite integration-tests
barmston's avatar
barmston committed
326 327
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
328
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
329 330
  build-depends:
    Cabal,
331
    async,
barmston's avatar
barmston committed
332 333 334 335 336
    base,
    bytestring,
    directory,
    filepath,
    process,
337
    regex-posix,
338
    tasty,
339
    tasty-hunit
barmston's avatar
barmston committed
340 341 342 343

  if os(windows)
    build-depends: Win32 >= 2 && < 3
  else
344
    build-depends: unix >= 2.5 && < 2.8
barmston's avatar
barmston committed
345 346 347 348 349 350 351

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

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