obsidiansystems / obelisk

Functional reactive web and mobile applications, with batteries included.
https://reflex-frp.org
BSD 3-Clause "New" or "Revised" License
959 stars 107 forks source link

Support ghc 9.6 in cabal build of skeleton and deps #1075

Closed alexfmpe closed 1 week ago

alexfmpe commented 7 months ago

Just the usual backport of mtl un-re-exporting and shuffling around bindings to get around TH splices breaking visibility.

~Pretty much everything is made to build up to 9.6 with backwards-compatible changes, except dependencies of ob, namely obelisk-selftest and obelisk-command, as the later's deps (e.g. git/hnix) won't build even with --allow-newer~

Does not need https://github.com/reflex-frp/reflex-dom/pull/469 to be merged, only to take advantage of the recent version

`nix-build release.nix -A build. worked for

alexfmpe commented 6 months ago

Hadn't noticed I was relying on https://github.com/obsidiansystems/obelisk/blob/135bfd7422b856c146b5cd5dacfe584f0621825e/lib/cabal.project.dev#L25-L26 until hitting build failures when building obelisk libs with nix.

Having -Werror on the packages but -Wwarn in cabal.project makes for downstream pain

alexfmpe commented 6 months ago

Ah hmm well, technically to build without nix I have to comment out the obelisk-generated-static bits since that's done by ob and obelisk-command depends on nix-thunk which cannot be built without nix. Since selftest also depends on obelisk-command this PR goes as far as cabal can go.