From Fedora Project Wiki


Haskell GHC 9.8 and Stackage 23

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.6 to 9.8 and Haskell packages from Stackage LTS 22 to LTS 23 versions.

Owner


Current status

  • Targeted release: Fedora Linux 42
  • Last updated: 2025-01-13
  • [<link to devel-announce post will be added by Wrangler> Announced]
  • [<will be assigned by the Wrangler> Discussion thread]
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

For Fedora 42, the main GHC Haskell compiler package will be updated from version 9.6.6 to the latest stable 9.8.4 release (rebasing the ghc package from the ghc9.8 package). Along with this, Haskell packages in Stackage (the stable Haskell source package distribution) will be updated from the versions in LTS 22 to latest LTS 23 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.8.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.8).

Scope

  • Proposal owners:
    • update rawhide ghc9.6 is build against itself
    • rebase ghc to 9.8.4 and obsolete ghc9.8
    • refresh packagings with the latest cabal-rpm release
    • update packages to latest Stackage LTS 23 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
    • obsolete deprecated packages
    • check that hedgewars server still builds
  • Other developers: no actions should be needed
  • Policies and guidelines: will check if any refresh needed for Haskell Packaging policy
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with the Fedora Strategy:

Upgrade/compatibility impact

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

User's own Haskell projects might need some minor code tweaks in order to rebuild (see the release notes linked below).

Early Testing (Optional)

Do you require 'QA Blueprint' support? N

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, ghc9.6, or ghc*devel
  • test upgrades of F41 Haskell packages to F42

User Experience

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

In particular pandoc will be updated to 3.6, and stack to 3.1.

Dependencies

Contingency Plan

  • Contingency mechanism: Change owner will drop the new builds and revert dist-git back to the versions in F41
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change)

Documentation


Release Notes

GHC has been updated to major version 9.8 and Haskell packages to Stackage LTS 23 versions.