summaryrefslogtreecommitdiff
path: root/kiki.cabal
blob: 5bf6c345f5ba6e2b6175e5b9f135aa72f5e8873a (plain)
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162

Name:                kiki
Version:             0.0.3
cabal-version:       >= 1.8
Synopsis:            A bridge between (cryptographic) keys
Description:         gpg operations... TODO
License:             Undecided
-- License-file:        LICENSE TODO
Author:              Joseph Crayne
Maintainer:          Joseph Crayne <oh.hello.joe@gmail.com>
--Homepage:          TODO
build-type:          Simple

Flag cryptonite
  Description: Use newer cryptonite-based x509 version 1.6 and higher
  Default: True

Flag hourglass
  Description: Use newer hourglass-based x509 version 1.5 and higher
  Default: True

Flag needlocale
  Description: Link against old-locale package for older versions of the time package.
  Default: False

Flag unixEnv
  Default: False

Executable kiki
    Ghc-Options: -W -Wall -Wno-name-shadowing -Wno-unused-matches -Wno-unused-do-bind -Wno-type-defaults
    Main-is: kiki.hs
    -- base >=4.6 due to use of readEither in KikiD.Message
    Build-Depends:   base >=4.6.0.0,
                     asn1-encoding,
                     asn1-types,
                     binary,
                     bytestring,
                     containers,
                     directory,
                     filepath,
                     tar,
                     text,
                     time,
                     unix,
                     openpgp-util,
                     network,
                     pretty-show,
                     kiki
    other-modules: DNSKey
    if !flag(cryptonite)
      Build-Depends:   crypto-pubkey >=0.2.3, cryptohash -any,
                       crypto-pubkey-types -any, dataenc
      if flag(hourglass)
        Build-Depends:   hourglass -any, x509 >=1.5 && <1.6
      else
        Build-Depends:   x509 <1.6
    else
      Build-Depends:   cryptonite, x509 >=1.6, memory, hourglass

Executable hosts
    Main-is: hosts.hs
    Build-Depends:   base >=4.6.0.0,
                     bytestring,
                     network,
                     kiki

Executable cokiki
    Main-is: cokiki.hs
    Build-Depends:   base >=4.6.0.0,
                     bytestring,
                     filepath,
                     unix,
                     directory,
                     deepseq,
                     openpgp-util,
                     kiki

library
    Ghc-Options: -Wmissing-signatures
    hs-source-dirs:  lib
    exposed-modules: KeyRing,
                     KeyRing.Types,
                     KeyRing.BuildKeyDB,
                     Kiki,
                     ScanningParser,
                     PEM,
                     DotLock,
                     Base58,
                     CryptoCoins,
                     ProcessUtils,
                     Hosts,
                     SSHKey,
                     LengthPrefixedBE,
                     CommandLine,
                     Numeric.Interval,
                     Numeric.Interval.Bounded,
                     SuperOrd,
                     FunctorToMaybe,
                     GnuPGAgent,
                     ByteStringUtil
    other-modules:   TimeUtil,
                     ControlMaybe,
                     Compat,
                     PacketTranscoder,
                     Transforms,
                     Data.OpenPGP.Util,
                     Text.XXD
    Build-Depends:   base >=4.6.0.0,
                     openpgp-asciiarmor,
                     asn1-encoding,
                     asn1-types,
                     binary,
                     bytestring,
                     containers,
                     directory,
                     filepath,
                     network,
                     openpgp-util,
                     pretty-show,
                     process,
                     temporary,
                     text,
                     unix,
                     zlib
    -- todo: remove this dependency when flag(hourglass)
    if flag(needlocale)
       build-depends:  time < 1.5, old-locale
    else
       build-depends:  time >= 1.5

    if !flag(cryptonite)
      Build-Depends:   crypto-pubkey >=0.2.3, cryptohash -any,
                       crypto-pubkey-types -any, dataenc
      if flag(hourglass)
        Build-Depends:   hourglass -any, x509 >=1.5 && <1.6
      else
        Build-Depends:   x509 <1.6
    else
      Build-Depends:   cryptonite, x509 >=1.6, memory, hourglass
    c-sources: lib/dotlock.c

Test-suite testkiki
    type:   exitcode-stdio-1.0
    Main-is: testkiki.hs
    hs-source-dirs: testkiki
    Build-depends:  Cabal
                    , hspec
                    , process
                    , directory
                    , unix
                    , filepath
                    , bytestring
                    , time
                    , kiki
    if !flag(cryptonite)
      Build-Depends:  cryptohash
    else
      Build-Depends:  cryptonite, memory
    if flag(unixEnv)
      Build-depends: base < 4.7.0, unix
    else
      Build-depends: base >= 4.7.0