Skip to content
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

Add support for ghc 9.0.1 #312

Merged
merged 10 commits into from
Jun 19, 2021
Merged

Add support for ghc 9.0.1 #312

merged 10 commits into from
Jun 19, 2021

Conversation

anka-213
Copy link
Contributor

@anka-213 anka-213 commented Mar 30, 2021

This integrates the changes from #281 and also fixes some Template Haskell issues caused by ghc-9.0.1 having stricter staging rules than earlier versions.

(Step towards haskell/haskell-language-server#297)

@jneira
Copy link
Member

jneira commented Mar 30, 2021

thanks again, maybe some of libs in the allow-newer list has been updated and could be removed

@anka-213
Copy link
Contributor Author

@jneira Probably. Is there a way to automate that? My attempts requires me to loop between running cabal build and adding the single package it mentions to the list.
Can I tell cabal to display all packages that requires allow-newer?

@anka-213
Copy link
Contributor Author

I've added references to mokus0/th-extras#8 and obsidiansystems/dependent-sum#57 in the cabal.project, so this can be built even before they are merged. They should be removed once those pull requests are merged.

@anka-213
Copy link
Contributor Author

I'm not sure why it failed on CI. It worked for me locally. :/

@jneira
Copy link
Member

jneira commented Mar 30, 2021

That is my manual process too, I don't know an automate way to do it 😟

@anka-213
Copy link
Contributor Author

@jneira If you have time, can you check if this patch works for you on ghc-9.0.1 or if it accidentally works for me locally because of some impurity?

@jneira jneira self-requested a review March 30, 2021 12:18
@jneira jneira mentioned this pull request Mar 30, 2021
@jneira
Copy link
Member

jneira commented Mar 31, 2021

@anka-213 I cant reproduce the error after a cabal update (sadly i didnt try before)
I've observed github ci has no cabal update so maybe the haskell action left it in a old index state, i would try to add a cabal update before start the build.

@anka-213
Copy link
Contributor Author

anka-213 commented Apr 1, 2021

@jneira Yep, that was the problem. Thanks!

@jneira
Copy link
Member

jneira commented Jun 1, 2021

@anka-213 hi! i think we could merge this one and remove one of the remote repo packages.
could you rebase master?, i hope it will not take much time.

@jneira
Copy link
Member

jneira commented Jun 2, 2021

@anka-213 i tried to fix the build with e96383a

@anka-213
Copy link
Contributor Author

anka-213 commented Jun 3, 2021

Those were introduced in this commit: ef59c28#diff-b8ed06757045fac949c89f2139a862498ad2b6d1f82c61a31e7c91d6cf0eaa70

Is that problem resolved now?

I guess it is, since CI succeeds.

@jneira
Copy link
Member

jneira commented Jun 3, 2021

he I suggested the change to fix the build there but this pr seems to fix it in another way, to investigate

@anka-213
Copy link
Contributor Author

anka-213 commented Jun 5, 2021

Oh, the answer is really simple. My changes includes upstream patches of those packages, so we no longer need to constrain the version.

@jneira
Copy link
Member

jneira commented Jun 5, 2021

the question is we can't do a hackage release until all upstream packages are there so not sure if we should merge this
the changes are not too pervasive so maybe there won't be much conflicts (and there is no too much prs to merge in master), thoughts?

@anka-213
Copy link
Contributor Author

anka-213 commented Jun 5, 2021

Oh, right. That's a good point. I didn't think of that. Otoh, it does still build successfully (I believe, haven't actually tried) on any ghc < 9 without those upstream patches, so it shouldn't really be a problem to put it on hackage.

@pepeiborra
Copy link
Collaborator

pepeiborra commented Jun 5, 2021

Are you sure that a Hackage release cannot be done? Technically, the package overrides in cabal.project are not impeding a Hackage release, as long as the package builds with a vanilla cabal.project in 8.10.

@jneira
Copy link
Member

jneira commented Jun 5, 2021

@pepeiborra mmm you are right, it will not work for 9.0.1, failing in the solver phase like the actual one (i've checked it, just in case it would be a build error and no solver error)

Copy link
Member

@jneira jneira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm @anka-213 many thanks for working on this
will merge soon if nobody disagree

@jneira jneira merged commit f7b030d into haskell:master Jun 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants