cabal-version:       2.2
name:                churros
version:             0.1.0.0
license-file:        LICENSE
author:              Lyndon Maydwell
maintainer:          lyndon@sordina.net
build-type:          Simple
extra-source-files:  CHANGELOG.md
license:             MIT
synopsis:            Churros: Channel/Arrow based streaming computation library.
category:            Data, Control
description:         The Churro library takes an opinionated approach to streaming
                     by focusing on IO processes and allowing different transport
                     options.

source-repository head
  type:     git
  location: git@github.com:sordina/churros.git

-- custom-setup
--    setup-depends:
--      base, Cabal, cabal-doctest

common churros-dependencies
  default-language: Haskell2010
  build-depends:
    base >= 4.10 && < 4.15,
    time,
    async,
    stm,
    containers,
    random

library churros-lib
  import: churros-dependencies
  hs-source-dirs:   src
  exposed-modules:
    Control.Churro,
    Control.Churro.Types,
    Control.Churro.Prelude,
    Control.Churro.Transport,
    Control.Churro.Transport.Chan

test-suite churros-test
  import:            churros-dependencies
  type:              exitcode-stdio-1.0
  hs-source-dirs:    src,test
  main-is:           Churro/Test/Main.hs
  build-depends:     doctest
  ghc-options:       -threaded -rtsopts
  other-modules:
    Control.Churro,
    Control.Churro.Types,
    Control.Churro.Prelude,
    Control.Churro.Transport,
    Control.Churro.Transport.Chan,
    Churro.Test.Examples