Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GHC 9.12 #1124

Open
Tracked by #7574 ...
andreasabel opened this issue Dec 29, 2024 · 8 comments · May be fixed by #1126
Open
Tracked by #7574 ...

GHC 9.12 #1124

andreasabel opened this issue Dec 29, 2024 · 8 comments · May be fixed by #1126

Comments

@andreasabel
Copy link
Member

For GHC 9.12, aeson needs bumps of ghc-prim and template-haskell.

[__5] rejecting: time-1.14/installed-230c (conflict: aeson => template-haskell>=2.14.0.0 && <2.23, time => template-haskell==2.23.0.0/installed-cb92)
[__7] rejecting: text-2.1.2/installed-0b0c (conflict: aeson => ghc-prim>=0.5.0.0 && <0.12, text => ghc-prim==0.13.0/installed-fd56)

@phadej
Copy link
Collaborator

phadej commented Jan 3, 2025

Currently my work on updating to support GHC-9.12 is blocked on haskell/cabal#10704. I would like to see that resolved in a way or another, to know whether I need to alter stuff or whether cabal-install will be fixed.

@phadej phadej linked a pull request Jan 4, 2025 that will close this issue
@phadej
Copy link
Collaborator

phadej commented Jan 4, 2025

I can confirm the cabal issue is causing problems with aeson test suite: #1126

@erikd
Copy link
Member

erikd commented Jan 7, 2025

@phadej Would it be possible to do a metadata edit on Hackage to get the version there building with ghc-9.12 ?

As in understand it only upper version bound changes are needed. Eg:

|diff --git a/aeson.cabal b/aeson.cabal
index 1b25c57..0c8666e 100644
--- a/aeson.cabal
+++ b/aeson.cabal
@@ -98,10 +98,10 @@ library
     , containers        >=0.6.0.1  && <0.8
     , deepseq           >=1.4.4.0  && <1.6
     , exceptions        >=0.10.4   && <0.11
-    , ghc-prim          >=0.5.0.0  && <0.12
-    , template-haskell  >=2.14.0.0 && <2.23
+    , ghc-prim          >=0.5.0.0  && <0.14
+    , template-haskell  >=2.14.0.0 && <2.24
     , text              >=1.2.3.0  && <1.3  || >=2.0 && <2.2
-    , time              >=1.8.0.2  && <1.13
+    , time              >=1.8.0.2  && <1.15
 
   -- Compat
   build-depends:
diff --git a/attoparsec-iso8601/attoparsec-iso8601.cabal b/attoparsec-iso8601/attoparsec-iso8601.cabal
index e824b09..f61c11e 100644
--- a/attoparsec-iso8601/attoparsec-iso8601.cabal
+++ b/attoparsec-iso8601/attoparsec-iso8601.cabal
@@ -44,7 +44,7 @@ library
     , base                >=4.12.0.0 && <5
     , integer-conversion  >=0.1      && <0.2
     , text                >=1.2.3.0  && <1.3.0.0 || >=2.0 && <2.2
-    , time                >=1.8.0.2  && <1.13
+    , time                >=1.8.0.2  && <1.15
     , time-compat         >=1.9.4    && <1.10
 
 source-repository head
diff --git a/cabal.project b/cabal.project
index 3210d21..40c1426 100644
--- a/cabal.project
+++ b/cabal.project
@@ -8,7 +8,6 @@ packages: benchmarks
 tests: true
 benchmarks: true
 
-allow-newer: hermes-json:attoparsec-iso8601
 
 -- packages: https://hackage.haskell.org/package/libperf-0.1/candidate/libperf-0.1.tar.gz
 -- packages: https://hackage.haskell.org/package/tasty-perfbench-0.1/candidate/tasty-perfbench-0.1.tar.gz
diff --git a/text-iso8601/text-iso8601.cabal b/text-iso8601/text-iso8601.cabal
index 0cfa523..2c6f3e5 100644
--- a/text-iso8601/text-iso8601.cabal
+++ b/text-iso8601/text-iso8601.cabal
@@ -47,7 +47,7 @@ library
       base                >=4.12.0.0 && <5
     , integer-conversion  >=0.1      && <0.2
     , text                >=1.2.3.0  && <1.3.0.0 || >=2.0 && <2.2
-    , time                >=1.8.0.2  && <1.13
+    , time                >=1.8.0.2  && <1.15
     , time-compat         >=1.9.4    && <1.10
 
 test-suite text-iso8601-tests
@@ -68,7 +68,7 @@ test-suite text-iso8601-tests
     , quickcheck-instances  >=0.3.29.1 && <0.4
     , tasty                 >=1.4.3    && <1.6
     , tasty-hunit           >=0.10.0.3 && <0.11
-    , tasty-quickcheck      >=0.10.2   && <0.11
+    , tasty-quickcheck      >=0.10.2   && <0.12
 
 benchmark text-iso8601-bench
   default-language: Haskell2010
@@ -86,4 +86,4 @@ benchmark text-iso8601-bench
   build-depends:
       attoparsec          >=0.14.4  && <0.15
     , attoparsec-iso8601  >=1.1.0.1 && <1.2
-    , tasty-bench         >=0.3.4   && <0.4
+    , tasty-bench         >=0.3.4   && <0.5

@phadej
Copy link
Collaborator

phadej commented Jan 7, 2025

@erikd as you can see there is PR #1126 so writing something which is already done is not helpful.

As I said, I'm blocked on cabal-install-3.14 having regressions. I want this regressions to be at least acknowledged (whether they will be fixed and when), to know how to proceed.

As far as I'm concerned, without cabal-install-3.14 working, there is no build tool supporting GHC-9.12. So if you have energy and time, please help cabal-install maintainers.

@erikd
Copy link
Member

erikd commented Jan 7, 2025

As far as I can see, that regression in cabal-install-3.14 does not affect people using 3.12 who would benefit from having the upper bounds fixed on Hackage.

@andreasabel
Copy link
Member Author

I tend to agree with @erikd.
@phadej, you seem to want to use aeson as a lever to get things moving for cabal-install, but I am not sure this is helping the Haskell ecosystem overall.
Also, looking at

there is already acknowledgement of this issue.
Judging from the structure of the cabal release process, I don't think a hotfix will appear within the next days or weeks.

@phadej
Copy link
Collaborator

phadej commented Jan 8, 2025

@phadej
Copy link
Collaborator

phadej commented Jan 8, 2025

And for the record

Warning: Unknown/unsupported 'ghc' version detected (Cabal 3.12.1.0 supports
'ghc' version < 9.12): /home/phadej/.ghcup/bin/ghc-9.12 is version 9.12.1

I really don't like this warning. If it's not an issue, I'm sure Cabal team could also release 3.12.2.0 with enough GHC-9.12 support to claim it's supported. In particular, if there's issue that Cabal-3.12 and GHC-9.12 don't work together, will it be fixed or close as invalid / "try with 3.14". I think it's the latter.

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 a pull request may close this issue.

3 participants