From Fedora Project Wiki
Line 97: Line 97:


== User Experience ==
== User Experience ==
<!-- If this change proposal is noticeable by users, how will their experiences change as a result?
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.


This section partially overlaps with the Benefit to Fedora section above. This section should be primarily about the User Experience, written in a way that does not assume deep technical knowledge. More detailed technical description should be left for the Benefit to Fedora section.
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.
 
Describe what Users will see or notice, for example:
  - Packages are compressed more efficiently, making downloads and upgrades faster by 10%.
  - Kerberos tickets can be renewed automatically. Users will now have to authenticate less and become more productive. Credential management improvements mean a user can start their work day with a single sign on and not have to pause for reauthentication during their entire day.
- Libreoffice is one of the most commonly installed applications on Fedora and it is now available by default to help users "hit the ground running".
- Green has been scientifically proven to be the most relaxing color. The move to a default background color of green with green text will result in Fedora users being the most relaxed users of any operating system.
-->


== Dependencies ==
== Dependencies ==

Revision as of 07:28, 17 December 2023

Haskell GHC 9.6 and Stackage LTS 22

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.4 to 9.6, and Haskell packages will be updated from Stackage LTS 21 to LTS 22 versions.

Owner


Current status

  • Targeted release: Fedora Linux 40
  • Last updated: 2023-12-17
  • [<will be assigned by the Wrangler> devel 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 40, the main GHC Haskell compiler package will be updated from version 9.4.5 to the latest stable 9.6.3 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.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).

Scope

  • Proposal owners:
    • update rawhide ghc9.4 is build against itself
    • rebase ghc to 9.6.3
    • 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: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No


Documentation

N/A (not a System Wide Change)

Release Notes