-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathborsh.cabal
143 lines (134 loc) · 3.71 KB
/
borsh.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
cabal-version: 3.0
name: borsh
version: 0.3.0
synopsis: Implementation of BORSH serialisation
description:
This package provides type classes and combinators for
serialisation\/deserialisation to\/from [Borsh](https://borsh.io/) format.
Unlike [CBOR](http://cbor.io/), Borsh is a non self-describing serialisation
format. It is designed such that any object serialises to a canonical and
deterministic string of bytes.
The library supports incremental encoding and incremental decoding, and
supports the use of the @ST@ monad in the decoder for efficient decoding for
types such as arrays. However, the library has currently not been optimized
for speed, and there may well be low-hanging fruit to make it faster.
license: BSD-3-Clause
license-file: LICENSE
author: Edsko de Vries, Finley McIlwaine
maintainer: [email protected]
category: Codec
build-type: Simple
extra-doc-files: CHANGELOG.md
bug-reports: https://github.com/well-typed/borsh/issues
tested-with:
GHC == 8.10.7
, GHC == 9.0.2
, GHC == 9.2.7
, GHC == 9.4.8
, GHC == 9.6.5
source-repository head
type: git
location: https://github.com/well-typed/borsh
common lang
ghc-options:
-Wall
-Wredundant-constraints
if impl(ghc >= 8.10)
ghc-options:
-Wunused-packages
build-depends:
base >= 4.12 && < 4.19
default-language:
Haskell2010
default-extensions:
BangPatterns
ConstraintKinds
DataKinds
DefaultSignatures
DeriveAnyClass
DeriveFunctor
DeriveGeneric
DeriveTraversable
DerivingStrategies
DerivingVia
FlexibleContexts
FlexibleInstances
GADTs
GeneralizedNewtypeDeriving
InstanceSigs
KindSignatures
LambdaCase
MultiParamTypeClasses
NumericUnderscores
RankNTypes
ScopedTypeVariables
StandaloneDeriving
TupleSections
TypeApplications
TypeFamilies
TypeOperators
UndecidableInstances
library
import:
lang
exposed-modules:
Codec.Borsh
Codec.Borsh.Incremental
Data.FixedSizeArray
other-modules:
Codec.Borsh.Class
Codec.Borsh.Decoding
Codec.Borsh.Encoding
Codec.Borsh.Incremental.Decoder
Codec.Borsh.Incremental.Located
Codec.Borsh.Incremental.Monad
Codec.Borsh.Internal.Util.BitwiseCast
Codec.Borsh.Internal.Util.ByteString
Codec.Borsh.Internal.Util.ByteSwap
Codec.Borsh.Internal.Util.SOP
hs-source-dirs:
src
build-depends:
, bytestring >= 0.10 && < 0.13
, containers >= 0.6 && < 0.8
, generics-sop >= 0.5 && < 0.6
, sop-core >= 0.5 && < 0.6
, text >= 1.2 && < 2.2
-- At least 0.13.0.0 necessary for re-exported PrimMonad and PrimState
, vector >= 0.13 && < 0.14
, wide-word >= 0.1 && < 0.2
test-suite test-borsh
import:
lang
type:
exitcode-stdio-1.0
hs-source-dirs:
test
main-is:
Main.hs
other-modules:
Test.Codec.Borsh.ExampleType.BTree
Test.Codec.Borsh.ExampleType.NTree
Test.Codec.Borsh.ExampleType.SimpleList
Test.Codec.Borsh.ExampleType.SimpleStructs
Test.Codec.Borsh.Roundtrip
Test.Codec.Borsh.Size
Test.Codec.Borsh.Util.Length
Test.Codec.Borsh.Util.Orphans
Test.Codec.Borsh.Util.QuickCheck
Test.Codec.Borsh.Util.RandomType
Test.Codec.Borsh.Util.SOP
build-depends:
, borsh
, bytestring
, containers
, generics-sop
, optics-core
, profunctors
, QuickCheck
, quickcheck-instances
, sop-core
, tasty
, tasty-quickcheck
, text
, wide-word