From Fedora Project Wiki

Revision as of 14:53, 12 March 2019 by Petersen (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

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
  • 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

Release Notes