-
-
Notifications
You must be signed in to change notification settings - Fork 118
Description
Motivation
Current ghc in repos is 9.4.8 (uses base 4.17), which was recommended version by GHCup project for a while.
However, now the recommended version is 9.6.7 (uses base 4.18) and some of our packages require even higher GHC version: for example, pandoc-crossref 0.3.22 requires GHC 9.8.* (uses base 4.19).
Moreover, I think it makes sense to try to use the newest GHC version that we can as our build tool, to simplify future package updates and anticipate stack upgrade problems.
Reducing stack size
Currently we have a lot of intermediate haskell-* packages, which are dynamically linked only into couple of real packages haskell-cabal-install and xmonad/xmonad-contrib with haskell-cabal-install requiring majority of these packages:
Before upgrading GHC to any version we should build haskell-cabal-install using static linking, thus eliminating the need for most of these packages.
The whole Haskell stack (build dependencies) then would look like this:
xmonad
We probably could not switch xmonad to static linking, because its configuration is written in Haskell and requires availability of some haskell-* dependencies.
However, there is some argument to dropping xmonad altogether and letting users build it from source using official build guide or maybe providing some Solus specific instructions in help center.
Plan
- Reduce stack size: eliminate most of
haskell-*packages by statically linkinghaskell-cabal-install - Upgrade
ghcto 9.8.4Note: GHC 9.10+ versions cannot be build with our current GHC 9.4.8, so we will still need such intermediate upgrade to either 9.6.7 or 9.8.4 for future versions
- Upgrade unblocked packages in the stack
- Consider upgrading
ghcto 9.12.2
Metadata
Metadata
Assignees
Labels
Type
Projects
Status