From 284e654ccadaebd1ae0eb95fe222d3d48e9d0c53 Mon Sep 17 00:00:00 2001 From: Erik de Castro Lopo Date: Thu, 12 Sep 2024 07:02:39 +1000 Subject: [PATCH] Make it build with ghc-9.10 --- cabal.project | 25 ++++++++----------- .../Test/Cardano/Db/Mock/Property/Property.hs | 2 +- .../DbSync/Era/Shelley/Generic/Tx/Alonzo.hs | 8 +++--- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/cabal.project b/cabal.project index 941d8e2b8..0566b1a9a 100644 --- a/cabal.project +++ b/cabal.project @@ -10,8 +10,8 @@ repository cardano-haskell-packages d4a35cd3121aa00d18544bb0ac01c3e1691d618f462c46129271bccf39f7e8ee index-state: - , hackage.haskell.org 2024-09-10T19:44:01Z - , cardano-haskell-packages 2024-09-06T13:43:41Z + , hackage.haskell.org 2024-09-11T05:54:39Z + , cardano-haskell-packages 2024-09-10T13:49:28Z packages: cardano-db @@ -68,11 +68,18 @@ package snap-server flags: -openssl allow-newer: - swagger2:aeson + , swagger2:aeson + -- The version of ouroboros-consensus specified by cardano-node uses an earlier version of + -- quickcheck-state-machine that does not compile with ghc-9.10 so we allow a never version + -- that builds with ghc-9.10 (and earlier). + , ouroboros-consensus:quickcheck-state-machine constraints: + , cardano-node ^>= 9.1.1 -- STM 2.5.2 is broken: https://github.com/haskell/stm/issues/76 , stm >= 2.5.3.1 + -- Earlier versions do not compile with ghc-9.10. + , quickcheck-state-machine ^>= 0.10 -- --------------------------------------------------------- @@ -80,15 +87,3 @@ constraints: -- when using the "cabal" wrapper script provided by nix-shell. -- --------------------------- 8< -------------------------- -- Please do not put any `source-repository-package` clause above this line. - -source-repository-package - type: git - location: https://github.com/IntersectMBO/cardano-node - tag: efd560070aaf042d1eb4680ae37fc607c7742319 - --sha256: sha256-VIwEjpaGk09+dAcKELjLSR2OP3qBCWTGHpd0SBjgbVc= - subdir: - cardano-node - cardano-submit-api - trace-dispatcher - trace-forward - trace-resources diff --git a/cardano-chain-gen/test/Test/Cardano/Db/Mock/Property/Property.hs b/cardano-chain-gen/test/Test/Cardano/Db/Mock/Property/Property.hs index 58aba6032..aa75b72be 100644 --- a/cardano-chain-gen/test/Test/Cardano/Db/Mock/Property/Property.hs +++ b/cardano-chain-gen/test/Test/Cardano/Db/Mock/Property/Property.hs @@ -286,7 +286,7 @@ sm interpreter mockServer dbSync = prop_empty_blocks :: IOManager -> [(Text, Text)] -> Property prop_empty_blocks iom knownMigrations = withMaxSuccess 20 $ noShrinking $ forAllCommands smSymbolic (Just 20) $ \cmds -> monadicIO $ do (hist, res) <- run $ runAction $ \interpreter mockServer dbSync -> do - (hist, _model, res) <- runCommands' (pure $ sm interpreter mockServer dbSync) cmds + (hist, _model, res) <- runCommands' (sm interpreter mockServer dbSync) cmds pure (hist, res) prettyCommands smSymbolic hist (checkCommandNames cmds (res === Ok)) where diff --git a/cardano-db-sync/src/Cardano/DbSync/Era/Shelley/Generic/Tx/Alonzo.hs b/cardano-db-sync/src/Cardano/DbSync/Era/Shelley/Generic/Tx/Alonzo.hs index bbe8e349c..4b551fda4 100644 --- a/cardano-db-sync/src/Cardano/DbSync/Era/Shelley/Generic/Tx/Alonzo.hs +++ b/cardano-db-sync/src/Cardano/DbSync/Era/Shelley/Generic/Tx/Alonzo.hs @@ -38,7 +38,7 @@ import Cardano.DbSync.Era.Shelley.Generic.Witness import Cardano.DbSync.Types (DataHash) import qualified Cardano.Ledger.Address as Ledger import Cardano.Ledger.Allegra.Scripts (Timelock) -import Cardano.Ledger.Alonzo.Scripts (AsIx (..), ExUnits (..), PlutusPurpose (..), txscriptfee, unPlutusBinary) +import Cardano.Ledger.Alonzo.Scripts (AsIx (..), ExUnits (..), PlutusPurpose, txscriptfee, unPlutusBinary) import qualified Cardano.Ledger.Alonzo.Scripts as Alonzo import qualified Cardano.Ledger.Alonzo.Tx as Alonzo import Cardano.Ledger.Alonzo.TxAuxData (AlonzoTxAuxData (..), getAlonzoTxAuxDataScripts) @@ -265,7 +265,7 @@ resolveRedeemers ioExtraPlutus mprices tx toCert = mkPurpose = \case Strict.SNothing -> Nothing - Strict.SJust a -> toAlonzoPurpose txBody $ hoistPlutusPurpose Alonzo.toAsItem a + Strict.SJust a -> toAlonzoPurpose txBody $ Alonzo.hoistPlutusPurpose Alonzo.toAsItem a handleTxInPtr :: Word64 -> Ledger.TxIn StandardCrypto -> RedeemerMaps -> (RedeemerMaps, Maybe (Either TxIn ByteString)) handleTxInPtr rdmrIx txIn mps = case Map.lookup txIn (rmInps mps) of @@ -331,7 +331,7 @@ getPlutusSizes :: ( Core.EraTx era , Core.TxWits era ~ Alonzo.AlonzoTxWits era , Core.Script era ~ Alonzo.AlonzoScript era - , AlonzoEraScript era + , Alonzo.AlonzoEraScript era ) => Core.Tx era -> [Word64] @@ -341,7 +341,7 @@ getPlutusSizes tx = tx ^. (Core.witsTxL . Alonzo.scriptAlonzoTxWitsL) -- | Returns Nothing for non-plutus scripts. -getPlutusScriptSize :: AlonzoEraScript era => Alonzo.AlonzoScript era -> Maybe Word64 +getPlutusScriptSize :: Alonzo.AlonzoEraScript era => Alonzo.AlonzoScript era -> Maybe Word64 getPlutusScriptSize script = case script of Alonzo.TimelockScript {} -> Nothing