capnp-0.10.0.1: capnp.cabal
cabal-version: 2.2
name: capnp
version: 0.10.0.1
category: Data, Serialization, Network, Rpc
copyright: 2016-2020 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/gen-basic-instances.hs
, scripts/hlint.sh
, scripts/README.md
, scripts/regen.sh
, .stylish-haskell.yaml
, .gitattributes
, .gitignore
, .gitlab-ci.yml
tested-with:
-- Our Gitlab CI uses this version:
GHC == 8.4.3
-- @zenhack currently uses this version:
, GHC == 8.6.3
--------------------------------------------------------------------------------
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
, mtl ^>= 2.2.2
, primitive >= 0.6.3 && <0.8
, safe-exceptions ^>= 0.1.7
, text >= 1.2 && < 2.0
, transformers ^>= 0.5.2
, 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
, Capnp.Address
, Capnp.Basics
, Capnp.Basics.Pure
, Capnp.Bits
, Capnp.Canonicalize
, Capnp.Classes
, Capnp.Convert
, Capnp.Errors
, Capnp.GenHelpers
, Capnp.GenHelpers.Pure
, Capnp.GenHelpers.Rpc
, Capnp.IO
, Capnp.Message
, Capnp.Pointer
, Capnp.Untyped
, Capnp.Untyped.Pure
, Capnp.TraversalLimit
, Capnp.Rpc
, Capnp.Rpc.Promise
, Capnp.Rpc.Invoke
, Capnp.Rpc.Untyped
, Capnp.Rpc.Errors
, Capnp.Rpc.Transport
, Capnp.Rpc.Server
, Capnp.Tutorial
, Capnp.GenHelpers.ReExports
, Capnp.GenHelpers.ReExports.Supervisors
, Capnp.GenHelpers.ReExports.Data.Default
, Capnp.GenHelpers.ReExports.Data.Text
, Capnp.GenHelpers.ReExports.Data.ByteString
, Capnp.GenHelpers.ReExports.Data.Vector
, Capnp.GenHelpers.ReExports.Control.Concurrent.STM
, Capnp.GenHelpers.ReExports.Control.Monad.STM.Class
, Data.Mutable
, Capnp.Gen
, Capnp.Gen.Capnp
-- BEGIN GENERATED SCHEMA MODULES
, Capnp.Gen.Capnp.Cxx.Pure
, Capnp.Gen.Capnp.Compat.Json.Pure
, Capnp.Gen.Capnp.Persistent.Pure
, Capnp.Gen.Capnp.Rpc.Pure
, Capnp.Gen.Capnp.RpcTwoparty.Pure
, Capnp.Gen.Capnp.Schema.Pure
, Capnp.Gen.Capnp.Stream.Pure
, Capnp.Gen.Capnp.Cxx
, Capnp.Gen.Capnp.Compat.Json
, Capnp.Gen.Capnp.Persistent
, Capnp.Gen.Capnp.Rpc
, Capnp.Gen.Capnp.RpcTwoparty
, Capnp.Gen.Capnp.Schema
, Capnp.Gen.Capnp.Stream
, Capnp.Gen.ById.Xbdf87d7bb8304e81.Pure
, Capnp.Gen.ById.X8ef99297a43a5e34.Pure
, Capnp.Gen.ById.Xb8630836983feed7.Pure
, Capnp.Gen.ById.Xb312981b2552a250.Pure
, Capnp.Gen.ById.Xa184c7885cdaf2a1.Pure
, Capnp.Gen.ById.Xa93fc509624c72d9.Pure
, Capnp.Gen.ById.X86c366a91393f3f8.Pure
, Capnp.Gen.ById.Xbdf87d7bb8304e81
, Capnp.Gen.ById.X8ef99297a43a5e34
, Capnp.Gen.ById.Xb8630836983feed7
, Capnp.Gen.ById.Xb312981b2552a250
, Capnp.Gen.ById.Xa184c7885cdaf2a1
, Capnp.Gen.ById.Xa93fc509624c72d9
, Capnp.Gen.ById.X86c366a91393f3f8
-- END GENERATED SCHEMA MODULES
other-modules:
Internal.AppendVec
, Internal.Finalizer
, Internal.SnocList
, Internal.Rc
, Internal.TCloseQ
, Internal.Gen.Instances
, Internal.BuildPure
, Codec.Capnp
-- other-extensions:
build-depends:
cpu ^>= 0.1.2
, 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.1
, supervisors ^>= 0.2.0
, pretty-show >= 1.9.5 && <1.11
, template-haskell ^>=2.16.0
--------------------------------------------------------------------------------
-- code generator plugin
executable capnpc-haskell
import: shared-opts
hs-source-dirs: cmd/capnpc-haskell
main-is: Main.hs
other-modules:
IR.Name
, IR.Common
, IR.Stage1
, IR.Flat
, IR.Pure
, IR.Raw
, IR.Haskell
, Trans.CgrToStage1
, Trans.Stage1ToFlat
, Trans.FlatToRaw
, Trans.FlatToPure
, Trans.ToHaskellCommon
, Trans.PureToHaskell
, Trans.RawToHaskell
, 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.ById.X85150b117366d14b
, Capnp.Gen.ById.X85150b117366d14b.Pure
, Capnp.Gen.Calculator
, Capnp.Gen.Calculator.Pure
-- Generated code for examples/echo.capnp
, Capnp.Gen.Echo
, Capnp.Gen.Echo.Pure
, Capnp.Gen.ById.Xd0a87f36fa0182f5
, Capnp.Gen.ById.Xd0a87f36fa0182f5.Pure
-- generated from tests/data/aircraft.capnp
, Capnp.Gen.Aircraft
, Capnp.Gen.Aircraft.Pure
, Capnp.Gen.ById.X832bcc6686a26d56
, Capnp.Gen.ById.X832bcc6686a26d56.Pure
-- generated from tests/data/generics.capnp
, Capnp.Gen.Generics
, Capnp.Gen.Generics.Pure
, Capnp.Gen.ById.Xb6421fb8e478d144
, Capnp.Gen.ById.Xb6421fb8e478d144.Pure
-- 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
, 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