cabal-install.cabal 15.3 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-bytestring
  description:  Use bytestring < 0.10.2 and bytestring-builder
  default: False

108
109
110
111
Flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

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

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

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

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

247
248
249
250
251
    if flag(old-bytestring)
      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
    else
      build-depends: bytestring >= 0.10.2

252
    if flag(old-directory)
253
      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
254
                     process   >= 1.0.1.1  && < 1.1.0.2
255
    else
256
      build-depends: directory >= 1.2 && < 1.3,
257
                     process   >= 1.1.0.2  && < 1.5
258

259
260
261
    -- NOTE: you MUST include the network dependency even when network-uri
    -- is pulled in, otherwise the constraint solver doesn't have enough
    -- information
262
    if flag(network-uri)
263
      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
264
    else
tibbe's avatar
tibbe committed
265
      build-depends: network     >= 2.4 && < 2.6
266

267
268
269
270
    -- Needed for GHC.Generics before GHC 7.6
    if impl(ghc < 7.6)
      build-depends: ghc-prim >= 0.2 && < 0.3

271
    if os(windows)
272
      build-depends: Win32 >= 2 && < 3
273
    else
274
      build-depends: unix >= 2.5 && < 2.8
275

276
277
    if !(arch(arm) && impl(ghc < 7.6))
      ghc-options: -threaded
278

Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
279
    default-language: Haskell2010
280

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

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

331
332
333
334
335
  if flag(network-uri)
    build-depends: network-uri >= 2.6, network >= 2.6
  else
    build-depends: network-uri < 2.6, network < 2.6

336
337
338
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

339
340
341
342
343
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

344
  if !(arch(arm) && impl(ghc < 7.6))
345
    ghc-options: -threaded
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
346
  default-language: Haskell2010
barmston's avatar
barmston committed
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
387
388
389
390
391
392
393
394
395
396
397
-- 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

398
  if !(arch(arm) && impl(ghc < 7.6))
399
400
401
    ghc-options: -threaded
  default-language: Haskell2010

402
test-suite integration-tests
barmston's avatar
barmston committed
403
404
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
405
  main-is: IntegrationTests.hs
barmston's avatar
barmston committed
406
407
  build-depends:
    Cabal,
408
    async,
barmston's avatar
barmston committed
409
410
411
412
413
    base,
    bytestring,
    directory,
    filepath,
    process,
414
    regex-posix,
415
    tasty,
416
    tasty-hunit
barmston's avatar
barmston committed
417
418
419
420

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

423
  if !(arch(arm) && impl(ghc < 7.6))
barmston's avatar
barmston committed
424
425
426
    ghc-options: -threaded

  ghc-options: -Wall
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
427
  default-language: Haskell2010
428
429
430
431
432
433

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