erebos-0.1.2: erebos.cabal
Cabal-Version: 2.2
Name: erebos
Version: 0.1.2
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
Homepage: http://erebosprotocol.net
Author: Roman Smrž <roman.smrz@seznam.cz>
Maintainer: roman.smrz@seznam.cz
Category: Network
Stability: experimental
Build-type: Simple
Extra-Doc-Files:
README.md
CHANGELOG.md
Extra-Source-Files:
src/Erebos/ICE/pjproject.h
Flag ice
Description: Enable peer discovery with ICE support using pjproject
source-repository head
type: git
location: git://erebosprotocol.net/erebos
common common
ghc-options: -Wall
build-depends:
base >=4.13 && <4.19,
default-extensions:
DefaultSignatures
ExistentialQuantification
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GeneralizedNewtypeDeriving
ImportQualifiedPost
LambdaCase
MultiWayIf
RankNTypes
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TypeOperators
TupleSections
TypeApplications
TypeFamilies
TypeFamilyDependencies
other-extensions:
CPP
ForeignFunctionInterface
OverloadedStrings
RecursiveDo
TemplateHaskell
UndecidableInstances
if flag(ice)
cpp-options: -DENABLE_ICE_SUPPORT
library
import: common
default-language: Haskell2010
hs-source-dirs: src
exposed-modules:
Erebos.Attach
Erebos.Channel
Erebos.Contact
Erebos.Identity
Erebos.Message
Erebos.Network
Erebos.Network.Protocol
Erebos.Pairing
Erebos.PubKey
Erebos.Service
Erebos.Set
Erebos.State
Erebos.Storage
Erebos.Storage.Key
Erebos.Storage.Merge
Erebos.Sync
-- Used by test tool:
Erebos.Storage.Internal
other-modules:
Erebos.Flow
Erebos.Storage.List
Erebos.Util
c-sources:
src/Erebos/Network/ifaddrs.c
include-dirs:
src
if flag(ice)
exposed-modules:
Erebos.Discovery
Erebos.ICE
c-sources:
src/Erebos/ICE/pjproject.c
include-dirs:
src/Erebos/ICE
includes:
src/Erebos/ICE/pjproject.h
build-tool-depends: c2hs:c2hs
pkgconfig-depends: libpjproject >= 2.9
build-depends:
async >=2.2 && <2.3,
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,
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,
iproute >=1.7.12 && <1.8,
memory >=0.14 && <0.19,
mtl >=2.2 && <2.4,
network >= 3.1 && <3.2,
stm >=2.5 && <2.6,
text >= 1.2 && <2.2,
time >= 1.8 && <1.14,
unix >=2.7 && <2.9,
uuid >=1.3 && <1.4,
zlib >=0.6 && <0.8
executable erebos
import: common
default-language: Haskell2010
hs-source-dirs: main
ghc-options: -threaded
main-is: Main.hs
other-modules:
Paths_erebos
Test
Version
Version.Git
autogen-modules:
Paths_erebos
build-depends:
bytestring,
cryptonite,
directory,
erebos,
haskeline >=0.7 && <0.9,
mtl,
network,
process >=1.6 && <1.7,
template-haskell >=2.18 && <2.22,
text,
time,
transformers >= 0.5 && <0.7,