cabal-install.cabal 16.8 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
151
        Distribution.Client.Config
Duncan Coutts's avatar
Duncan Coutts committed
152
        Distribution.Client.Configure
153
154
155
156
157
        Distribution.Client.Dependency
        Distribution.Client.Dependency.TopDown
        Distribution.Client.Dependency.TopDown.Constraints
        Distribution.Client.Dependency.TopDown.Types
        Distribution.Client.Dependency.Types
Duncan Coutts's avatar
Duncan Coutts committed
158
        Distribution.Client.DistDirLayout
barmston's avatar
barmston committed
159
        Distribution.Client.Exec
160
        Distribution.Client.Fetch
Duncan Coutts's avatar
Duncan Coutts committed
161
        Distribution.Client.FetchUtils
162
        Distribution.Client.FileMonitor
163
        Distribution.Client.Freeze
164
        Distribution.Client.GenBounds
165
        Distribution.Client.Get
166
        Distribution.Client.Glob
167
        Distribution.Client.GlobalFlags
168
        Distribution.Client.GZipUtils
169
        Distribution.Client.Haddock
170
171
        Distribution.Client.HttpUtils
        Distribution.Client.IndexUtils
172
173
174
175
        Distribution.Client.Init
        Distribution.Client.Init.Heuristics
        Distribution.Client.Init.Licenses
        Distribution.Client.Init.Types
176
177
        Distribution.Client.Install
        Distribution.Client.InstallPlan
178
        Distribution.Client.InstallSymlink
179
        Distribution.Client.JobControl
180
        Distribution.Client.List
Maciek Makowski's avatar
Maciek Makowski committed
181
        Distribution.Client.Manpage
Duncan Coutts's avatar
Duncan Coutts committed
182
        Distribution.Client.PackageHash
183
        Distribution.Client.PackageUtils
184
        Distribution.Client.ParseUtils
185
        Distribution.Client.PlanIndex
Duncan Coutts's avatar
Duncan Coutts committed
186
        Distribution.Client.ProjectBuilding
187
188
189
        Distribution.Client.ProjectConfig
        Distribution.Client.ProjectConfig.Types
        Distribution.Client.ProjectConfig.Legacy
190
        Distribution.Client.ProjectOrchestration
Duncan Coutts's avatar
Duncan Coutts committed
191
        Distribution.Client.ProjectPlanning
192
        Distribution.Client.ProjectPlanning.Types
193
        Distribution.Client.ProjectPlanOutput
refold's avatar
refold committed
194
        Distribution.Client.Run
195
        Distribution.Client.RebuildMonad
196
        Distribution.Client.Sandbox
197
198
        Distribution.Client.Sandbox.Index
        Distribution.Client.Sandbox.PackageEnvironment
199
        Distribution.Client.Sandbox.Timestamp
200
        Distribution.Client.Sandbox.Types
Edsko de Vries's avatar
Edsko de Vries committed
201
        Distribution.Client.Security.HTTP
202
203
204
205
        Distribution.Client.Setup
        Distribution.Client.SetupWrapper
        Distribution.Client.SrcDist
        Distribution.Client.Tar
206
        Distribution.Client.Targets
207
208
209
210
        Distribution.Client.Types
        Distribution.Client.Update
        Distribution.Client.Upload
        Distribution.Client.Utils
211
        Distribution.Client.Utils.Json
212
        Distribution.Client.World
213
        Distribution.Client.Win32SelfUpgrade
214
        Distribution.Client.Compat.ExecutablePath
215
        Distribution.Client.Compat.FilePerms
216
        Distribution.Client.Compat.Process
217
        Distribution.Client.Compat.Semaphore
218
        Distribution.Solver.Types.ComponentDeps
219
        Distribution.Solver.Types.ConstraintSource
220
221
222
223
224
225
        Distribution.Solver.Types.Internal.Utils
        Distribution.Solver.Types.OptionalStanza
        Distribution.Solver.Types.PackageFixedDeps
        Distribution.Solver.Types.PackageIndex
        Distribution.Solver.Types.PkgConfigDb
        Distribution.Solver.Types.Progress
226
        Distribution.Solver.Types.ResolverPackage
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
        Distribution.Solver.Types.Settings
        Distribution.Solver.Types.SolverId
        Distribution.Solver.Types.SolverPackage
        Distribution.Solver.Types.SourcePackage
        Distribution.Solver.Modular
        Distribution.Solver.Modular.Assignment
        Distribution.Solver.Modular.Builder
        Distribution.Solver.Modular.Configured
        Distribution.Solver.Modular.ConfiguredConversion
        Distribution.Solver.Modular.ConflictSet
        Distribution.Solver.Modular.Cycles
        Distribution.Solver.Modular.Dependency
        Distribution.Solver.Modular.Explore
        Distribution.Solver.Modular.Flag
        Distribution.Solver.Modular.Index
        Distribution.Solver.Modular.IndexConversion
        Distribution.Solver.Modular.Linking
        Distribution.Solver.Modular.LabeledGraph
        Distribution.Solver.Modular.Log
        Distribution.Solver.Modular.Message
        Distribution.Solver.Modular.Package
        Distribution.Solver.Modular.Preference
        Distribution.Solver.Modular.PSQ
        Distribution.Solver.Modular.Solver
        Distribution.Solver.Modular.Tree
        Distribution.Solver.Modular.Validate
        Distribution.Solver.Modular.Var
        Distribution.Solver.Modular.Version
255
        Paths_cabal_install
256

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

281
282
283
284
285
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

286
    if flag(old-directory)
287
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
288
                     process   >= 1.0.1.1  && < 1.1.0.2
289
    else
290
      build-depends: directory >= 1.2 && < 1.3,
291
                     process   >= 1.1.0.2  && < 1.5
292

293
294
295
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
296
    if flag(network-uri)
297
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
298
    else
tibbe's avatar
tibbe committed
299
      build-depends: network     >= 2.4 && < 2.6
300

301
302
303
304
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

305
    if os(windows)
306
      build-depends: Win32 >= 2 && < 3
307
    else
308
      build-depends: unix >= 2.5 && < 2.8
309

310
311
    if !(arch(arm) && impl(ghc < 7.6))
      ghc-options: -threaded
312

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
313
    default-language: Haskell2010
314

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

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

365
366
367
368
369
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

370
371
372
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

373
374
375
376
377
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

378
  if !(arch(arm) && impl(ghc < 7.6))
379
    ghc-options: -threaded
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
380
  default-language: Haskell2010
barmston's avatar
barmston committed
381

382
383
384
385
386
387
388
-- 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:
389
390
    UnitTests.Distribution.Solver.Modular.DSL
    UnitTests.Distribution.Solver.Modular.QuickCheck
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
422
423
424
425
426
427
428
429
430
431
  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

432
  if !(arch(arm) && impl(ghc < 7.6))
433
434
435
    ghc-options: -threaded
  default-language: Haskell2010

436
test-suite integration-tests
barmston's avatar
barmston committed
437
438
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
439
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
440
441
  build-depends:
    Cabal,
442
    async,
barmston's avatar
barmston committed
443
444
445
446
447
    base,
    bytestring,
    directory,
    filepath,
    process,
448
    regex-posix,
449
    tasty,
450
    tasty-hunit
barmston's avatar
barmston committed
451
452
453
454

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

457
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
458
459
460
    ghc-options: -threaded

  ghc-options: -Wall
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
461
  default-language: Haskell2010
462
463
464
465
466
467

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