Skip to content
Snippets Groups Projects
qrpc.cabal 2.23 KiB
Newer Older
Jens Nolte's avatar
Jens Nolte committed
cabal-version: 3.0

name: qrpc
version: 0.1.0.0
category: Protocol, Network, Networking, Network API
description: RPC library with support for pipelining, reverse calls and data streams.
author: Jens Nolte
maintainer: Jens Nolte
copyright: 2021 Jens Nolte
license: BSD-2-Clause
license-file: LICENSE
build-type: Simple
extra-source-files:
  README.md

source-repository head
  type: git
  location: https://git.c3pb.de/jens/qrpc.git

common shared-properties
  default-extensions:
Jens Nolte's avatar
Jens Nolte committed
    AllowAmbiguousTypes
Jens Nolte's avatar
Jens Nolte committed
    BangPatterns
    DataKinds
    DefaultSignatures
    DeriveAnyClass
    DeriveGeneric
    DerivingStrategies
    DuplicateRecordFields
    ExistentialQuantification
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    InstanceSigs
    LambdaCase
    NamedFieldPuns
    NoImplicitPrelude
    OverloadedStrings
    RankNTypes
    ScopedTypeVariables
    StandaloneDeriving
    TemplateHaskell
    TupleSections
    TypeFamilies
    TypeOperators
Jens Nolte's avatar
Jens Nolte committed
    -- Required for the record-dot-preprocessor plugin
    DuplicateRecordFields
    TypeApplications
    FlexibleContexts
    DataKinds
    MultiParamTypeClasses
    TypeSynonymInstances
    FlexibleInstances
    UndecidableInstances
    GADTs
Jens Nolte's avatar
Jens Nolte committed
  build-depends:
    base >=4.7 && <5,
Jens Nolte's avatar
Jens Nolte committed
    async,
    binary,
    bytestring,
Jens Nolte's avatar
Jens Nolte committed
    hashable,
Jens Nolte's avatar
Jens Nolte committed
    network,
    template-haskell,
    unix,
Jens Nolte's avatar
Jens Nolte committed
    unordered-containers,
    -- required for record-dot-preprocessor
    record-dot-preprocessor,
    record-hasfield,
Jens Nolte's avatar
Jens Nolte committed
  default-language: Haskell2010
Jens Nolte's avatar
Jens Nolte committed
  ghc-options: -fwarn-unused-do-bind -fwarn-tabs -Wall -Wincomplete-uni-patterns -Wpartial-fields -fplugin=RecordDotPreprocessor
Jens Nolte's avatar
Jens Nolte committed

common shared-executable-properties
  import: shared-properties
  ghc-options: -fwarn-unused-do-bind -fwarn-tabs -Wall -Wincomplete-uni-patterns -Wpartial-fields -threaded -rtsopts "-with-rtsopts=-N -I0"

library
  import: shared-properties
  exposed-modules:
    Network.Rpc.Connection
    Network.Rpc.Multiplexer
Jens Nolte's avatar
Jens Nolte committed
  hs-source-dirs:
    src

test-suite qrpc-test
  import: shared-executable-properties
  type: exitcode-stdio-1.0
  build-depends:
Jens Nolte's avatar
Jens Nolte committed
    qrpc
  main-is: Spec.hs
  other-modules:
    Network.RpcSpec
    Network.Rpc.MultiplexerSpec
Jens Nolte's avatar
Jens Nolte committed
  hs-source-dirs:
    test