-
Notifications
You must be signed in to change notification settings - Fork 166
WIP: Switch to ghc (js) 9.12 via nixpkgs #846
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
Hi, is reflex-dom compiling on your branch? I used the
Looking at the full trace suggest that reflex-dom is the problem:
(I'm new to reflex, so maybe I'm just doing something stupid.) |
Hey. Yes, reflex-dom compiles on my branch. However I haven’t tried the work-on script and it might need adapting. |
Just to confirm, is that with GHCJS? |
It probably doesn’t have anything to do with the work-on script; I tried the nix project setup as described here (https://github.com/reflex-frp/reflex-platform/blob/develop/docs/project-development.rst), and reflex / reflex-dom compiles just fine with GHC, but not GHCJS, yielding the same error as above. |
Yes I have built and executed a whole reflex-dom project with the js backend. Your trace suggests that nix is trying to build libraries which should only be built for ghc native not for the js target. Which command are you running? |
We want to track current nixpkgs anyway ;-)
f3305ff
to
fd30696
Compare
I’ve made a minimal reflex project template (which is quite literally just this official guide) here: https://github.com/arthurl/reflex-project-template If you clone the repository and run (On the other hand, Am I missing something obvious? To be clear, the above does work on the master branch of reflex-platform. |
Sounds like both things are the same error - the project shell setup uses the same thing as workOn under the hood. reflex-platform/project/default.nix Line 170 in 2e0d31b
I believe this all pre-dates shellFor which is probably what we want in the long run, assuming it works for cross or at least ghcjs. |
I never used -A shells.ghjs and am not sure what it is for. Maybe you can try -A ghcjs.frontend? |
Huh, to my sheer surprise, it works! (To be clear,
What do you use for your dev environment then? nix-build doesn’t give you incremental builds like cabal does, which sort of suck if you’re actively modifying and re-compiling the project. |
It used to be for doing incremental cabal builds with ghcjs (e.g. fixing imports), debug (peek at ghc-pkg), etc. |
Actually,
(The above issue does not appear on the master branch of reflex-platform.) |
Yes, that is an issue I am working on. See obsidiansystems/obelisk@c0bbd8f for more and a workaround. |
That works, thanks! |
It somehow creates an infinite recursion, also only seems to be relevant for cross compilation
Causes infinite recursion According to @alexfmpe unnecessary since: NixOS/nixpkgs#355543
Invalidates cache for unknown reason
reflex-vty is broken in nixpkgs
broken on ghc 9.12
fd30696
to
88792de
Compare
After inspecting the reflex-packages overlay I guess we will need to go through that more careful again to make sure that overlay expects all flags that r-p is exposing. |
This does probably drop Android and iOS support, otherwise it works on examples projects.