packages feed

candid-0.4: candid.cabal

cabal-version:      >=1.10
name:               candid
version:            0.4
license:            Apache
license-file:       LICENSE
maintainer:         mail@joachim-breitner.de
author:             Joachim Breitner
homepage:           https://github.com/nomeata/haskell-candid
synopsis:           Candid integration
description:
    This package brings the Candid interface definition language to Haskell,
    supporting serialization, deserialization, importing type definition and
    other features.
    .
    See "Codec.Candid" for an overview and <https://github.com/dfinity/candid> to
    learn more about Candid.

category:           Codec
build-type:         Simple
extra-source-files: CHANGELOG.md words.txt

library
    exposed-modules:
        Codec.Candid
        Codec.Candid.Tuples
        Codec.Candid.TestExports

    hs-source-dirs:   src
    other-modules:
        Codec.Candid.Parse
        Codec.Candid.Class
        Codec.Candid.Generic
        Codec.Candid.Service
        Codec.Candid.TH
        Codec.Candid.Data
        Codec.Candid.Types
        Codec.Candid.FieldName
        Codec.Candid.Hash
        Codec.Candid.TypTable
        Codec.Candid.Decode
        Codec.Candid.EncodeTextual
        Codec.Candid.Encode
        Codec.Candid.Infer
        Codec.Candid.Subtype
        Codec.Candid.Coerce

    default-language: Haskell2010
    ghc-options:      -Wall -Wno-name-shadowing
    build-depends:
        base >=4.12 && <5,
        text >=1.2.3.1 && <1.3,
        dlist >=0.8.0.8 && <1.1,
        vector >=0.12.1.2 && <0.13,
        bytestring >=0.10.8.2 && <0.12,
        mtl >=2.2.2 && <2.3,
        transformers >=0.5.6.2 && <0.6,
        hex-text >=0.1.0.0 && <0.2,
        crc >=0.1.0.0 && <0.2,
        megaparsec >=8 && <9.3,
        parser-combinators >=1.2 && <1.4,
        scientific >=0.3.6.2 && <0.4,
        cereal >=0.5.8.1 && <0.6,
        leb128-cereal ==1.2.*,
        containers >=0.6.0.1 && <0.7,
        unordered-containers >=0.2.10.0 && <0.3,
        row-types > 1.0.0.0 && < 1.1,
        constraints >=0.12 && <0.14,
        prettyprinter >=1.7 && <1.8,
        template-haskell,
        base32 >=0.1.1.2 && <0.3,
        split >=0.2.3.4 && <0.3,
        file-embed

executable hcandid
    main-is:          hcandid.hs
    default-language: Haskell2010
    ghc-options:      -Wall -Wno-name-shadowing
    build-depends:
        base ==4.*,
        candid -any,
        optparse-applicative >=0.15.1.0 && <0.18,
        text >=1.2.3.1 && <1.3,
        bytestring >=0.10.8.2 && <0.12,
        hex-text >=0.1.0.0 && <0.2,
        prettyprinter >=1.6.2 && <1.8

test-suite test
    type:             exitcode-stdio-1.0
    main-is:          test.hs
    hs-source-dirs:   test
    other-modules:
        SpecTests
        Tests
        THTests

    default-language: Haskell2010
    ghc-options:      -Wall -Wno-name-shadowing -rtsopts
    build-depends:
        base ==4.*,
        tasty >=0.7 && <1.5,
        tasty-hunit >=0.10.0.2 && <0.11,
        tasty-smallcheck >=0.8.1 && <0.9,
        tasty-quickcheck >=0.10 && <0.11,
        tasty-rerun >=1.1.17 && <1.2,
        smallcheck >=1.2 && <1.3,
        candid -any,
        bytestring >=0.10.8.2 && <0.12,
        text >=1.2.3.1 && <1.3,
        vector >=0.12.1.2 && <0.13,
        prettyprinter >=1.6.2 && <1.8,
        unordered-containers >=0.2.10.0 && <0.3,
        row-types > 1.0.0.0 && < 1.1,
        directory >=1.3.3.0 && <1.4,
        filepath >=1.4.2.1 && <1.5,
        template-haskell

test-suite doctest
    type:             exitcode-stdio-1.0
    main-is:          doctests.hs
    default-language: Haskell2010
    ghc-options:      -threaded
    build-depends:
        base ==4.*,
        candid -any,
        doctest,
        row-types > 1.0.0.0 && < 1.1,
        leb128-cereal ==1.2.*,
        prettyprinter >=1.6.2 && <1.8