aboutsummaryrefslogtreecommitdiff
path: root/cabal-plan/cabal-plan.cabal
blob: 72aaccddfed806923dc22d3a911ae0ee07b679eb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
cabal-version:       2.0
name:                cabal-plan
version:             0.4.0.0

synopsis:            Library and utiltity for processing cabal's plan.json file
description: {
This package provides a library for decoding @plan.json@ files as
well as the simple tool @cabal-plan@ for extracting and pretty printing
the information contained in the @plan.json@ file.
.
@plan.json@ files are generated by [cabal](https://hackage.haskell.org/package/cabal-install)'s [nix-style local builds](http://cabal.readthedocs.io/en/latest/nix-local-build.html) and contain detailed information about the build/install plan computed by the cabal solver.
}

bug-reports:         https://github.com/hvr/cabal-plan/issues
X-SPDX-License-Identifier: GPL-2.0-or-later
license:             GPL-2
license-files:       LICENSE.GPLv2 LICENSE.GPLv3 src-topograph/LICENSE
author:              Herbert Valerio Riedel
maintainer:          hvr@gnu.org
copyright:           2016 Herbert Valerio Riedel
category:            Development
build-type:          Simple

tested-with:
  GHC==8.4.3,
  GHC==8.2.2,
  GHC==8.0.2,
  GHC==7.10.3,
  GHC==7.8.4,
  GHC==7.6.3

extra-source-files:
  ChangeLog.md

----------------------------------------------------------------------------

flag exe
  -- this automatic flag allows the cabal solver to disable the exe:cabal-plan component (& its build-deps);
  -- IOW, emulate https://github.com/haskell/cabal/issues/4660
  description: Enable @exe:cabal-plan@ component

flag license-report
  description: Enable @license-report@ sub-command (only relevant when the @exe@ flag is active)
  manual: True
  default: False

flag _
  description: Enable underlining of primary unit-ids
  manual: True
  default: False

library
  default-language:    Haskell2010
  other-extensions:    OverloadedStrings
                       GeneralizedNewtypeDeriving
                       RecordWildCards
  exposed-modules:     Cabal.Plan

  build-depends:       base              (>= 4.6 && <4.10) || ^>= 4.10 || ^>=4.11
                     , aeson             ^>= 1.2.0 || ^>= 1.3.0 || ^>=1.4.0.0
                     , bytestring        ^>= 0.10.0
                     , containers        ^>= 0.5.0
                     , text              ^>= 1.2.2
                     , directory         ^>= 1.2.0 || ^>= 1.3.0
                     , filepath          ^>= 1.3.0 || ^>= 1.4.0
                     , base16-bytestring ^>= 0.1.1

  hs-source-dirs:      src

  ghc-options: -Wall

library topograph
  default-language:    Haskell2010
  other-extensions:    RankNTypes ScopedTypeVariables RecordWildCards
  exposed-modules:     Topograph

  build-depends:       base              (>= 4.6 && <4.10) || ^>= 4.10 || ^>= 4.11
                     , base-compat       ^>= 0.9.3 || ^>=0.10.1
                     , base-orphans      ^>= 0.6 || ^>=0.7 || ^>=0.8
                     , containers        ^>= 0.5.0
                     , vector            ^>= 0.12.0.1

  hs-source-dirs:      src-topograph

executable cabal-plan
  default-language:    Haskell2010
  other-extensions:    RecordWildCards

  hs-source-dirs: src-exe
  main-is: cabal-plan.hs
  other-modules: Paths_cabal_plan, LicenseReport
  autogen-modules: Paths_cabal_plan

  if flag(exe)
    -- dependencies w/ inherited version ranges via 'cabal-plan' library
    build-depends: cabal-plan
                 , topograph
                 , base
                 , text
                 , containers
                 , bytestring
                 , directory

    -- dependencies which require version bounds
    build-depends: mtl            ^>= 2.2.1
                 , ansi-terminal  ^>= 0.6.2 || ^>= 0.8.0.2
                 , base-compat    ^>= 0.9.3 || ^>=0.10.1
                 , optparse-applicative ^>= 0.13.0 || ^>= 0.14.0
                 , parsec         ^>= 3.1.11
                 , vector         ^>= 0.12.0.1


    if flag(license-report)
      build-depends: Cabal    ^>= 2.2.0.1
                   , tar      ^>= 0.5.1.0
                   , zlib     ^>= 0.6.2
                   , filepath ^>= 1.4.1.2

    if !impl(ghc >= 8.0)
      build-depends:
                   semigroups     ^>= 0.18.3

    if flag(_)
      cpp-options: -DUNDERLINE_SUPPORT
  else
    buildable: False

  ghc-options: -Wall

source-repository head
  type: git
  location: https://github.com/hvr/cabal-plan