From 4ca308ed4cc5f27eb8704df44d5b877d0c73a0ce Mon Sep 17 00:00:00 2001 From: Erik de Castro Lopo Date: Mon, 31 Aug 2026 14:46:31 +1000 Subject: [PATCH 1/2] cabal.project: Update index-states --- cabal.project | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cabal.project b/cabal.project index b2e5f12c4d0..aa042fead01 100644 --- a/cabal.project +++ b/cabal.project @@ -13,8 +13,8 @@ repository cardano-haskell-packages -- See CONTRIBUTING for information about these, including some Nix commands -- you need to run if you change them index-state: - , hackage.haskell.org 2026-08-14T13:38:07Z - , cardano-haskell-packages 2026-08-25T16:32:51Z + , hackage.haskell.org 2026-08-31T02:51:03Z + , cardano-haskell-packages 2026-08-28T11:10:12Z constraints: -- haskell.nix patch does not work for 1.6.8 From 8ad300c2558708d5ff06c62c69719780cc577558 Mon Sep 17 00:00:00 2001 From: Erik de Castro Lopo Date: Mon, 31 Aug 2026 14:46:32 +1000 Subject: [PATCH 2/2] Add SRPs as needed to force crypton >= 1.1 --- cabal.project | 84 +++++++++++++++++++ .../cardano-node-chairman.cabal | 2 +- cardano-node/cardano-node.cabal | 2 +- cardano-submit-api/cardano-submit-api.cabal | 4 +- cardano-testnet/cardano-testnet.cabal | 4 +- 5 files changed, 90 insertions(+), 6 deletions(-) diff --git a/cabal.project b/cabal.project index aa042fead01..2f0bcdf07c6 100644 --- a/cabal.project +++ b/cabal.project @@ -21,6 +21,18 @@ constraints: -- grapesy currently depends on crypton-x509-system (>=1.6 && <1.7) , any.crypton-x509-system < 1.6.8 || >= 1.7 + -- EXPERIMENT: force cardano-crypto-class up to the 2.6.x line (which + -- requires crypton ^>=1.1) to see how far the crypton >= 1.1 / memory -> + -- ram migration gets. Several local packages pin cardano-crypto-class + -- ^>=2.5, so their bound needs an allow-newer below too. + , any.cardano-crypto-class ^>=2.6 + + -- EXPERIMENT: cardano-crypto-1.2.0 (the version the solver reaches for + -- otherwise) still uses the old `memory` package for ByteArrayAccess, + -- which doesn't unify with crypton-1.1.4's `ram`-based Digest instances. + -- cardano-crypto-1.4.0 (already in CHaP) has switched to ram >=0.22. + , any.cardano-crypto >= 1.4 + -- haskell.nix tries to use 0.7.1.5 for some reason , any.proto-lens >= 0.7.1.7 -- https://github.com/channable/alfred-margaret/pull/76 @@ -84,6 +96,28 @@ allow-newer: , io-sim:time , io-classes:time + -- EXPERIMENT: these packages pin cardano-crypto-class to <2.6 (either + -- ^>=2.5 or an explicit >=x.y && <2.6); let them accept the 2.6.x line + -- so crypton can move to >= 1.1. (cardano-api's own bound is already + -- ^>=2.6 on the erikd/crypton+ram SRP, and cardano-node/-chairman/ + -- cardano-submit-api/cardano-testnet's own bounds were widened to + -- ^>=2.5||^>=2.6 directly, so none of those need an entry here.) + , cardano-cli:cardano-crypto-class + , cardano-ledger-binary:cardano-crypto-class + , cardano-ledger-core:cardano-crypto-class + , cardano-ledger-mary:cardano-crypto-class + , cardano-ledger-shelley:cardano-crypto-class + , cardano-protocol:cardano-crypto-class + , cardano-protocol-tpraos:cardano-crypto-class + , kes-agent:cardano-crypto-class + , kes-agent-crypto:cardano-crypto-class + , ouroboros-consensus:cardano-crypto-class + + -- EXPERIMENT: cardano-cli (CHaP, unmodified) pins cardano-crypto-wrapper + -- ^>=1.7; let it accept the erikd/ram-based 1.8.0.0 SRP above. + -- (cardano-api's own bound is already ^>=1.7||^>=1.8, no entry needed.) + , cardano-cli:cardano-crypto-wrapper + -- cabal-allow-newer begin if impl(ghc >= 9.14) allow-newer: @@ -166,3 +200,53 @@ if impl(ghc >= 9.14) -- Do NOT add more source-repository-package stanzas here unless they are strictly -- temporary! Please read the section in CONTRIBUTING about updating dependencies. +-- grapesy PR #351 (merged, "Update dependencies where possible"): released +-- grapesy (1.1.1) pins crypton-x509-system to (>=1.6 && <1.7), which forces +-- crypton-connection down to 0.4.5, which in turn forces smtp-mail down to +-- 0.5.0.0, whose `crypton == 0.* || ^>= 1.0` bound is what has been blocking +-- the crypton >= 1.1 / memory -> ram migration. This (already-merged) PR +-- widens the crypton-x509-system bound to (>=1.6 && <1.10). TEMPORARY -- +-- remove once a release with this widened bound is on Hackage. +source-repository-package + type: git + location: https://github.com/well-typed/grapesy.git + tag: bd6af64f69ff89e3a8fc02e2c81262e648f4715d + subdir: grapesy + +-- cardano-ledger PR #5999 (erikd/ram): +-- https://github.com/IntersectMBO/cardano-ledger/pull/5999 +-- cardano-crypto-wrapper bumped to 1.8.0.0, crypton ^>=1.1, and +-- build-depends swapped from memory to ram (module names are identical +-- between the two packages, so no source-import changes were needed). +source-repository-package + type: git + location: https://github.com/IntersectMBO/cardano-ledger.git + tag: c69fe1783b9ef5d1c625b22d6ea87758da768a98 + subdir: eras/byron/crypto + +-- cardano-api PR #1292 (erikd/crypton+ram): +-- https://github.com/IntersectMBO/cardano-api/pull/1292 +-- now rebased onto ouroboros-consensus ^>=4.0||^>=4.1 / ouroboros-network +-- ^>=1.2 (matching what's resolved above), with cardano-crypto-class +-- ^>=2.6 and cardano-crypto-wrapper ^>=1.7||^>=1.8 accepted natively, and +-- no more `memory` dependency anywhere. +source-repository-package + type: git + location: https://github.com/IntersectMBO/cardano-api.git + tag: 59a31579ad6091973dc6ab7ee7c2fc17753a4776 + subdir: cardano-api + +-- cardano-api PR #1292 (erikd/crypton+ram): +-- https://github.com/IntersectMBO/cardano-api/pull/1292 +-- cardano-rpc lives in the same repo/commit as the cardano-api SRP above +-- and needs to move in lockstep with it -- CHaP's released +-- cardano-rpc-11.1.0.0 still depends on memory and also has an unrelated +-- API drift against this cardano-api's Cardano.Api.Consensus exports +-- (byronGenesis/byronProtocolParams/cardanoLedgerTransitionConfig), both +-- of which this PR's cardano-rpc has already been updated for. +source-repository-package + type: git + location: https://github.com/IntersectMBO/cardano-api.git + tag: 59a31579ad6091973dc6ab7ee7c2fc17753a4776 + subdir: cardano-rpc + diff --git a/cardano-node-chairman/cardano-node-chairman.cabal b/cardano-node-chairman/cardano-node-chairman.cabal index ad7d2db8659..72a2ae91d89 100644 --- a/cardano-node-chairman/cardano-node-chairman.cabal +++ b/cardano-node-chairman/cardano-node-chairman.cabal @@ -67,7 +67,7 @@ test-suite chairman-tests build-depends: , cardano-api , cardano-testnet - , cardano-crypto-class ^>=2.5 + , cardano-crypto-class ^>=2.5 || ^>=2.6 , data-default-class , filepath , hedgehog diff --git a/cardano-node/cardano-node.cabal b/cardano-node/cardano-node.cabal index f50385340cc..0fa92d5a689 100644 --- a/cardano-node/cardano-node.cabal +++ b/cardano-node/cardano-node.cabal @@ -135,7 +135,7 @@ library , bytestring , cardano-api ^>= 11.6 , cardano-data - , cardano-crypto-class ^>=2.5 + , cardano-crypto-class ^>=2.5 || ^>=2.6 , cardano-crypto-wrapper , cardano-git-rev ^>=0.2.2 , cardano-ledger-alonzo diff --git a/cardano-submit-api/cardano-submit-api.cabal b/cardano-submit-api/cardano-submit-api.cabal index 72a8278e1ec..2e4d602917b 100644 --- a/cardano-submit-api/cardano-submit-api.cabal +++ b/cardano-submit-api/cardano-submit-api.cabal @@ -42,7 +42,7 @@ library , cardano-api ^>= 11.6 , cardano-binary , cardano-cli ^>= 11.2.2 - , cardano-crypto-class ^>=2.5 + , cardano-crypto-class ^>=2.5 || ^>=2.6 , containers , ekg-core , http-media @@ -99,4 +99,4 @@ test-suite unit main-is: test.hs hs-source-dirs: test build-depends: base - , cardano-crypto-class ^>=2.5 + , cardano-crypto-class ^>=2.5 || ^>=2.6 diff --git a/cardano-testnet/cardano-testnet.cabal b/cardano-testnet/cardano-testnet.cabal index 3b6f4836e67..e4ced4007d8 100644 --- a/cardano-testnet/cardano-testnet.cabal +++ b/cardano-testnet/cardano-testnet.cabal @@ -43,7 +43,7 @@ library , bytestring , cardano-api ^>= 11.6 , cardano-cli:{cardano-cli, cardano-cli-test-lib} ^>= 11.2.2 - , cardano-crypto-class ^>=2.5 + , cardano-crypto-class ^>=2.5 || ^>=2.6 , cardano-crypto-wrapper , cardano-git-rev ^>= 0.2.2 , cardano-ledger-alonzo @@ -154,7 +154,7 @@ executable cardano-testnet main-is: cardano-testnet.hs - build-depends: cardano-crypto-class ^>=2.5 + build-depends: cardano-crypto-class ^>=2.5 || ^>=2.6 , cardano-cli , cardano-testnet , optparse-applicative-fork