haskell / haskeline

A Haskell library for line input in command-line programs.
https://hackage.haskell.org/package/haskeline
BSD 3-Clause "New" or "Revised" License
221 stars 75 forks source link

Cut release for GHC 8.10.1 #127

Closed bgamari closed 4 years ago

bgamari commented 4 years ago

GHC 8.10.1 will ship with haskeline based on 98d69248d08389f349e12981da43797b8860ae67. It would be great to have a release based upon this commit sometime in the next week.

judah commented 4 years ago

I've just released haskeline-0.8.0.0 off of the latest HEAD commit (ff19768affd99397468c5af4bfd81fd573088429).

Unfortunately, I then realized that 98d6924 doesn't correspond directly to a commit in judah/haskeline and its history is more than a year old. I pulled it from the GHC gitlab and compared the two:

https://gist.github.com/judah/2a09a824c2ed68bfdb2330f152594d00

The remaining changes appear harmless (one minor bug fix, a MonadFail instance, and some new functions that GHC doesn't care about). Is it too late in the release process to switch GHC to haskeline's HEAD? Otherwise I might need to re-release new major versions so we have one for GHC and one for the latest HEAD.

bgamari commented 4 years ago

@judah, apologies for the belated response; this required a bit more investigation than I anticipated. Unfortunately, bumping to 0.8.0.0 directly won't be possible as the fact that the Cabal file defines both a library and executable component breaks the build system (specifically I've tested Hadrian, although I suspect the old make build system is similarly afflicted). This is admittedly a deficiency of the build system although I'm afraid it's not one that can be fixed for 8.10.

There are two ways forward at this point (both, unfortunately, requiring a new release):

Given that there appears to be some good bug-fixes in 0.8, I suspect the latter option is preferable.

judah commented 4 years ago

Thanks @bgamari. The latter option makes sense to me. I'll aim to make a new Haskeline release either later today or tomorrow at the latest.

judah commented 4 years ago

@bgamari I've pushed 463fc49d17bfab846cceba48bccc02ef285e6cba to the haskeline-0.8 branch. Please let me know whether that works for you; if so, I'll cut another release.

bgamari commented 4 years ago

My local Hadrian build look good but the CI run is currently underway at https://gitlab.haskell.org/ghc/ghc/merge_requests/2404.

judah commented 4 years ago

I saw that the validate step failed; at first glance it seemed like it wasn't passing the Cabal flag in the "validate" step.

Maybe it would be fine for you to just patch Haskeline locally in GHC and remove the problematic build/test components? I'd be fine with having that very slight difference in a release of GHC, since it wouldn't change the external API from the released version of haskeline-0.8.0.0.

bgamari commented 4 years ago

The downstream GHC issue causing the validation failure has been resolved.