Skip to content

Conversation

TeofilC
Copy link
Contributor

@TeofilC TeofilC commented Aug 28, 2024

This relaxes most bounds as indicated by cabal outdated.
I've checked and all the tests pass. This allows building the library with GHC 9.10.

The only thing I've left behind is lsp as it seems like there's some breaking changes there and there's an existing PR for that.

In order to build with GHC-9.10, you will also need the following allow-newers added to cabal.project:

allow-newer: lucid:*, lsp:*, hnix:*, lens-family-th:*, dependent-sum-template:*

@mmhat
Copy link
Collaborator

mmhat commented Aug 28, 2024

LGTM; Thank you @TeofilC !

@mmhat mmhat merged commit f4412a0 into dhall-lang:main Aug 28, 2024
8 checks passed
@TeofilC TeofilC deleted the wip/teo/relax-bounsd-1 branch September 3, 2024 15:27
@georgefst
Copy link

Could we please get a corresponding Hackage revision?

@Gabriella439
Copy link
Collaborator

Oops! Sorry about that

I believe these should all be published as matching revisions to Hackage now

@TeofilC
Copy link
Contributor Author

TeofilC commented Sep 29, 2024

Thanks!

@Gabriella439
Copy link
Collaborator

you're welcome!

@georgefst
Copy link

I've checked and all the tests pass.

It's an easy mistake to make (we need better tooling!), but it appears that tests weren't actually run with these new versions. At the very least, time-1.14 is actually not compatible:

$ cabal build lib:dhall --constraint=time==1.14 # requires removing other entries from `cabal.project`
Build profile: -w ghc-9.10.1 -O1
In order, the following will be built (use -v for more details):
 - dhall-1.42.2 (lib) (first run)
Preprocessing library for dhall-1.42.2...
Building library for dhall-1.42.2...
[32 of 77] Compiling Dhall.Syntax.Instances.Lift ( src/Dhall/Syntax/Instances/Lift.hs, /home/gthomas/code/dhall-haskell/dist-newstyle/build/x86_64-linux/ghc-9.10.1/dhall-1.42.2/build/Dhall/Syntax/Instances/Lift.o, /home/gthomas/code/dhall-haskell/dist-newstyle/build/x86_64-linux/ghc-9.10.1/dhall-1.42.2/build/Dhall/Syntax/Instances/Lift.dyn_o ) [Data.Time package changed]
src/Dhall/Syntax/Instances/Lift.hs:24:1: error: [GHC-59692]
    Duplicate instance declarations:
      instance Lift Time.Day
        -- Defined at src/Dhall/Syntax/Instances/Lift.hs:24:1
      instance [safe] Lift Time.Day
        -- Defined in ‘time-1.14:Data.Time.Calendar.Days’
   |
24 | deriving instance Lift Time.Day
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Error: [Cabal-7125]
Failed to build dhall-1.42.2.

This case is fixed by #2647.

We ought to test the others and publish Hackage revisions re-tightening the bounds where appropriate.

@ysangkok
Copy link
Contributor

ysangkok commented Sep 2, 2025

It's confusing that if you do git blame, you see this PR as updating to support time-1.14. But dhall on Hackage does still not accept time-1.14 since the upper bound was explicitly downgraded in a revision: https://hackage.haskell.org/package/dhall-1.42.2/revisions/

Probably would be most reliable to make a new release. Especially since the time bump done in #2649 needs a CPP change, which can't be done with revisions.

@Gabriella439
Copy link
Collaborator

@ysangkok: I uploaded a new release of dhall. Hopefully that should fix the remaining issues, but let me know if I missed something

@ysangkok
Copy link
Contributor

ysangkok commented Sep 6, 2025

@Gabriella439 : Thank you. In addition, dhall-{bash,json,yaml} could easily be fixed with new revisions. I have just verified that their Hackage uploads all work on GHC 9.12 if I pass --allow-newer.

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.

5 participants