forked from IntersectMBO/plutus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmarlowe.cabal
167 lines (156 loc) · 3.85 KB
/
marlowe.cabal
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
163
164
165
166
167
cabal-version: 2.2
name: marlowe
version: 0.1.0.0
license: Apache-2.0
license-files:
LICENSE
NOTICE
build-type: Simple
maintainer: alexander.nemish@iohk.io
stability: experimental
author: Alexander Nemish
synopsis:
Marlowe: financial contracts on Cardano Computation Layer
description:
A reference implementation of Marlowe, domain-specific language targeted at
the execution of financial contracts in the style of Peyton Jones et al
on Cardano Computation Layer.
category: Language
extra-doc-files: README.md
source-repository head
type: git
location: https://github.com/input-output-hk/plutus
flag defer-plugin-errors
description:
Defer errors from the plugin, useful for things like Haddock that can't handle it.
default: False
manual: True
common lang
default-language: Haskell2010
default-extensions: ExplicitForAll ScopedTypeVariables
DeriveGeneric StandaloneDeriving DeriveLift
DeriveFunctor DeriveFoldable
DeriveTraversable
ghc-options:
-Wall -Wnoncanonical-monad-instances
-Wincomplete-uni-patterns -Wincomplete-record-updates
-Wredundant-constraints -Widentities
if !(impl(ghcjs) || os(ghcjs))
build-depends: plutus-tx-plugin -any
if flag(defer-plugin-errors)
ghc-options: -fplugin-opt PlutusTx.Plugin:defer-errors
library
import: lang
hs-source-dirs: src
build-depends:
aeson -any,
base -any,
bytestring,
containers -any,
deriving-aeson -any,
lens,
mtl,
newtype-generics,
template-haskell -any,
plutus-tx -any,
plutus-contract -any,
plutus-core,
plutus-ledger,
plutus-use-cases,
text,
vector,
sbv >= 8.4,
scientific -any,
wl-pprint -any,
freer-simple -any,
semigroups -any
exposed-modules:
Language.Marlowe
Language.Marlowe.Extended
Language.Marlowe.Semantics
Language.Marlowe.Client
Language.Marlowe.Util
Language.Marlowe.Pretty
Language.Marlowe.Analysis.FSSemantics
other-modules:
test-suite marlowe-test
import: lang
hs-source-dirs: test
type: exitcode-stdio-1.0
main-is: Spec.hs
other-modules:
Spec.Marlowe.Common
Spec.Marlowe.Marlowe
Spec.Marlowe.AutoExecute
build-depends:
aeson -any,
base >=4.9 && <5,
containers -any,
data-default -any,
hint -any,
lens -any,
memory -any,
bytestring -any,
freer-simple -any,
tasty -any,
tasty-hunit -any,
tasty-quickcheck,
text -any,
serialise,
cborg,
plutus-ledger -any,
plutus-contract -any,
marlowe,
sbv >= 8.4,
plutus-tx -any,
QuickCheck,
template-haskell -any,
streaming -any
-- | The Marlowe app, an executable that can be run in the PAB
executable marlowe-app
import: lang
main-is: Main.hs
hs-source-dirs: app
build-depends:
base >= 4.9 && < 5,
plutus-pab -any,
plutus-contract -any,
marlowe
-- | The Marlowe Companion app, an executable that can be run in the PAB
executable marlowe-companion-app
import: lang
main-is: Main.hs
hs-source-dirs: companion
build-depends:
base >= 4.9 && < 5,
plutus-pab -any,
plutus-contract -any,
marlowe
executable marlowe-follow-app
import: lang
main-is: Main.hs
hs-source-dirs: follow
build-depends:
base >= 4.9 && < 5,
plutus-pab -any,
plutus-contract -any,
marlowe
-- | The PAB Specialised to the marlowe contract(s)
executable marlowe-pab
import: lang
main-is: Main.hs
hs-source-dirs: pab
ghc-options:
-threaded
build-depends:
base >= 4.9 && < 5,
plutus-pab -any,
plutus-contract -any,
marlowe,
aeson -any,
freer-simple -any,
prettyprinter -any,
freer-extras -any,
plutus-ledger -any,
plutus-tx -any,
containers -any