Closed sheaf closed 4 months ago
The time library only supports the most recent three versions of GHC (9.4, 9.6, 9.8).
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.
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...
@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.
Is there anything blocking this PR from getting merged? Let me know if you would like some changes.
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.
OK, have also updated time-1.14 on Hackage with the new constraints.
OK, have also updated time-1.14 on Hackage with the new constraints.
Great, thanks a lot.
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.