-
Notifications
You must be signed in to change notification settings - Fork 35
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
Fix support for newer stackage snapshots #71
Fix support for newer stackage snapshots #71
Conversation
I've fixed so everything has the fail it needs now
Does anyone understand why it fails to build the debian package? |
@anka-213 my guess from reading these lines
is that the executable are you able to run this build locally? (using a container) |
How would I do that? |
@anka-213 sorry, I didn't look at your PR, just at the logs, and I assumed they had to do with the package build. as they haven't (as far as I can see), I don't see why the build would break (assuming it works in your local machine). you could
for 1 you can push an empty commit or someone in the GF org can probably press so button in the github actions interface (I know how to do it with travis ci, not exactly with github actions) for 2 you can install docker or podman or use a virtual machine to emulate the ubuntu 18.04 environment where the build happens, and run the steps steps on the build file maybe @johnjcamilleri knows what's wrong exactly! |
Hi, sorry for being a bit slow to react. Yeah I agree with the above, don't quite understand why this commit should break the build. I've resubmitted to GitHub actions but I assume it will fail again in the same way. Will need to debug locally when I get a chance. |
It seems the error is coming from the RGL build script: https://github.com/GrammaticalFramework/gf-rgl/blob/master/Setup.hs |
I looked closer at the log and realised that the problem was exactly the lack of backwards compatibility that I mentioned above. Let's see how it goes now that I have (hopefully) restored backwards compatibility. |
I added |
Looks good to me! Thanks for your contribution Andreas. Two comments:
|
I was unable to reproduce the alex/happy trouble. I did have some earlier caching problems with alex though, so maybe removing On the other hand, I did still have a few errors on that version, caused by a missing |
Hmm, strange. What I get boils down to:
What version of Stack are you using? Maybe you have happy installed globally? |
Ah, right. Yes, I did have them installed globally. Now the dependencies are cached in my global stack directory. I guess I'll have to remove it to be able to reproduce. |
@johnjcamilleri I think this is the issue: commercialhaskell/stack#157 I'm not completely sure what we can do about it from inside gf. Maybe override the version of some dependency? |
Also upgrade alex/happy so automatic install works
@johnjcamilleri It should be fixed now. Tell me if there are any more problems. |
Unfortunately I am still getting some errors when trying to build with the different GHC versions. 7.10.3 8.0.2 8.2.2 8.4.4 8.6.5
8.8.3/4
|
Also I think we don't need Stack files for both 8.8.3 and 8.8.4, just the latest per major version number (A.B) should suffice. |
I think I've fixed most of those issues now. I'm looking into adding github actions for all stack files. Btw, should we update the default stack file to use the newest version, or is there a reason to pin it to an old version of GHC? |
No particular reason, other than GHC updates are frequently breaking and chasing the latest version means you constantly have to update your code (as you know all too well). I don't know, is there some consensus on what version of GHC is a a good stable choice atm? |
Now I've added Github actions that tries to build it for all the versions with a stack file. It seems like it was successful. It doesn't try to build with the c-runtime currently, but that could be a later issue. On another note, should we update all the snapshots to the latest version with that ghc version, according to the list here: https://www.stackage.org/? |
Excellent!
I don't know what you mean, we already have the latest minor version per major version? e.g. 8.2.2 is the latest 8.2 version, etc. |
I was specifically thinking of the one for ghc-8.6.5, which was lts-14.3 instead of lts-14.27. I've bumped it now. |
Great. Are we ready to merge then? |
The haskell-language-server only has support for ghc-8.6.5 and up, so I bumped the default stack file to that version. If that is fine, we're ready to merge. If not, I can revert that change and then merge. |
Unfortunately something is horribly wrong. The latest version of the GF shell doesn't produce any output:
If I git checkout bca0691 (before your changes), then the exact procedure above correctly produces a random tree. This applies to linearisation too, and I guess all shell commands. Like they're being ignored somehow (just a hunch). |
Oh, no! I'll look into it. I might have made a mistake with the conversion to Monad fail somewhere. |
Oh, oops! Yes, that's probably the problem. I was debugging an issue and apparently forgot to restore the original code! |
Among others, support for Cabal 3.0 and the MonadFail proposal.
Fixes #47.
This is a work in progress, because I was unable to make it backwards-compatible with old versions, sincealex
doesn't seem to support CPP pragma.