mirror of
https://github.com/zap-proto/haskell.git
synced 2026-10-30 15:05:00 +00:00
201 lines
6.1 KiB
Plaintext
201 lines
6.1 KiB
Plaintext
cabal-version: 2.2
|
|
name: zap
|
|
version: 0.18.0.0
|
|
category: Data, Serialization, Network, Rpc
|
|
copyright: 2016-2023 haskell-zap contributors (see CONTRIBUTORS file).
|
|
author: Ian Denhardt
|
|
maintainer: [email protected]
|
|
license: MIT
|
|
license-file: LICENSE.md
|
|
homepage: https://github.com/zap-proto/haskell
|
|
bug-reports: https://github.com/zap-proto/haskell/issues
|
|
synopsis: Zap for Haskell
|
|
description:
|
|
A native Haskell implementation of the Zap cerialization format and
|
|
RPC protocol.
|
|
.
|
|
The library implements serialization and level 1 RPC.
|
|
.
|
|
The "Zap.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/zap/schema.zap
|
|
, core-schema/zap/stream.zap
|
|
, core-schema/zap/rpc-twoparty.zap
|
|
, core-schema/zap/persistent.zap
|
|
, core-schema/zap/rpc.zap
|
|
, core-schema/zap/compat/json.zap
|
|
, core-schema/zap/c++.zap
|
|
, scripts/format.sh
|
|
, scripts/hlint.sh
|
|
, scripts/README.md
|
|
, scripts/regen.sh
|
|
, .stylish-haskell.yaml
|
|
, .gitattributes
|
|
, .gitignore
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
source-repository head
|
|
type: git
|
|
branch: master
|
|
location: https://github.com/zap-proto/haskell.git
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
common shared-opts
|
|
build-depends:
|
|
base >= 4.14 && < 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.11
|
|
, mtl >= 2.2.2 && <2.4
|
|
, primitive >= 0.6.3 && <0.9
|
|
, safe-exceptions ^>= 0.1.7
|
|
, text >= 1.2 && < 2.1
|
|
, transformers >= 0.5.2 && <0.7
|
|
, vector >= 0.12.0 && <0.14
|
|
, 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 zap 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:
|
|
Zap.Address
|
|
, Zap.Bits
|
|
, Zap.Canonicalize
|
|
, Zap
|
|
, Zap.Accessors
|
|
, Zap.Basics
|
|
, Zap.Classes
|
|
, Zap.Constraints
|
|
, Zap.Rpc.Common
|
|
, Zap.Rpc.Membrane
|
|
, Zap.Rpc.Revoke
|
|
, Zap.Rpc.Server
|
|
, Zap.Convert
|
|
, Zap.Errors
|
|
, Zap.Fields
|
|
, Zap.GenHelpers
|
|
, Zap.GenHelpers.Rpc
|
|
, Zap.IO
|
|
, Zap.Message
|
|
, Zap.Mutability
|
|
, Zap.Pointer
|
|
, Zap.Untyped
|
|
, Zap.Repr
|
|
, Zap.Repr.Methods
|
|
, Zap.Repr.Parsed
|
|
, Zap.TraversalLimit
|
|
, Zap.Rpc
|
|
, Zap.Rpc.Promise
|
|
, Zap.Rpc.Untyped
|
|
, Zap.Rpc.Errors
|
|
, Zap.Rpc.Transport
|
|
, Zap.Tutorial
|
|
|
|
, Data.Mutable
|
|
|
|
, Zap.Gen
|
|
, Zap.Gen.Zap
|
|
|
|
-- BEGIN GENERATED SCHEMA MODULES
|
|
, Zap.Gen.Zap.Cxx
|
|
, Zap.Gen.Zap.Compat.Json
|
|
, Zap.Gen.Zap.Persistent
|
|
, Zap.Gen.Zap.Rpc
|
|
, Zap.Gen.Zap.RpcTwoparty
|
|
, Zap.Gen.Zap.Schema
|
|
, Zap.Gen.Zap.Stream
|
|
|
|
, Zap.Gen.ById.Xbdf87d7bb8304e81
|
|
, Zap.Gen.ById.X8ef99297a43a5e34
|
|
, Zap.Gen.ById.Xb8630836983feed7
|
|
, Zap.Gen.ById.Xb312981b2552a250
|
|
, Zap.Gen.ById.Xa184c7885cdaf2a1
|
|
, Zap.Gen.ById.Xa93fc509624c72d9
|
|
, Zap.Gen.ById.X86c366a91393f3f8
|
|
-- END GENERATED SCHEMA MODULES
|
|
other-modules:
|
|
Internal.AppendVec
|
|
, Internal.SnocList
|
|
, Internal.Rc
|
|
, Internal.TCloseQ
|
|
, Internal.BuildPure
|
|
, Internal.STE
|
|
, Internal.Rpc.Breaker
|
|
, Internal.Rpc.Export
|
|
-- other-extensions:
|
|
build-depends:
|
|
hashable >= 1.2.7 && <1.5
|
|
, 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.2
|
|
, pretty-show >= 1.9.5 && <1.11
|
|
, template-haskell >=2.18 && <2.21
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
-- code generator plugin
|
|
executable zapc-haskell
|
|
import: shared-opts
|
|
hs-source-dirs: cmd/zapc-haskell
|
|
main-is: Main.hs
|
|
other-modules:
|
|
IR.Name
|
|
, IR.AbstractOp
|
|
, IR.Common
|
|
, IR.Stage1
|
|
, IR.Flat
|
|
, IR.Haskell
|
|
, Trans.CgrToStage1
|
|
, Trans.Stage1ToFlat
|
|
, Trans.FlatToAbstractOp
|
|
, Trans.ToHaskellCommon
|
|
, Trans.AbstractOpToHaskell
|
|
, Trans.HaskellToText
|
|
, Check
|
|
build-depends:
|
|
zap
|
|
, wl-pprint-text ^>= 1.2
|
|
, filepath ^>= 1.4.2
|
|
, directory ^>= 1.3.0
|
|
, bifunctors >= 5.5.8 && <5.7
|