Skip to content

Commit

Permalink
Revise ouroboros-network-0.16 (#776)
Browse files Browse the repository at this point in the history
  • Loading branch information
jasagredo authored May 29, 2024
1 parent e128f07 commit a441798
Show file tree
Hide file tree
Showing 2 changed files with 385 additions and 0 deletions.
4 changes: 4 additions & 0 deletions _sources/ouroboros-network/0.16.0.0/meta.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
timestamp = 2024-05-07T20:33:59Z
github = { repo = "intersectmbo/ouroboros-network", rev = "c5314093f33c01f910be59b24f092be8ceeff9b1" }
subdir = 'ouroboros-network'

[[revisions]]
number = 1
timestamp = 2024-05-29T10:15:00Z
381 changes: 381 additions & 0 deletions _sources/ouroboros-network/0.16.0.0/revisions/1.cabal
Original file line number Diff line number Diff line change
@@ -0,0 +1,381 @@
cabal-version: 3.0
name: ouroboros-network
version: 0.16.0.0
synopsis: A networking layer for the Ouroboros blockchain protocol
description: A networking layer for the Ouroboros blockchain protocol.
license: Apache-2.0
license-files: LICENSE
NOTICE
copyright: 2019-2023 Input Output Global Inc (IOG), 2023-2024 Intersect
author: Alexander Vieth, Marcin Szamotulski, Duncan Coutts
maintainer: [email protected]
category: Network
build-type: Simple
extra-doc-files: CHANGELOG.md

flag asserts
description: Enable assertions
manual: False
default: False

source-repository head
type: git
location: https://github.com/intersectmbo/ouroboros-network

library
hs-source-dirs: src

-- At this experiment/prototype stage everything is exposed.
-- This has to be tidied up once the design becomes clear.
exposed-modules:
Ouroboros.Network.BlockFetch
Ouroboros.Network.BlockFetch.Client
Ouroboros.Network.BlockFetch.ClientRegistry
Ouroboros.Network.BlockFetch.ClientState
Ouroboros.Network.BlockFetch.Decision
Ouroboros.Network.BlockFetch.DeltaQ
Ouroboros.Network.BlockFetch.State
Ouroboros.Network.DeltaQ
Ouroboros.Network.Diffusion
Ouroboros.Network.Diffusion.Configuration
Ouroboros.Network.Diffusion.P2P
Ouroboros.Network.Diffusion.NonP2P
Ouroboros.Network.Diffusion.Policies
Ouroboros.Network.ExitPolicy
Ouroboros.Network.KeepAlive
Ouroboros.Network.NodeToNode
Ouroboros.Network.NodeToClient
Ouroboros.Network.Tracers
Ouroboros.Network.PeerSelection.Types
Ouroboros.Network.PeerSelection.LedgerPeers
Ouroboros.Network.PeerSelection.PublicRootPeers
Ouroboros.Network.PeerSelection.PeerMetric
Ouroboros.Network.PeerSelection.PeerSelectionActions
Ouroboros.Network.PeerSelection.PeerStateActions
Ouroboros.Network.PeerSelection.Governor
Ouroboros.Network.PeerSelection.State.EstablishedPeers
Ouroboros.Network.PeerSelection.State.KnownPeers
Ouroboros.Network.PeerSelection.State.LocalRootPeers
Ouroboros.Network.PeerSelection.RootPeersDNS
Ouroboros.Network.PeerSelection.RootPeersDNS.DNSActions
Ouroboros.Network.PeerSelection.RootPeersDNS.DNSSemaphore
Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers
Ouroboros.Network.PeerSelection.RootPeersDNS.PublicRootPeers
Ouroboros.Network.PeerSharing
Ouroboros.Network.TxSubmission.Inbound
Ouroboros.Network.TxSubmission.Mempool.Reader
Ouroboros.Network.TxSubmission.Outbound
other-modules: Ouroboros.Network.Diffusion.Common
Ouroboros.Network.PeerSelection.Governor.ActivePeers
Ouroboros.Network.PeerSelection.Governor.EstablishedPeers
Ouroboros.Network.PeerSelection.Governor.KnownPeers
Ouroboros.Network.PeerSelection.Governor.BigLedgerPeers
Ouroboros.Network.PeerSelection.Governor.Monitor
Ouroboros.Network.PeerSelection.Governor.RootPeers
Ouroboros.Network.PeerSelection.Governor.Types
Ouroboros.Network.PeerSelection.LedgerPeers.Common
Ouroboros.Network.PeerSelection.RootPeersDNS.LedgerPeers
Ouroboros.Network.PeerSelection.Churn
Ouroboros.Network.Diffusion.Utils
reexported-modules: Ouroboros.Network.AnchoredFragment,
Ouroboros.Network.AnchoredSeq,
Ouroboros.Network.Magic,
Ouroboros.Network.NodeToClient.Version,
Ouroboros.Network.NodeToNode.Version

default-language: Haskell2010
default-extensions: ImportQualifiedPost
other-extensions: BangPatterns,
DataKinds,
EmptyCase,
ExistentialQuantification,
FlexibleContexts,
FlexibleInstances,
FunctionalDependencies,
GADTs,
GADTSyntax,
GeneralizedNewtypeDeriving,
MultiParamTypeClasses,
NamedFieldPuns,
OverloadedStrings,
PolyKinds,
RankNTypes,
RecordWildCards,
ScopedTypeVariables,
TemplateHaskell,
TupleSections,
TypeApplications,
TypeFamilies,
TypeInType
build-depends: base >=4.14 && <4.20,
async >=2.2 && <2.3,
bytestring >=0.10 && <0.13,
cborg >=0.2.1 && <0.3,
containers,
deepseq,
dns,
hashable,
iproute,
mtl,
network ^>=3.1.4,
nothunks,
psqueues >=0.2.3 && <0.3,
random,

cardano-prelude,
cardano-slotting,
cardano-strict-containers,
contra-tracer,
monoidal-synchronisation,
strict-checked-vars ^>= 0.2,

io-classes ^>=1.4.1,
io-classes-mtl >=0.1 && <0.1.2,
network-mux,
si-timers,
ouroboros-network-api ^>=0.7.2,
ouroboros-network-framework ^>=0.13.1,
ouroboros-network-protocols ^>=0.8,
strict-stm,
typed-protocols ^>=0.1.1,
if !os(windows)
build-depends: directory,
unix

ghc-options: -Wall
-Wno-unticked-promoted-constructors
-Wcompat
-Wincomplete-uni-patterns
-Wincomplete-record-updates
-Wpartial-fields
-Widentities
-Wredundant-constraints
-Wunused-packages
if flag(asserts)
ghc-options: -fno-ignore-asserts


-- Simulation Test Library
library sim-tests-lib
default-language: Haskell2010
default-extensions: ImportQualifiedPost
visibility: public
hs-source-dirs: sim-tests-lib
build-depends: base >=4.14 && <4.20,
bytestring,
QuickCheck,
quickcheck-monoids,
aeson,
array,
cborg,
containers,
deepseq,
dns,
hashable,
iproute,
mtl,
network,
pipes,
pretty-simple,
psqueues,
random,
serialise,
tasty,
tasty-hunit,
tasty-quickcheck,
text,
time,

cardano-prelude,
cardano-slotting,
contra-tracer,
nothunks,

io-classes,
io-sim,
monoidal-synchronisation,
network-mux,
ouroboros-network,
ouroboros-network-api,
ouroboros-network-framework,
ouroboros-network-mock,
ouroboros-network-protocols,
ouroboros-network-protocols:testlib,
ouroboros-network-framework:testlib,
ouroboros-network-testing ^>= 0.6.0,
si-timers,
strict-stm,
typed-protocols,
typed-protocols-examples,
exposed-modules: Ouroboros.Network.BlockFetch.Examples
Ouroboros.Network.MockNode
Test.Ouroboros.Network.BlockFetch
Test.Ouroboros.Network.Diffusion.Node
Test.Ouroboros.Network.Diffusion.Node.ChainDB
Test.Ouroboros.Network.Diffusion.Node.MiniProtocols
Test.Ouroboros.Network.Diffusion.Node.NodeKernel
Test.Ouroboros.Network.Diffusion.Policies
Test.Ouroboros.Network.KeepAlive
Test.Ouroboros.Network.LedgerPeers
Test.Ouroboros.Network.MockNode
Test.Ouroboros.Network.Mux
Test.Ouroboros.Network.NodeToClient.Version
Test.Ouroboros.Network.NodeToNode.Version
Test.Ouroboros.Network.Orphans
Test.Ouroboros.Network.PeerSelection
Test.Ouroboros.Network.PeerSelection.Instances
Test.Ouroboros.Network.PeerSelection.Json
Test.Ouroboros.Network.PeerSelection.KnownPeers
Test.Ouroboros.Network.PeerSelection.LocalRootPeers
Test.Ouroboros.Network.PeerSelection.MockEnvironment
Test.Ouroboros.Network.PeerSelection.PeerGraph
Test.Ouroboros.Network.PeerSelection.PeerMetric
Test.Ouroboros.Network.PeerSelection.RootPeersDNS
Test.Ouroboros.Network.PeerSelection.PublicRootPeers
Test.Ouroboros.Network.PeerState
Test.Ouroboros.Network.Testnet
Test.Ouroboros.Network.Testnet.Simulation.Node
Test.Ouroboros.Network.TxSubmission
Test.Ouroboros.Network.Version

ghc-options: -Wall
-Wno-unticked-promoted-constructors
-Wcompat
-Wincomplete-uni-patterns
-Wincomplete-record-updates
-Wpartial-fields
-Widentities
-Wunused-packages
-fno-ignore-asserts

-- Simulation tests, and IO tests which don't require native system calls.
-- (i.e. they don't require system call API provided by `Win32-network` or
-- `network` dependency). test-suite sim-tests
test-suite sim-tests
default-language: Haskell2010
default-extensions: ImportQualifiedPost
type: exitcode-stdio-1.0
hs-source-dirs: sim-tests
main-is: Main.hs
build-depends: base >=4.14 && <4.20,
tasty,
tasty-hunit,
tasty-quickcheck,
with-utf8,

ouroboros-network-protocols:testlib,
ouroboros-network:sim-tests-lib
ghc-options: -Wall
-Wno-unticked-promoted-constructors
-fno-ignore-asserts
-threaded
-rtsopts
+RTS -T -RTS

-- Tests which require system calls provided by `Win32-network` or `network`
-- library. These tests are compiled natively & run on all supported
-- platforms: x86_64-w64-mingw32 (Windows), x86_64-linux, x86-64-darwin and
-- aarch64-darwin.
test-suite io-tests
type: exitcode-stdio-1.0
hs-source-dirs: io-tests
main-is: Main.hs
other-modules: Test.Ouroboros.Network.Pipe
Test.Ouroboros.Network.Socket
default-language: Haskell2010
default-extensions: ImportQualifiedPost
build-depends: base >=4.14 && <4.20,
bytestring,
QuickCheck,
network,
serialise,
tasty,
tasty-quickcheck,

contra-tracer,

io-classes,
network-mux,
ouroboros-network,
ouroboros-network-api,
ouroboros-network-framework,
ouroboros-network-mock,
ouroboros-network-protocols,
ouroboros-network-protocols:testlib,
ouroboros-network-framework:testlib,
ouroboros-network-testing ^>= 0.6.1.0,
si-timers,
strict-stm,
with-utf8,

if os(windows)
build-depends: Win32-network <0.2.0.0,
Win32 >= 2.5.4.1 && <3.0
else
build-depends: process

ghc-options: -Wall
-Wno-unticked-promoted-constructors
-fno-ignore-asserts
-threaded
-rtsopts
+RTS -T -RTS

executable demo-chain-sync
hs-source-dirs: demo
main-is: chain-sync.hs
build-depends: base >=4.14 && <4.20,
async,
bytestring,
containers,
directory,
infinite-list,
optparse-applicative,
random,
serialise,
stm,

contra-tracer,

typed-protocols,
strict-stm,
ouroboros-network-api,
ouroboros-network-framework,
ouroboros-network-mock,
ouroboros-network-protocols,
ouroboros-network

default-language: Haskell2010
default-extensions: ImportQualifiedPost
ghc-options: -Wall
-threaded
-rtsopts

benchmark sim-benchmarks
default-language: Haskell2010
default-extensions: ImportQualifiedPost
type: exitcode-stdio-1.0
hs-source-dirs: bench
main-is: Main.hs
build-depends: base,
tasty-bench >=0.3.5,

ouroboros-network:sim-tests-lib

ghc-options: -Wall
-Wno-unticked-promoted-constructors
-Wcompat
-Wincomplete-uni-patterns
-Wincomplete-record-updates
-Wpartial-fields
-Widentities
-Wunused-packages
-fno-ignore-asserts
-with-rtsopts=-A32m
+RTS -T -RTS

-- We use this option to avoid skewed results due to changes in cache-line
-- alignment. See
-- https://github.com/Bodigrim/tasty-bench#comparison-against-baseline
if impl(ghc >=8.6)
ghc-options: -fproc-alignment=64

0 comments on commit a441798

Please sign in to comment.