From Fedora Project Wiki
(→‎Current status: add fesco ticket)
Line 19: Line 19:


== Current status ==
== Current status ==
[[Category:ChangeAnnounced]]
[[Category:ChangeReadyForFesco]]
<!-- 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 38: Line 38:
-->
-->
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/JCTI3WD6M5THUDXVZ7CTWPMJN6P3DG2V/ devel thread]
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/JCTI3WD6M5THUDXVZ7CTWPMJN6P3DG2V/ devel thread]
* FESCo issue: <will be assigned by the Wrangler>
* FESCo issue: https://pagure.io/fesco/issue/3055
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: <will be assigned by the Wrangler>
* Release notes tracker: <will be assigned by the Wrangler>
* Release notes tracker: <will be assigned by the Wrangler>

Revision as of 15:31, 10 August 2023

Haskell GHC 9.4 and Stackage LTS 21

Important.png
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Summary

Update the GHC Haskell compiler from major version 9.2 to 9.4, and Haskell packages will be updated from Stackage LTS 20 to LTS 21 versions.

Owner

Current status

Detailed Description

For Fedora 39, the GHC Haskell compiler will be updated from version 9.2.6 to the latest stable 9.4.5 release (rebasing from the ghc9.4 package). Along with this, Haskell packages in Stackage (the stable Haskell source package distribution) will be updated from the versions in LTS 20 to latest LTS 21 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 Stackage LTS.

GHC 9.4.5 is the current recommended version of GHC with various enhancements and fixes (see the release notes linked in the Documentation section for more details).

Scope

  • Proposal owners:
    • update ghc9.2 is build against itself [done]
    • rebase ghc to 9.4.5 [build]
    • refresh packagings with the latest cabal-rpm release if needed [done]
    • update packages to latest Stackage LTS 21 versions using cabal-rpm [done]
    • build all the packages in a Koji sidetag repo in dependency order using fbrnch [f39-build-side-70691]
    • push the sidetag through Bodhi [FEDORA-2023-9bb8d5a43a]
  • 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:

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.4 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.6, or ghc*devel
  • test upgrades of F38 Haskell packages to F39


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.6 to 3.8, and pandoc will be updated to 3.0.

Dependencies

Contingency Plan

  • Contingency mechanism:
    • Change owner will drop the new builds and revert back to the versions in the mass rebuild
  • Contingency deadline: Beta Freeze
  • Blocks release? N/A (not a System Wide Change)

Documentation


Release Notes

The Haskell GHC compiler has been updated from 9.2.6 to 9.4.5 with many improvements and Haskell package versions are updated from Stackage LTS 20 to 21.