Closed kk-hainq closed 2 years ago
This is caused by https://github.com/input-output-hk/haskell.nix/issues/1280, which is indeed annoying.
@angerman it would be nice to fix that, so things at least build with unpatched GHCs.
It's on the agenda to get vanilla GHCs in.
Workaround merged, but it would be good to fix this in haskell.nix, in particular the workaround is fragile and will break if we update our GHC.
Describe the feature you'd like
We would like to build anything that depends on
plutus
(notably things that depend onplutus-apps
) with non-patched GHC outside ofhaskell.nix
.This repository is using a patched GHC: https://github.com/input-output-hk/plutus/blob/be021b6195a72a7ab6c2c5a898ab8a5cb0680506/nix/pkgs/haskell/default.nix#L31-L34
Which didn't have any API conflicts with non-patched GHCs until #4165 introduced
GenTickish
. This essentially forces the same patched GHC for every code base that hasplutus
as a dependency in any way, even when noTickish
machinery or even Plutus compilation is required. For example, a chain index client that only reads and prints data cannot be compiled by standard GHCs. This is not nice (see https://github.com/input-output-hk/plutus-apps/issues/180).Not very clean, but a potential fix is just:
Describe alternatives you've considered
We either have to Nixify all related codebases or maintain an ad-hoc GHC to bump or use
plutus
and related dependencies. Both are not desirable in several cases.I guess something like:
Also counts. It's still Nix & patched GHC, but at least without the
.nix
files.