From Fedora Project Wiki
No edit summary
No edit summary
 
(14 intermediate revisions by 2 users not shown)
Line 34: Line 34:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1676696 #1676696]
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/297 #297]


== Detailed Description ==
== Detailed Description ==
Line 51: Line 52:
* Proposal owners:
* Proposal owners:
** Request f30-ghc Koji sidetag for building ([https://pagure.io/releng/issue/8014 done])
** Request f30-ghc Koji sidetag for building ([https://pagure.io/releng/issue/8014 done])
** Update the ghc master branch to version 8.4.4 (rebasing to the ghc:8.4 module stream)
** 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`
** Update Haskell packages to Stackage LTS 12 versions using `cabal-rpm update` [done]
** Rebuild all packages in `rpmbuild-order` locally
** Rebuild all packages in `rpmbuild-order` locally [done]
** Some old unused libraries no longer in Stackage may be retired from Rawhide at this time.
** Some old unused libraries no longer in Stackage may be retired from Rawhide at this time.
** If time permits there may be some packaging changes: to add back doc subpackages and use explicit files in .spec files
** Build everything in the Koji f30-ghc sidetag in `rpmbuild-order` [done]
** Build everything in the Koji f30-ghc sidetag
** Request releng to move all the rebuilt packages into Rawhide [done]
** Request releng to move all the rebuilt packages into Rawhide
** Add Obsoletes needed for any deprecated packages
** Add Obsoletes needed for any deprecated packages


* Other developers: all required packages will be rebuilt by the Haskell SIG, though we welcome any support from other packagers outside the SIG
* 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
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* Release engineering: [https://pagure.io/releng/issue/8014 #8014 issue number] (a check of an impact with Release Engineering is needed) <!-- REQUIRED FOR SYSTEM WIDE AS WELL AS FOR SELF CONTAINED CHANGES -->
* Release engineering: [https://pagure.io/releng/issue/8014 issue #8014] (a check of an impact with Release Engineering is needed) <!-- REQUIRED FOR SYSTEM WIDE AS WELL AS FOR SELF CONTAINED CHANGES -->
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing, and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing, and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
Line 91: Line 91:
Users will have the latest really stable Haskell package releases available to them through the official Fedora repo.
Users will have the latest really stable Haskell package releases available to them through the official Fedora repo.


(Note the latest Stackage LTS 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.)
(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 ==
== Dependencies ==
Line 103: Line 103:
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
* Contingency mechanism: (What to do?  Who will do it?) N/A (not a System Wide Change)  
* Contingency mechanism: (What to do?  Who will do it?) N/A (not a System Wide Change)  
** Revert git master branches to the mass rebuilt F29 versions package set  
** Proposal owner will revert git master branches to the mass rebuilt F29 versions package set  
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: Before branching of F30
* Contingency deadline: Before branching of F30
Line 114: Line 114:


* https://ghc.haskell.org/trac/ghc/blog/ghc-8.4.1-released
* 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.2-released
* https://ghc.haskell.org/trac/ghc/blog/ghc-8.4.3-released
* https://ghc.haskell.org/trac/ghc/blog/ghc-8.4.3-released
Line 126: Line 125:
-->
-->


[[Category:ChangePageIncomplete]]
[[Category:ChangeAcceptedF30]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->

Latest revision as of 14:53, 12 March 2019

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