protolude icon indicating copy to clipboard operation
protolude copied to clipboard

GHC 9.0 & 9.2 support in new Hackage release

Open jchia opened this issue 4 years ago • 16 comments

Currently, base <4.15.

jchia avatar Nov 10 '21 02:11 jchia

https://github.com/protolude/protolude/pull/131 Supports 9.0.1

adamwespiser avatar Feb 23 '22 02:02 adamwespiser

Is there a reason it's not released on Hackage yet?

ad-si avatar Mar 24 '22 20:03 ad-si

I don't mean to nag (actually I do), but could you add 9.2.2 support as well? As far as I can tell it's #131 that causes breakage with base 4.16

VlkrS avatar May 06 '22 18:05 VlkrS

9.2.2 support required for postgrest.

arrowd avatar May 10 '22 13:05 arrowd

We're (Artificial) also excited to get a Hackage release of 0.3.1 for the GHC 9.2 support.

I'll be watching this issue for updates.

chrisdone-artificial avatar May 12 '22 08:05 chrisdone-artificial

It's done! https://hackage.haskell.org/package/protolude-0.3.1. This issue can be closed.

robx avatar Jun 07 '22 07:06 robx

Hurrah! 👏 Thanks

chrisdone-artificial avatar Jun 07 '22 07:06 chrisdone-artificial

The exports executable in the cabal still requires base <4.15. Can that be bumped, too or are there reasons not to?

jchia avatar Jun 10 '22 17:06 jchia

Also 0.3.1 on Hackage still seems to require base<4.15, which excludes GHC 9.0.x (base 4.15.x) as well as GHC 9.2.x (base 4.16.x). Maybe there’s an upstream dependency which either hasn’t added support for base>=4.15, or has and needs its version range bumped?

KevOrr avatar Jun 10 '22 17:06 KevOrr

The executable can be disabled by setting the dev flag to false (this is the default, but I think stack doesn't handle this defaulting correctly). But for some reason I could not get this to work when building stackage nightly.

I tried bumping the base dependency for the executable but it doesn't compile.

I'm not sure what the purpose of this executable is. Some options:

  • Fix it
  • Remove it
  • Keep it, but remove from the .cabal file (or add it to extra-source-files)

bergmark avatar Jun 11 '22 03:06 bergmark

The purpose of that executable is to create an export list over all of protolude. However, it's using the ghc api and no longer stable, so my intension is to remove it, and if we ever need it we can resurrect it back from the commit history.

Thus, I'll be adding a new PR with the following changes, and cut a new release for it:

  1. Add support for 9.2.2
  2. Drop the executable.

adamwespiser avatar Jun 12 '22 02:06 adamwespiser

https://hackage.haskell.org/package/protolude-0.3.2

adamwespiser avatar Jun 12 '22 18:06 adamwespiser

9.2.6 support is blocked on an ostensibly unnecessary < 0.11.4 constraint on bytestring.

sternenseemann avatar Feb 13 '23 22:02 sternenseemann

9.2.6 support is blocked on an ostensibly unnecessary < 0.11.4 constraint on bytestring.

It builds fine here with ghc-9.2.6 (against bytestring-0.11.3.1), could you elaborate as to how it's blocked? (I suppose there might be trouble when also depending on some other ghc-bundled packages that require bytestring 0.11.4?)

robx avatar Feb 13 '23 23:02 robx

Indeed, sidestepping the GHC provided version of core packages is often troublesome, so I'd expect e.g. Stackage LTS-20 to jump to that version, for example. nixpkgs will do so soon in any case which is how it is blocked for us – for better or worse, we use the core packages where available.

sternenseemann avatar Feb 13 '23 23:02 sternenseemann

The tight upper bound on bytestring does look accidental -- I've update https://github.com/protolude/protolude/pull/141 to relax that.

robx avatar Feb 13 '23 23:02 robx