mirror of
https://github.com/zap-proto/haskell.git
synced 2026-10-30 15:05:00 +00:00
306 lines
9.2 KiB
Plaintext
306 lines
9.2 KiB
Plaintext
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: [email protected]
|
|
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
|