GHC 8.8 and Haskell Stackage LTS 16
Summary
The GHC Haskell compiler will be updated from major version 8.6 to 8.8, and Haskell packages will be updated from Stackage LTS 14 to LTS 16 versions.
Owner
- Name: Jens Petersen
- Email: <petersen@redhat.com>
Current status
- Targeted release: Fedora 33
- Last updated: 2020-07-21
- FESCo issue: #2428
- Tracker bug: #1854485
- Release notes tracker: #524
Detailed Description
For Fedora 33, the GHC Haskell compiler will be updated from version 8.6.5 to 8.8.4 (rebasing from the ghc:8.8 module stream). Along with this, Haskell packages in Stackage will be updated from the versions in LTS 14 to LTS 16. Haskell packages not in Stackage will be updated to the latest appropriate version in Hackage.
Feedback
Benefit to Fedora
Fedora users will benefit from access to the latest stable Haskell compiler release, package tools, and current stable Haskell packages from Stackage LTS.
GHC 8.8 features a new code layout algorithm for x86, the final implementation of the MonadFail proposal, and also many bugfixes (see the Documentation links for more details).
Scope
- Proposal owners:
- rebase ghc to 8.8.4 [done]
- update ghc-rpm-macros to the final version for F33 GA
- refresh packagings with the latest cabal-rpm release [done]
- update packages to latest Stackage LTS 16.5 versions using cabal-rpm [done]
- build all the packages in a Koji sidetag repo in dependency order [done]
- When finished push all builds through Bodhi to Rawhide before the mass rebuild [in-progress]
- Other developers: N/A (not a System Wide Change)
- Release engineering: N/A
- Policies and guidelines: N/A (not a System Wide Change)
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
Any dropped packages will have obsoletes added. Otherwise there should not be any direct upgrade impact.
Users' Haskell projects will get rebuilt with ghc-8.8 when they next build them and might need minor adjustments.
How To Test
- install ghc and cabal-install
- install pandoc, ShellCheck, git-annex
- install ghc-*-devel or ghc-*-prof or ghc-*-doc
- cabal-rpm builddep <favouritepackage>; cabal install <favouritepackage>
- test upgrades of F32 packages to F33
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.
Also these updates include a major new version 3 of the Haskell Cabal
library and cabal-install
packaging tool
with important new features and enhancements, and stack
is being updated from 2.1 to 2.3.
Dependencies
N/A (not a System Wide Change)
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?)
- Change owner will drop the new builds and revert back to the versions in F32.
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change)
Documentation
- https://downloads.haskell.org/~ghc/8.8.4/docs/html/users_guide/8.8.1-notes.html
- https://hackage.haskell.org/package/cabal-install-3.0.0.0/changelog
- https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/8.8