diff --git a/cabal.project b/cabal.project index 7c73cf62f66..b7889873a8c 100644 --- a/cabal.project +++ b/cabal.project @@ -15,15 +15,11 @@ repository cardano-haskell-packages -- repeat the index-state for hackage to work around haskell.nix parsing limitation index-state: -- Bump this if you need newer packages from Hackage - , hackage.haskell.org 2026-06-29T22:49:53Z + , hackage.haskell.org 2026-07-20T21:55:18Z -- Bump this if you need newer packages from CHaP , cardano-haskell-packages 2026-07-02T10:10:00Z -active-repositories: - , :rest - , cardano-haskell-packages:override - packages: ./monoidal-synchronisation ./network-mux ./ouroboros-network @@ -79,3 +75,10 @@ if impl (ghc >= 9.14) -- https://github.com/serokell/haskell-with-utf8/issues/41 , with-utf8:base + +source-repository-package + type: git + location: https://github.com/IntersectMBO/io-classes-extra + tag: ba8515de4ac712799fae1654ffa17ca227af63f2 + --sha256: sha256-xLzHY6h+Jo+qTQvvFlNxncmlkN8v1qjUfZ1zY7Km10Y= + subdir: strict-checked-vars diff --git a/cardano-diffusion/cardano-diffusion.cabal b/cardano-diffusion/cardano-diffusion.cabal index 419ab3a5c38..3f12034410c 100644 --- a/cardano-diffusion/cardano-diffusion.cabal +++ b/cardano-diffusion/cardano-diffusion.cabal @@ -196,7 +196,7 @@ library contra-tracer, deepseq, dns, - io-classes:{io-classes, si-timers, strict-stm} ^>=1.8, + io-classes:{io-classes, si-timers, strict-stm} ^>=1.10, monoidal-synchronisation, network ^>=3.2.7, network-mux, @@ -330,7 +330,7 @@ library protocols bytestring >=0.10 && <0.13, cardano-diffusion:api, cborg >=0.2.1 && <0.3, - io-classes:{io-classes, si-timers} ^>=1.8, + io-classes:{io-classes, si-timers} ^>=1.10, ouroboros-network:{api, framework, protocols}, random, typed-protocols:{typed-protocols, cborg, stateful} ^>=1.2, @@ -573,7 +573,7 @@ library subscription containers >=0.5 && <0.9, contra-tracer ^>=0.2.1, deepseq, - io-classes:si-timers ^>=1.8.0.1, + io-classes:si-timers ^>=1.10, network-mux ^>=0.11.0.0, ouroboros-network:{api, framework}, @@ -618,7 +618,7 @@ library ping directory, dns, formatting, - io-classes:{io-classes, si-timers, strict-stm} ^>=1.8.0.1, + io-classes:{io-classes, si-timers, strict-stm} ^>=1.10, iproute ^>=1.7.15, network ^>=3.2.7, network-mux, diff --git a/flake.lock b/flake.lock index df112ed0381..561f1ddc2b2 100644 --- a/flake.lock +++ b/flake.lock @@ -172,11 +172,11 @@ "hackageNix": { "flake": false, "locked": { - "lastModified": 1782976946, - "narHash": "sha256-5HahZmuFlRH3bveusYWWTi3/dl2QjIpuHdAUCFRny+c=", + "lastModified": 1785398528, + "narHash": "sha256-dl5vmLjnVynFaniJ60YNZfDT7m/psLU1P/bj+gwlZt8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6b1f625198e7d1c0a62418084d45aa970cabfa21", + "rev": "cee34cd6eac747364751d1971080bc72c461506d", "type": "github" }, "original": { diff --git a/network-mux/network-mux.cabal b/network-mux/network-mux.cabal index 6d7381c4424..8e388f4508d 100644 --- a/network-mux/network-mux.cabal +++ b/network-mux/network-mux.cabal @@ -60,7 +60,7 @@ library containers >=0.5 && <0.9, contra-tracer ^>=0.2.1, formatting, - io-classes:{io-classes, si-timers, strict-stm} ^>=1.8, + io-classes:{io-classes, si-timers, strict-stm} ^>=1.10, monoidal-synchronisation >=0.1 && <0.2, network ^>=3.2.7, process ^>=1.6, @@ -68,7 +68,7 @@ library scientific, statistics-linreg >=0.3 && <0.4, strict, - time >=1.9.1 && <1.16, + time >=1.9.1 && <1.17, vector >=0.12 && <0.14, if os(windows) diff --git a/network-mux/test/Test/Mux.hs b/network-mux/test/Test/Mux.hs index 5738b856b70..a4d921769da 100644 --- a/network-mux/test/Test/Mux.hs +++ b/network-mux/test/Test/Mux.hs @@ -2487,7 +2487,6 @@ prop_mux_trailing_bytes , MonadMask m , MonadTimer m , MonadThrow (STM m) - , MonadSay m ) => BL.ByteString -> NonEmptyByteString diff --git a/ntp-client/ntp-client.cabal b/ntp-client/ntp-client.cabal index e43fa7c2a03..95a20e7d821 100644 --- a/ntp-client/ntp-client.cabal +++ b/ntp-client/ntp-client.cabal @@ -36,7 +36,7 @@ library contra-tracer ^>=0.2.1, network ^>=3.2.7, stm >=2.4 && <2.6, - time >=1.9.1 && <1.16, + time >=1.9.1 && <1.17, hs-source-dirs: src default-language: Haskell2010 @@ -67,7 +67,7 @@ test-suite test binary >=0.8 && <0.11, tasty, tasty-quickcheck, - time >=1.9.1 && <1.16, + time >=1.9.1 && <1.17, default-language: Haskell2010 default-extensions: ImportQualifiedPost diff --git a/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Limits.hs b/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Limits.hs index 12a197d1613..46cbf34ce37 100644 --- a/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Limits.hs +++ b/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Limits.hs @@ -280,8 +280,7 @@ driverWithLimitsRnd = mkDriverWithLimitsRnd runDecoderWithLimit Identity runDecoderWithLimit :: forall m bytes failure a. - ( Monad m - , MonadEvaluate m + ( MonadEvaluate m , NFData failure ) => Word @@ -333,8 +332,7 @@ runDecoderWithLimit limit size Channel{recv} trailing0 step = runAnnotatedDecoderWithLimit :: forall m bytes failure a. - ( Monad m - , MonadEvaluate m + ( MonadEvaluate m , Monoid bytes , NFData failure ) diff --git a/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Simple.hs b/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Simple.hs index e9894581de9..b5f4dff82f1 100644 --- a/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Simple.hs +++ b/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Simple.hs @@ -319,8 +319,7 @@ runPipelinedAnnotatedPeer tracer codec channel peer = -- | Run a codec incremental decoder 'DecodeStep' against a channel. It also -- takes any extra input data and returns any unused trailing data. -- -runDecoderWithChannel :: ( Monad m - , MonadEvaluate m +runDecoderWithChannel :: ( MonadEvaluate m , NFData failure ) => Channel m bytes @@ -338,8 +337,7 @@ runDecoderWithChannel Channel{recv} = go runAnnotatedDecoderWithChannel :: forall m bytes failure a. - ( Monad m - , MonadEvaluate m + ( MonadEvaluate m , Monoid bytes , NFData failure ) diff --git a/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Stateful.hs b/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Stateful.hs index 93c944e80f9..9fcb9ceb436 100644 --- a/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Stateful.hs +++ b/ouroboros-network/framework/lib/Ouroboros/Network/Driver/Stateful.hs @@ -76,8 +76,7 @@ import Control.Tracer (Tracer (..), contramap, traceWith) driverStateful :: forall ps (pr :: PeerRole) failure bytes (f :: ps -> Type) m. - ( MonadAsync m - , MonadEvaluate m + ( MonadEvaluate m , MonadMask m , NFData failure , Show failure @@ -134,8 +133,7 @@ driverStateful tracer Codec{encode, decode} channel@Channel{send} = do -- runPeer :: forall ps (st :: ps) pr failure bytes f m a . - ( MonadAsync m - , MonadEvaluate m + ( MonadEvaluate m , MonadMask m , NFData a , NFData failure @@ -163,8 +161,7 @@ runPeer tracer codec channel f peer = -- | Run a codec incremental decoder 'DecodeStep' against a channel. It also -- takes any extra input data and returns any unused trailing data. -- -runDecoderWithChannel :: ( Monad m - , MonadEvaluate m +runDecoderWithChannel :: ( MonadEvaluate m , NFData failure ) => Channel m bytes diff --git a/ouroboros-network/framework/lib/Ouroboros/Network/Mux.hs b/ouroboros-network/framework/lib/Ouroboros/Network/Mux.hs index 0904451bc23..dd3e617ba97 100644 --- a/ouroboros-network/framework/lib/Ouroboros/Network/Mux.hs +++ b/ouroboros-network/framework/lib/Ouroboros/Network/Mux.hs @@ -381,8 +381,7 @@ mkMiniProtocolCbFromPeer fn = -- mkMiniProtocolCbFromPeerSt :: forall (pr :: PeerRole) ps (f :: ps -> Type) (st :: ps) failure bytes ctx m a. - ( MonadAsync m - , MonadEvaluate m + ( MonadEvaluate m , MonadMask m , ShowProxy ps , forall (st' :: ps) stok. stok ~ StateToken st' => Show stok diff --git a/ouroboros-network/ouroboros-network.cabal b/ouroboros-network/ouroboros-network.cabal index 40c057d1f61..3c5bd205ceb 100644 --- a/ouroboros-network/ouroboros-network.cabal +++ b/ouroboros-network/ouroboros-network.cabal @@ -122,7 +122,7 @@ library api contra-tracer, deepseq, dns, - io-classes:{io-classes, si-timers, strict-stm} ^>=1.8, + io-classes:{io-classes, si-timers, strict-stm} ^>=1.10, iproute ^>=1.7.15, measures, network ^>=3.2.7, @@ -315,7 +315,7 @@ library dns, formatting, hashable, - io-classes:{io-classes, mtl, si-timers, strict-stm} ^>=1.8 || ^>=1.9, + io-classes:{io-classes, mtl, si-timers, strict-stm} ^>=1.10, iproute, monoidal-synchronisation, mtl, @@ -392,7 +392,7 @@ library framework deepseq, formatting, hashable, - io-classes:{io-classes, si-timers, strict-stm} ^>=1.8, + io-classes:{io-classes, si-timers, strict-stm} ^>=1.10, monoidal-synchronisation ^>=0.1.0.7, network ^>=3.2.7, network-mux ^>=0.11.0.0, @@ -455,7 +455,7 @@ library tests-lib deepseq, deque ^>=0.4, formatting, - io-classes:{io-classes, si-timers, strict-stm} ^>=1.8, + io-classes:{io-classes, si-timers, strict-stm} ^>=1.10, io-sim, network-mux, ouroboros-network:api, @@ -854,7 +854,7 @@ library protocols containers, deepseq, formatting, - io-classes:{io-classes, si-timers} ^>=1.8, + io-classes:{io-classes, si-timers} ^>=1.10, nothunks, ouroboros-network:api, quiet,