diff options
Diffstat (limited to 'erebos.cabal')
-rw-r--r-- | erebos.cabal | 86 |
1 files changed, 62 insertions, 24 deletions
diff --git a/erebos.cabal b/erebos.cabal index 45e6526..f001a24 100644 --- a/erebos.cabal +++ b/erebos.cabal @@ -1,20 +1,20 @@ Cabal-Version: 3.0 Name: erebos -Version: 0.1.4 +Version: 0.1.8.1 Synopsis: Decentralized messaging and synchronization Description: Library and simple CLI interface implementing the Erebos identity management, decentralized messaging and synchronization protocol, along with local storage. - . + Erebos identity is based on locally stored cryptographic keys, all communication is end-to-end encrypted. Multiple devices can be attached to the same identity, after which they function interchangeably, without any one being in any way "primary"; messages and other state data are then synchronized automatically whenever the devices are able to connect with one another. - . + See README for usage of the CLI tool. License: BSD-3-Clause License-File: LICENSE @@ -29,6 +29,7 @@ Extra-Doc-Files: CHANGELOG.md Extra-Source-Files: src/Erebos/ICE/pjproject.h + src/Erebos/Network/ifaddrs.h Flag ice Description: Enable peer discovery with ICE support using pjproject @@ -38,13 +39,18 @@ Flag ci default: False manual: True +Flag cryptonite + description: Use deprecated 'cryptonite' package + default: False + source-repository head type: git - location: git://erebosprotocol.net/erebos + location: https://code.erebosprotocol.net/erebos common common ghc-options: -Wall + -Wno-x-partial -fdefer-typed-holes if flag(ci) @@ -54,7 +60,7 @@ common common -Wno-error=unused-imports build-depends: - base >=4.13 && <4.20, + base ^>= { 4.15, 4.16, 4.17, 4.18, 4.19, 4.20, 4.21 }, default-extensions: DefaultSignatures @@ -94,40 +100,50 @@ library hs-source-dirs: src exposed-modules: Erebos.Attach - Erebos.Channel Erebos.Chatroom Erebos.Contact Erebos.Conversation + Erebos.DirectMessage + Erebos.Discovery + Erebos.Error Erebos.Identity - Erebos.Message Erebos.Network - Erebos.Network.Protocol + Erebos.Object Erebos.Pairing Erebos.PubKey Erebos.Service + Erebos.Service.Stream Erebos.Set Erebos.State + Erebos.Storable Erebos.Storage + Erebos.Storage.Backend + Erebos.Storage.Head Erebos.Storage.Key Erebos.Storage.Merge Erebos.Sync - -- Used by test tool: - Erebos.Storage.Internal other-modules: Erebos.Flow - Erebos.Storage.List + Erebos.Network.Channel + Erebos.Network.Protocol + Erebos.Object.Internal + Erebos.Storage.Disk + Erebos.Storage.Internal + Erebos.Storage.Memory Erebos.Storage.Platform + Erebos.UUID Erebos.Util c-sources: src/Erebos/Network/ifaddrs.c include-dirs: src + includes: + src/Erebos/Network/ifaddrs.h if flag(ice) exposed-modules: - Erebos.Discovery Erebos.ICE c-sources: src/Erebos/ICE/pjproject.c @@ -143,25 +159,35 @@ library binary >=0.8 && <0.11, bytestring >=0.10 && <0.13, clock >=0.8 && < 0.9, - containers >= 0.6 && <0.8, - cryptonite >=0.25 && <0.31, + containers ^>= { 0.6, 0.7, 0.8 }, deepseq >= 1.4 && <1.6, directory >= 1.3 && <1.4, filepath >=1.4 && <1.6, - hashable >=1.3 && <1.5, - hashtables >=1.2 && <1.4, - hinotify >=0.4 && <0.5, + fsnotify ^>= { 0.3, 0.4 }, + hashable ^>= { 1.3, 1.4, 1.5 }, + hashtables ^>= { 1.2, 1.3, 1.4 }, iproute >=1.7.12 && <1.8, memory >=0.14 && <0.19, mtl >=2.2 && <2.4, - network >= 3.1 && <3.2, + network ^>= { 3.1, 3.2 }, stm >=2.5 && <2.6, text >= 1.2 && <2.2, - time >= 1.8 && <1.14, - uuid >=1.3 && <1.4, + time ^>= { 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14 }, + uuid-types ^>= { 1.0.4 }, zlib >=0.6 && <0.8 - if true + if !flag(cryptonite) + build-depends: + crypton ^>= { 0.34, 1.0 }, + else + build-depends: + cryptonite >=0.25 && <0.31, + + if os(windows) + hs-source-dirs: src/windows + build-depends: + Win32 ^>= { 2.14 }, + else hs-source-dirs: src/unix build-depends: unix ^>= { 2.7, 2.8 }, @@ -175,23 +201,35 @@ executable erebos main-is: Main.hs other-modules: Paths_erebos + State + Terminal Test Test.Service Version Version.Git + WebSocket autogen-modules: Paths_erebos build-depends: + ansi-terminal ^>= { 0.11, 1.0, 1.1 }, bytestring, - cryptonite, directory, erebos, - haskeline >=0.7 && <0.9, mtl, network, process >=1.6 && <1.7, - template-haskell >=2.17 && <2.22, + stm, + template-haskell ^>= { 2.17, 2.18, 2.19, 2.20, 2.21, 2.22, 2.23 }, text, time, transformers >= 0.5 && <0.7, + uuid-types, + websockets ^>= { 0.12.7, 0.13 }, + + if !flag(cryptonite) + build-depends: + crypton, + else + build-depends: + cryptonite, |