No edit summary |
(adding release notes tracker) |
||
(22 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 = | ||
== Summary == | == Summary == | ||
Line 20: | Line 19: | ||
== Current status == | == Current status == | ||
[[Category: | [[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/ | * 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 40: | Line 39: | ||
* [https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/thread/VD2GVJPEM5MMJLSIJBER2IXV3IAVIM53/ Announced] | * [https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/thread/VD2GVJPEM5MMJLSIJBER2IXV3IAVIM53/ Announced] | ||
* [https://discussion.fedoraproject.org/t/f40-change-proposal-haskell-ghc-9-6-and-stackage-lts-22-self-contained/99847 Discussion thread] | * [https://discussion.fedoraproject.org/t/f40-change-proposal-haskell-ghc-9-6-and-stackage-lts-22-self-contained/99847 Discussion thread] | ||
* FESCo issue: | * FESCo issue: [https://pagure.io/fesco/issue/3133 #3133] | ||
* Tracker bug: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2258070 #2258070] | ||
* Release notes tracker: | * Release notes tracker: [https://gitlab.com/fedora/docs/fedora-linux-documentation/release-notes/-/issues/138 #138] | ||
== Detailed Description == | == Detailed Description == | ||
For Fedora | For Fedora 41, 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_6.html 9.6.6] release (rebasing the [https://src.fedoraproject.org/rpms/ghc/ ghc] package from 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 55: | 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. | GHC 9.6.6 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 [done] | ||
** rebase ghc to 9.6. | ** rebase ghc to 9.6.6 and obsolete ghc9.6 [done] | ||
** refresh packagings with the latest cabal-rpm release if needed | ** refresh packagings with the latest cabal-rpm release if needed [done before mass rebuild] | ||
** 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 [used lts-22.29] | ||
** build all the packages in a Koji sidetag repo in dependency order using fbrnch | ** build all the packages in a Koji sidetag repo in dependency order using fbrnch [done] | ||
** push the sidetag through Bodhi to rawhide | ** push the sidetag through Bodhi to rawhide [done] | ||
** | ** obsolete deprecated packages [in progress] | ||
** build ghc9.10 using the new Haskell packages [in progress] | |||
* Other developers: no actions should be needed <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Other developers: no actions should be needed <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
Line 95: | Line 95: | ||
* cabal-rpm builddep <favouritepackage>; cabal install <favouritepackage> | * cabal-rpm builddep <favouritepackage>; cabal install <favouritepackage> | ||
* install ghc8.10, ghc9.0, ghc9.2, ghc9.4, or ghc*devel | * install ghc8.10, ghc9.0, ghc9.2, ghc9.4, or ghc*devel | ||
* test upgrades of | * test upgrades of F40 Haskell packages to F41 | ||
== User Experience == | == User Experience == | ||
Line 101: | Line 101: | ||
This makes it easier to build the latest versions of Haskell projects. | 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. | In particular `cabal-install` will also be updated from 3.8 to 3.10, `pandoc` will be updated to 3.1.11, and `stack` to 2.15. | ||
== Dependencies == | == Dependencies == | ||
Line 113: | Line 113: | ||
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | <!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | ||
* Contingency mechanism: | * Contingency mechanism: | ||
** Change owner will drop the new builds and revert dist-git back to the versions in | ** Change owner will drop the new builds and revert dist-git back to the versions in F40 | ||
* Contingency deadline: Beta Freeze | * Contingency deadline: Beta Freeze | ||
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? --> | <!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? --> | ||
Line 119: | Line 119: | ||
== Documentation == | == Documentation == | ||
* https://downloads.haskell.org/~ghc/9.6. | * https://downloads.haskell.org/~ghc/9.6.6/docs/users_guide/9.6.1-notes.html | ||
* https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.6 | |||
== Release Notes == | == Release Notes == | ||
GHC has been updated to major version 9.6 and Haskell packages to Stackage LTS 22 versions. | |||
<!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are at https://docs.fedoraproject.org/en-US/fedora/latest/release-notes/ --> | <!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are at https://docs.fedoraproject.org/en-US/fedora/latest/release-notes/ --> | ||
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this change, indicate them here. A link to upstream documentation will often satisfy this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. | <!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this change, indicate them here. A link to upstream documentation will often satisfy this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. |
Latest revision as of 14:25, 14 October 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
- Name: Jens Petersen
- Email: <petersen@redhat.com>
Current status
- Targeted release: Fedora Linux 41
- Last updated: 2024-10-14
- Announced
- Discussion thread
- FESCo issue: #3133
- Tracker bug: #2258070
- Release notes tracker: #138
Detailed Description
For Fedora 41, the main GHC Haskell compiler package will be updated from version 9.4.5 to the latest stable 9.6.6 release (rebasing the ghc package from 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.6 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 [done]
- rebase ghc to 9.6.6 and obsolete ghc9.6 [done]
- refresh packagings with the latest cabal-rpm release if needed [done before mass rebuild]
- update packages to latest Stackage LTS 22 versions using cabal-rpm [used lts-22.29]
- build all the packages in a Koji sidetag repo in dependency order using fbrnch [done]
- push the sidetag through Bodhi to rawhide [done]
- obsolete deprecated packages [in progress]
- build ghc9.10 using the new Haskell packages [in progress]
- Other developers: no actions should be needed
- Release engineering: #Releng issue number
- 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 F40 Haskell packages to F41
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.11, and stack
to 2.15.
Dependencies
Contingency Plan
- Contingency mechanism:
- Change owner will drop the new builds and revert dist-git back to the versions in F40
- Contingency deadline: Beta Freeze
- Blocks release? No
Documentation
- https://downloads.haskell.org/~ghc/9.6.6/docs/users_guide/9.6.1-notes.html
- https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.6
Release Notes
GHC has been updated to major version 9.6 and Haskell packages to Stackage LTS 22 versions.