From Fedora Project Wiki
(→‎Current status: move to F41)
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Haskell GHC 9.6 and Stackage LTS 22 =
= Haskell GHC 9.6 and Stackage LTS 22 =


{{Change_Proposal_Banner}}


== Summary ==
== Summary ==
Update the GHC Haskell compiler from major version 9.4 to 9.6, and Haskell packages will be updated from Stackage LTS 21 to LTS 22 versions.
Update the GHC Haskell compiler from major version 9.4 to 9.6 and Haskell packages from Stackage LTS 21 to LTS 22 versions.


== Owner ==
== Owner ==
Line 20: Line 19:


== Current status ==
== Current status ==
[[Category:ChangePageIncomplete]]
[[Category:ChangeAcceptedF41]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 30: Line 29:
<!-- [[Category:SystemWideChange]] -->
<!-- [[Category:SystemWideChange]] -->


* Targeted release: [https://docs.fedoraproject.org/en-US/releases/f40/ Fedora Linux 40]
* Targeted release: [https://docs.fedoraproject.org/en-US/releases/f41/ Fedora Linux 41]
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Line 38: Line 37:
ON_QA -> change is fully code complete
ON_QA -> change is fully code complete
-->
-->
* [<will be assigned by the Wrangler> devel thread]
* [https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/thread/VD2GVJPEM5MMJLSIJBER2IXV3IAVIM53/ Announced]
* FESCo issue: <will be assigned by the Wrangler>
* [https://discussion.fedoraproject.org/t/f40-change-proposal-haskell-ghc-9-6-and-stackage-lts-22-self-contained/99847 Discussion thread]
* Tracker bug: <will be assigned by the Wrangler>
* FESCo issue: [https://pagure.io/fesco/issue/3133 #3133]
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2258070 #2258070]
* Release notes tracker: <will be assigned by the Wrangler>
* Release notes tracker: <will be assigned by the Wrangler>


== Detailed Description ==
== Detailed Description ==
For Fedora 40, the main [https://www.haskell.org/ghc/ GHC] Haskell compiler package will be updated from version [https://www.haskell.org/ghc/download_ghc_9_4_5.html 9.4.5] to the latest stable [https://www.haskell.org/ghc/download_ghc_9_6_3.html 9.6.3] or newer bugfix release (rebasing the [https://src.fedoraproject.org/rpms/ghc/ ghc] package with the [https://src.fedoraproject.org/rpms/ghc9.6/ ghc9.6] package).
For Fedora 40, the main [https://www.haskell.org/ghc/ GHC] Haskell compiler package will be updated from version [https://www.haskell.org/ghc/download_ghc_9_4_5.html 9.4.5] to the latest stable [https://www.haskell.org/ghc/download_ghc_9_6_4.html 9.6.4] or newer bugfix release (rebasing the [https://src.fedoraproject.org/rpms/ghc/ ghc] package with the [https://src.fedoraproject.org/rpms/ghc9.6/ ghc9.6] package).
Along with this, Haskell packages in [https://www.stackage.org Stackage] (the stable Haskell source package distribution) will be updated from the versions in [https://www.stackage.org/lts-21 LTS 21] to latest [https://www.stackage.org/lts-22 LTS 22] release.
Along with this, Haskell packages in [https://www.stackage.org Stackage] (the stable Haskell source package distribution) will be updated from the versions in [https://www.stackage.org/lts-21 LTS 21] to latest [https://www.stackage.org/lts-22 LTS 22] release.
Haskell packages not in Stackage will be updated to the latest appropriate version in the upstream [https://hackage.haskell.org Hackage] package repository.
Haskell packages not in Stackage will be updated to the latest appropriate version in the upstream [https://hackage.haskell.org Hackage] package repository.
Line 54: Line 54:
Fedora users will have the latest stable Haskell compiler release, package tools, and current Haskell packages from latest Stackage LTS.
Fedora users will have the latest stable Haskell compiler release, package tools, and current Haskell packages from latest Stackage LTS.


GHC 9.6.3 is the current recommended version of GHC with various enhancements and fixes (see the release notes linked in the Documentation section for more details).
GHC 9.6.4 is the latest current stable version of GHC with various enhancements and fixes (see the release notes linked in the Documentation section for more details about new features and improvements in 9.6).


== Scope ==
== Scope ==
* Proposal owners:
* Proposal owners:
** update rawhide ghc9.4 is build against itself
** update rawhide ghc9.4 is build against itself
** rebase ghc to 9.6.3
** rebase ghc to 9.6.4
** refresh packagings with the latest cabal-rpm release if needed
** refresh packagings with the latest cabal-rpm release if needed
** update packages to latest [https://www.stackage.org/lts-22 Stackage LTS 22] versions using cabal-rpm
** update packages to latest [https://www.stackage.org/lts-22 Stackage LTS 22] versions using cabal-rpm
Line 118: Line 118:


== Documentation ==
== Documentation ==
<!-- Is there upstream documentation on this change, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
* https://downloads.haskell.org/~ghc/9.6.4/docs/html/users_guide/9.6.1-notes.html
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)


== Release Notes ==
== Release Notes ==

Latest revision as of 10:16, 26 February 2024

Haskell GHC 9.6 and Stackage LTS 22

Summary

Update the GHC Haskell compiler from major version 9.4 to 9.6 and Haskell packages from Stackage LTS 21 to LTS 22 versions.

Owner


Current status

Detailed Description

For Fedora 40, the main GHC Haskell compiler package will be updated from version 9.4.5 to the latest stable 9.6.4 or newer bugfix release (rebasing the ghc package with the ghc9.6 package). Along with this, Haskell packages in Stackage (the stable Haskell source package distribution) will be updated from the versions in LTS 21 to latest LTS 22 release. Haskell packages not in Stackage will be updated to the latest appropriate version in the upstream Hackage package repository.

Feedback

Benefit to Fedora

Fedora users will have the latest stable Haskell compiler release, package tools, and current Haskell packages from latest Stackage LTS.

GHC 9.6.4 is the latest current stable version of GHC with various enhancements and fixes (see the release notes linked in the Documentation section for more details about new features and improvements in 9.6).

Scope

  • Proposal owners:
    • update rawhide ghc9.4 is build against itself
    • rebase ghc to 9.6.4
    • refresh packagings with the latest cabal-rpm release if needed
    • update packages to latest Stackage LTS 22 versions using cabal-rpm
    • build all the packages in a Koji sidetag repo in dependency order using fbrnch
    • push the sidetag through Bodhi to rawhide
    • deal with obsoleting ghc9.6 if needed
  • Other developers: no actions should be needed
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Community Initiatives: N/A

Upgrade/compatibility impact

Any dropped packages will have obsoletes added. Otherwise there should not be any direct upgrade impact.

Users' Haskell projects will get built with ghc-9.6 when they next build them and might need some minor code tweaks (see the release notes linked below).

How To Test

  • install ghc and cabal-install
  • install pandoc, ShellCheck, ghcid, git-annex, hadolint, stack, xmonad, Agda
  • install ghc-*-devel or ghc-*-prof or ghc-*-doc
  • cabal-rpm builddep <favouritepackage>; cabal install <favouritepackage>
  • install ghc8.10, ghc9.0, ghc9.2, ghc9.4, or ghc*devel
  • test upgrades of F39 Haskell packages to F40

User Experience

Users will have the most recent stable major version of ghc and Haskell libraries and tools available to them. This makes it easier to build the latest versions of Haskell projects.

In particular cabal-install will also be updated from 3.8 to 3.10, pandoc will be updated to 3.1, and stack to 2.13.

Dependencies

Contingency Plan

  • Contingency mechanism:
    • Change owner will drop the new builds and revert dist-git back to the versions in F39
  • Contingency deadline: Beta Freeze
  • Blocks release? No

Documentation

Release Notes