capnp-0.14.0.0: capnp.cabal
cabal-version: 2.2
name: capnp
version: 0.14.0.0
category: Data, Serialization, Network, Rpc
copyright: 2016-2021 haskell-capnp contributors (see CONTRIBUTORS file).
author: Ian Denhardt
maintainer: ian@zenhack.net
license: MIT
license-file: LICENSE.md
homepage: https://github.com/zenhack/haskell-capnp
bug-reports: https://github.com/zenhack/haskell-capnp/issues
synopsis: Cap'n Proto for Haskell
description:
A native Haskell implementation of the Cap'N Proto cerialization format and
RPC protocol.
.
The library implements serialization and level 1 RPC.
.
The "Capnp.Tutorial" module is the best place to start reading; the
reference documentation can seem bewildering without that context.
build-type: Simple
extra-source-files:
README.md
, CHANGELOG.md
, CONTRIBUTING.md
, ci/README.md
, ci/Dockerfile
, core-schema/README.md
, core-schema/capnp/schema.capnp
, core-schema/capnp/stream.capnp
, core-schema/capnp/rpc-twoparty.capnp
, core-schema/capnp/persistent.capnp
, core-schema/capnp/rpc.capnp
, core-schema/capnp/compat/json.capnp
, core-schema/capnp/c++.capnp
, scripts/format.sh
, scripts/hlint.sh
, scripts/README.md
, scripts/regen.sh
, .stylish-haskell.yaml
, .gitattributes
, .gitignore
, .gitlab-ci.yml
--------------------------------------------------------------------------------
source-repository head
type: git
branch: master
location: https://github.com/zenhack/haskell-capnp.git
--------------------------------------------------------------------------------
common shared-opts
build-depends:
base >= 4.11 && < 5
, bytes >= 0.15.4 && <0.18
, bytestring >= 0.10 && <0.12
, containers >= 0.5.9 && <0.7
, data-default ^>= 0.7.1
, exceptions ^>= 0.10.0
, ghc-prim >= 0.6.1 && <0.8
, mtl ^>= 2.2.2
, primitive >= 0.6.3 && <0.8
, safe-exceptions ^>= 0.1.7
, text >= 1.2 && < 2.0
, transformers >= 0.5.2 && <0.7
, vector ^>= 0.12.0
, monad-stm ^>= 0.1
ghc-options:
-Wall
-- This warning is triggered by normal use of NamedFieldPuns, so it's a no-go
-- for us:
-Wno-name-shadowing
-- I(zenhack) find it rather odd that orphan instances are flagged when the
-- class and the type are in different modules but, the same *package*. We do
-- this in a number of places in the capnp package, so we disable this
-- warning. It's not super easy to write a package-level orphan by accident,
-- so we're not losing much.
-Wno-orphans
default-language: Haskell2010
--------------------------------------------------------------------------------
-- main runtime library.
library
import: shared-opts
hs-source-dirs:
lib
-- generated code:
gen/lib
exposed-modules:
Capnp.Address
, Capnp.Bits
, Capnp.Canonicalize
, Capnp.New
, Capnp.New.Accessors
, Capnp.New.Basics
, Capnp.New.Classes
, Capnp.New.Constraints
, Capnp.New.Rpc.Common
, Capnp.New.Rpc.Server
, Capnp.Convert
, Capnp.Errors
, Capnp.Fields
, Capnp.GenHelpers.New
, Capnp.GenHelpers.New.Rpc
, Capnp.IO
, Capnp.Message
, Capnp.Mutability
, Capnp.Pointer
, Capnp.Untyped
, Capnp.Repr
, Capnp.Repr.Methods
, Capnp.Repr.Parsed
, Capnp.TraversalLimit
, Capnp.Rpc
, Capnp.Rpc.Promise
, Capnp.Rpc.Untyped
, Capnp.Rpc.Errors
, Capnp.Rpc.Transport
, Capnp.Rpc.Server
, Capnp.Tutorial
, Data.Mutable
, Capnp.Gen
, Capnp.Gen.Capnp
-- BEGIN GENERATED SCHEMA MODULES
, Capnp.Gen.Capnp.Cxx.New
, Capnp.Gen.Capnp.Compat.Json.New
, Capnp.Gen.Capnp.Persistent.New
, Capnp.Gen.Capnp.Rpc.New
, Capnp.Gen.Capnp.RpcTwoparty.New
, Capnp.Gen.Capnp.Schema.New
, Capnp.Gen.Capnp.Stream.New
, Capnp.Gen.ById.Xbdf87d7bb8304e81.New
, Capnp.Gen.ById.X8ef99297a43a5e34.New
, Capnp.Gen.ById.Xb8630836983feed7.New
, Capnp.Gen.ById.Xb312981b2552a250.New
, Capnp.Gen.ById.Xa184c7885cdaf2a1.New
, Capnp.Gen.ById.Xa93fc509624c72d9.New
, Capnp.Gen.ById.X86c366a91393f3f8.New
-- END GENERATED SCHEMA MODULES
other-modules:
Internal.AppendVec
, Internal.SnocList
, Internal.Rc
, Internal.TCloseQ
, Internal.BuildPure
-- other-extensions:
build-depends:
hashable >= 1.2.7 && <1.4
, data-default-instances-vector ^>= 0.0.1
, stm ^>= 2.5.0
, stm-containers >= 1.1.0 && <1.3
, list-t ^>= 1.0.2
, focus ^>= 1.0.1
, async ^>= 2.2.1
, network-simple ^>= 0.4
, network >= 3 && <3.2
, supervisors ^>= 0.2.1
, lifetimes ^>= 0.1
, pretty-show >= 1.9.5 && <1.11
, template-haskell >=2.16.0 && <2.18
--------------------------------------------------------------------------------
-- code generator plugin
executable capnpc-haskell
import: shared-opts
hs-source-dirs: cmd/capnpc-haskell
main-is: Main.hs
other-modules:
IR.Name
IR.New
, IR.Common
, IR.Stage1
, IR.Flat
, IR.Haskell
, Trans.CgrToStage1
, Trans.Stage1ToFlat
, Trans.FlatToNew
, Trans.ToHaskellCommon
, Trans.NewToHaskell
, Trans.HaskellToText
, Check
build-depends:
capnp
, wl-pprint-text ^>= 1.2
, filepath ^>= 1.4.2
, directory ^>= 1.3.0
, bifunctors ^>= 5.5.8
--------------------------------------------------------------------------------
test-suite tests
import: shared-opts
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs:
tests
gen/tests
examples/lib
examples/gen/lib
ghc-options:
-threaded
other-modules:
-- Utilities
Util
, Instances
, SchemaGeneration
, Examples.Rpc.CalculatorClient
, Examples.Rpc.CalculatorServer
-- Generated code for examples/calculator.capnp
, Capnp.Gen.Calculator.New
, Capnp.Gen.ById.X85150b117366d14b.New
-- Generated code for examples/echo.capnp
, Capnp.Gen.Echo.New
, Capnp.Gen.ById.Xd0a87f36fa0182f5.New
-- generated from tests/data/aircraft.capnp
, Capnp.Gen.Aircraft.New
, Capnp.Gen.ById.X832bcc6686a26d56.New
-- generated from tests/data/generics.capnp
, Capnp.Gen.Generics.New
, Capnp.Gen.ById.Xb6421fb8e478d144.New
-- Actual tests:
, Module.Capnp.Gen.Capnp.Schema
, Module.Capnp.Gen.Capnp.Schema.Pure
, Module.Capnp.Rpc
, Module.Capnp.Untyped
, Module.Capnp.Untyped.Pure
, Module.Capnp.Pointer
, Module.Capnp.Bits
, Module.Capnp.Basics
, Module.Capnp.Canonicalize
, PointerOOB
, Regression
, WalkSchemaCodeGenRequest
, SchemaQuickCheck
, CalculatorExample
, Rpc.Unwrap
build-depends:
capnp
, network
, network-simple
, stm
, async
, process
, process-extras
, QuickCheck
, quickcheck-io
, quickcheck-instances
, hspec
, directory
, resourcet
, heredoc
, deepseq
, pretty-show
, supervisors
benchmark bench
import: shared-opts
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: bench
build-depends:
capnp
, criterion ^>=1.5.9
, deepseq
, process-extras