haskell / time

A time library
http://hackage.haskell.org/package/time
Other
118 stars 78 forks source link

Update lower bounds (base, template-haskell) #254

Closed sheaf closed 4 months ago

sheaf commented 4 months ago

This PR updates the following lower bounds:

template-haskell: 2.16 -> 2.17 base: 4.14 -> 4.15

This ensures we don't try to build time >= 1.14 with GHC 8.10 or below, which is not supported:

lib\Data\Time\Clock\Internal\DiffTime.hs:83:18: error: Error: Not in scope: type constructor or class ‘TH.Quote’

lib\Data\Time\Clock\Internal\DiffTime.hs:83:44: error: Error: Not in scope: type constructor or class ‘TH.Code’

I believe this should be applied as a Hackage revision to the package as well.

AshleyYakeley commented 4 months ago

The time library only supports the most recent three versions of GHC (9.4, 9.6, 9.8).

sheaf commented 4 months ago

The time library only supports the most recent three versions of GHC (9.4, 9.6, 9.8).

That's fine, but this should be reflected in the bounds of the package, so that Cabal's solver doesn't pick them. As it stands, version 1.14 is picked with older GHCs when it doesn't build with them. This causes CI breakages for packages that have wider compatibility windows.

AshleyYakeley commented 4 months ago

OK, fair. Probably setting the lower bound of base as well, to make sure cabal never picks a GHC version before 9.4, will be a more robust solution. In any case I want to avoid having to test with every GHC version...

sheaf commented 4 months ago

@AshleyYakeley I have updated this PR with a lower bound on base.

I have run the CI on my fork with an extended set of GHC versions and can confirm that time 1.14 builds and passes tests on GHC 9.0 and 9.2 (on Linux, Mac and Windows), so I have set the lower bounds to include 9.0 and 9.2. If you would prefer, I can bump the lower bounds corresponding to GHC >= 9.4. However, keeping the bounds inclusive of 9.0 but with "tested-with: 9.4, 9.6, 9.8" seems like the best approach to me.

sheaf commented 4 months ago

Is there anything blocking this PR from getting merged? Let me know if you would like some changes.

AshleyYakeley commented 4 months ago

You don't need to do anything. But I need to write some testing related to this to make sure time never gets selected with unsupported GHC versions.

AshleyYakeley commented 4 months ago

OK, have also updated time-1.14 on Hackage with the new constraints.

sheaf commented 4 months ago

OK, have also updated time-1.14 on Hackage with the new constraints.

Great, thanks a lot.