cuddle-0.5.0.0: cuddle.cabal
cabal-version: 3.4
name: cuddle
version: 0.5.0.0
synopsis: CDDL Generator and test utilities
description:
Cuddle is a library for generating and manipulating [CDDL](https://datatracker.ietf.org/doc/html/rfc8610).
Included in this package is a command line tool for working with CDDL files. It
currently supports four functions:
- Formatting of CDDL files
- Validating that a CDDL file is legal
- Generating random CBOR terms matching CDDL productions
- Testing compliance of a CBOR file against a CDDL spec.
license: Apache-2.0
license-file: LICENSE
author: IOG Ledger Team
maintainer: nicholas.clarke@iohk.io, hackage@iohk.io
copyright: 2025 Input Output Global Inc (IOG)
category: Codec
build-type: Simple
extra-doc-files: CHANGELOG.md
tested-with: ghc =={9.6, 9.8, 9.10, 9.12}
source-repository head
type: git
location: https://github.com/input-output-hk/cuddle
source-repository this
type: git
location: https://github.com/input-output-hk/cuddle
tag: cuddle-0.5.0.0
flag example
description: Enable the example executable
manual: True
default: False
common warnings
ghc-options:
-Wall
library
import: warnings
exposed-modules:
Codec.CBOR.Cuddle.CBOR.Gen
Codec.CBOR.Cuddle.CBOR.Validator
Codec.CBOR.Cuddle.CDDL
Codec.CBOR.Cuddle.CDDL.CTree
Codec.CBOR.Cuddle.CDDL.CtlOp
Codec.CBOR.Cuddle.CDDL.Postlude
Codec.CBOR.Cuddle.CDDL.Prelude
Codec.CBOR.Cuddle.CDDL.Resolve
Codec.CBOR.Cuddle.Comments
Codec.CBOR.Cuddle.Huddle
Codec.CBOR.Cuddle.Huddle.HuddleM
Codec.CBOR.Cuddle.Huddle.Optics
Codec.CBOR.Cuddle.Parser
Codec.CBOR.Cuddle.Parser.Lexer
Codec.CBOR.Cuddle.Pretty
Codec.CBOR.Cuddle.Pretty.Columnar
Codec.CBOR.Cuddle.Pretty.Utils
build-depends:
base >=4.18 && <4.22,
base16-bytestring ^>=1.0.2,
boxes ^>=0.1.5,
bytestring >=0.11.4 && <0.13,
capability ^>=0.5,
cborg ^>=0.2.10,
containers >=0.6.7 && <0.8,
data-default-class ^>=0.2,
foldable1-classes-compat ^>=0.1.1,
generic-optics ^>=2.2.1,
hashable ^>=1.5,
megaparsec ^>=9.7,
mtl ^>=2.3.1,
mutable-containers ^>=0.3.4,
optics-core ^>=0.4.1,
ordered-containers ^>=0.2.4,
parser-combinators ^>=1.3,
prettyprinter ^>=1.7.1,
random <1.3,
regex-tdfa ^>=1.3.2,
scientific ^>=0.3.8,
text >=2.0.2 && <2.2,
tree-diff ^>=0.3.4,
hs-source-dirs: src
default-language: GHC2021
executable example
import: warnings
if flag(example)
buildable: True
else
buildable: False
default-language: GHC2021
other-modules:
Conway
Monad
hs-source-dirs: example
main-is: Main.hs
build-depends:
base,
cuddle,
megaparsec,
prettyprinter,
random,
text,
executable cuddle
import: warnings
default-language: GHC2021
hs-source-dirs: ./bin/
main-is: Main.hs
build-depends:
base,
base16-bytestring,
bytestring,
cborg,
cuddle,
megaparsec,
mtl,
optparse-applicative ^>=0.19,
prettyprinter,
random,
text,
test-suite cuddle-test
import: warnings
default-language: GHC2021
other-modules:
Test.Codec.CBOR.Cuddle.CDDL.Examples
Test.Codec.CBOR.Cuddle.CDDL.Gen
Test.Codec.CBOR.Cuddle.CDDL.Parser
Test.Codec.CBOR.Cuddle.CDDL.Pretty
Test.Codec.CBOR.Cuddle.Huddle
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
build-depends:
HUnit ^>=1.6.2,
QuickCheck ^>=2.15,
base,
bytestring,
cuddle,
data-default-class,
hspec ^>=2.11,
hspec-megaparsec ^>=2.2,
megaparsec,
prettyprinter,
string-qq ^>=0.0.6,
text,
tree-diff,