IntersectMBO / plutus

The Plutus language implementation and tools
Apache License 2.0
1.55k stars 466 forks source link

Remove PyF as it depends on GHC and causes depenecy conflicts downstream #6208

Closed Unisay closed 3 weeks ago

Unisay commented 3 weeks ago

Example of the dependency conflict caused by the PyF:

       last 25 log lines:
       > [__6] trying: base-4.18.2.0/installed-4.18.2.0 (dependency of
       > byron-spec-chain)
       > [__7] trying: cardano-api-8.47.0.0 (user goal)
       > [__8] trying: plutus-ledger-api-1.29.0.0 (dependency of cardano-api)
       > [__9] trying: PyF-0.11.3.0 (dependency of plutus-ledger-api)
       > [_10] trying: ghc-9.6.4/installed-9.6.4 (dependency of PyF)
       > [_11] trying: ouroboros-network-framework-0.13.2.0 (dependency of cardano-api)
       > [_12] trying: io-classes-1.5.0.0 (dependency of ouroboros-network-framework)
       > [_13] next goal: Win32-network (dependency of ouroboros-network-framework)
       > [_13] rejecting: Win32-network-0.2.0.0 (conflict: time =>
       > Win32==2.13.3.0/installed-2.13.3.0, Win32-network => Win32^>=2.14)
       > [_13] rejecting: Win32-network-0.1.1.1 (conflict: ouroboros-network-framework
       > => Win32-network^>=0.2)
       > [_13] skipping: Win32-network-0.1.1.0, Win32-network-0.1.0.0 (has the same
       > characteristics that caused the previous version to fail: excluded by
       > constraint '^>=0.2' from 'ouroboros-network-framework')
       > [_13] fail (backjumping, conflict set: Win32-network,
       > ouroboros-network-framework, time)
       > After searching the rest of the dependency tree exhaustively, these were the
       > goals I've had most trouble fulfilling: ghc, PyF, plutus-ledger-api, time,
       > cardano-api, io-classes, ouroboros-network-api, base,
       > ouroboros-network-framework, pretty, template-haskell, Win32-network,
       > hedgehog, byron-spec-chain, microlens-th
       > Try running with --minimize-conflict-set to improve the error message.
       > )

I have removed the PyF dependency as it was only used in 2 places. (It is ok to concatenate a few strings without using a QuasiQuoter).