(Created page with "<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name. This keeps all change proposals in the same namespace --> =...") |
(→Scope) |
||
Line 68: | Line 68: | ||
<!-- 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/issues #Releng issue number] | <!-- * Release engineering: [https://pagure.io/releng/issues #Releng issue number] REQUIRED FOR SYSTEM WIDE 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 --> |
Revision as of 06:35, 2 April 2022
Haskell GHC 9.0 & Stackage LTS 19
Summary
The GHC Haskell compiler will be updated from major version 8.10 to 9.0, and Haskell packages will be updated from Stackage LTS 18 to LTS 19 versions.
Owner
- Name: Jens Petersen
- Email: petersen@redhat.com
- Name: Haskell SIG
- Email: haskell@lists.fedoraproject.org
Current status
- Targeted release: Fedora Linux 37
- Last updated: 2022-04-02
- 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 37, the GHC Haskell compiler will be updated from version 8.10.5 to the latest stable 9.0.2 release (rebasing from the ghc9.0 package). Along with this, Haskell packages in Stackage (the stable Haskell source package distribution) will be updated from the versions in LTS 18 to latest LTS 19 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 Stackage LTS.
GHC 9.0 is first major release of the GHC 9 series and features performance improvements, new language extension features (in particular Linear types support), and bugfixes (see the release notes linked in the Documentation section for more details).
Scope
- Proposal owners:
- rebase ghc to 9.0.2
- update ghc-rpm-macros to the final version for F37
- refresh packagings with the latest cabal-rpm release
- update packages to latest Stackage LTS 19 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 before the mass rebuild
- Other developers:
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with Objectives:
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.0 when they next build them and might need some minor code tweaks.
How To Test
- install ghc and cabal-install
- install pandoc, ShellCheck, git-annex, hadolint, stack
- install ghc-*-devel or ghc-*-prof or ghc-*-doc
- cabal-rpm builddep <favouritepackage>; cabal install <favouritepackage>
- test upgrades of F36 Haskell packages to F37
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 be updated from 3.2 to 3.4.
Dependencies
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 F36.
- Contingency deadline: Beta Freeze
- 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
- https://www.haskell.org/ghc/blog/20210204-ghc-9.0.1-released.html
- https://downloads.haskell.org/~ghc/9.0.2/docs/html/users_guide/9.0.1-notes.html
- https://www.haskell.org/ghc/blog/20211225-ghc-9.0.2-released.html
- https://downloads.haskell.org/~ghc/9.0.2/docs/html/users_guide/9.0.2-notes.html
Release Notes
The Haskell GHC compiler has been updated from 8.10.5 to 9.0.2 with many improvements.