Haskell GHC 8.4 and Stackage LTS 12
Summary
Update the ghc Haskell compiler version from 8.2.2 to 8.4.4 and Haskell packages to Stackage LTS 12 versions.
Owner
- Name: Jens Petersen
- Email: <petersen@redhat.com>
- Name: Haskell_SIG
- Email: <haskell@lists.fedoraproject.org>
- Release notes owner:
Current status
- Targeted release: Fedora 30
- Last updated: 2019-03-12
- Tracker bug: #1676696
- Release notes tracker: #297
Detailed Description
The Fedora Haskell packages will be updated to ghc-8.4.4 and Stackage LTS 12 versions.
Benefit to Fedora
This updates Fedora to the latest stable release of GHC 8.4, with a focus on performance, stability, consolidation, and numerous cleanups throughout the compiler:
- Further refinement of TypeInType, including significant improvements in error messages.
- Improvements in code generation resulting in noticable performance improvements in some types of programs.
- Core library improvements, including phase 2 of the Semigroup/Monoid proposal
- Many improvements to instance deriving
- The resolution of nearly 300 other tickets for the 8.4.1 major release, and further bugfixes in the subsequent stable minor version releases
Scope
- Proposal owners:
- Request f30-ghc Koji sidetag for building (done)
- Update the ghc master branch to version 8.4.4 (rebasing to version from the ghc:8.4 module stream) [done]
- Update Haskell packages to Stackage LTS 12 versions using
cabal-rpm update
[done] - Rebuild all packages in
rpmbuild-order
locally [done] - Some old unused libraries no longer in Stackage may be retired from Rawhide at this time.
- Build everything in the Koji f30-ghc sidetag in
rpmbuild-order
[done] - Request releng to move all the rebuilt packages into Rawhide [done]
- Add Obsoletes needed for any deprecated packages
- Other developers: all required packages will be rebuilt by the Haskell SIG, though we are open to support from any of the few packagers outside the SIG
- Release engineering: issue #8014 (a check of an impact with Release Engineering is needed)
- List of deliverables: N/A (not a System Wide Change)
- Policies and guidelines: N/A (not a System Wide Change)
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
Users will need to recompile their Haskell code with the new version of ghc and libraries.
How To Test
dnf install ghc-*-devel
dnf install cabal-install pandoc ShellCheck
cabal update && cabal install some-pkg
ghci
dnf update ghc-*-devel
User Experience
Users will have the latest really stable Haskell package releases available to them through the official Fedora repo.
(Note the latest Stackage LTS 13 release is actually with the newer ghc-8.6 major version but it has some issues including not building on s390x yet and less packages and maturity, so we are deliberately not jumping a major release for this change.)
Dependencies
N/A (not a System Wide Change)
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Proposal owner will revert git master branches to the mass rebuilt F29 versions package set
- Contingency deadline: Before branching of F30
- Blocks release? N/A (not a System Wide Change)
- Blocks product? N/A
Documentation
- https://ghc.haskell.org/trac/ghc/blog/ghc-8.4.1-released
- https://ghc.haskell.org/trac/ghc/blog/ghc-8.4.2-released
- https://ghc.haskell.org/trac/ghc/blog/ghc-8.4.3-released
- https://ghc.haskell.org/trac/ghc/blog/ghc-8.4.4-released