[Git][ghc/ghc][wip/T24652] Remove unecessary stage0 packages

Teo Camarasu (@teo) gitlab at gitlab.haskell.org
Thu Apr 18 10:50:24 UTC 2024



Teo Camarasu pushed to branch wip/T24652 at Glasgow Haskell Compiler / GHC


Commits:
673bb991 by Teo Camarasu at 2024-04-18T11:50:15+01:00
Remove unecessary stage0 packages

Historically quite a few packages had to be stage0 as they depended on
`template-haskell` and that was stage0. In #23536 we made it so that was
no longer the case. This allows us to remove a bunch of packages from
this list.

Resolves #24652

- - - - -


2 changed files:

- hadrian/src/Rules/ToolArgs.hs
- hadrian/src/Settings/Default.hs


Changes:

=====================================
hadrian/src/Rules/ToolArgs.hs
=====================================
@@ -132,17 +132,9 @@ mkToolTarget es p = do
 -- critically the `exe:ghc` component as that depends on the GHC library
 -- which takes a while to compile.
 toolTargets :: [Package]
-toolTargets = [ binary
-              , bytestring
-              , cabalSyntax
+toolTargets = [ cabalSyntax
               , cabal
               , compiler
-              , containers
-              , directory
-              , process
-              , exceptions
-              , filepath
-              , osString
               -- , ghc     -- # depends on ghc library
               -- , runGhc  -- # depends on ghc library
               , ghcBoot
@@ -157,15 +149,12 @@ toolTargets = [ binary
               , hsc2hs  -- # executable
               , hpc
               , hpcBin  -- # executable
-              , mtl
-              , parsec
-              , time
               , templateHaskellNext
-              , text
-              , transformers
               , semaphoreCompat
+              , time -- depends on win32
               , unlit  -- # executable
-              ] ++ if windowsHost then [ win32 ] else [ unix ]
+              , if windowsHost then win32 else unix
+              ]
 
 -- | Create a mapping from files to which component it belongs to.
 dirMap :: Action [(FilePath, (Package, [String]))]


=====================================
hadrian/src/Settings/Default.hs
=====================================
@@ -80,39 +80,27 @@ stageBootPackages = return
 stage0Packages :: Action [Package]
 stage0Packages = do
     cross <- flag CrossCompiling
-    return $ [ binary
-             , bytestring
-             , cabalSyntax
+    return $ [ cabalSyntax
              , cabal
              , compiler
-             , containers
-             , directory
-             , process
-             , exceptions
-             , filepath
              , ghc
-             , runGhc
              , ghcBoot
              , ghcBootThNext
-             , ghcPlatform
              , ghcHeap
+             , ghcPkg
+             , ghcPlatform
              , ghcToolchain
              , ghci
-             , ghcPkg
              , haddock
-             , hsc2hs
+             , hp2ps
              , hpc
              , hpcBin
-             , mtl
-             , osString
-             , parsec
+             , hsc2hs
+             , runGhc
              , semaphoreCompat
-             , time
              , templateHaskellNext
-             , text
-             , transformers
+             , time -- depends on win32
              , unlit
-             , hp2ps
              , if windowsHost then win32 else unix
              ]
           ++ [ terminfo | not windowsHost, not cross ]
@@ -143,12 +131,16 @@ stage1Packages = do
       [ libraries0 -- Build all Stage0 libraries in Stage1
       , [ array
         , base
+        , binary
+        , bytestring
         , containers
         , deepseq
+        , directory
         , exceptions
+        , filepath
         , ghc
-        , ghcBootTh
         , ghcBignum
+        , ghcBootTh
         , ghcCompact
         , ghcExperimental
         , ghcInternal
@@ -158,11 +150,18 @@ stage1Packages = do
         , hp2ps
         , hsc2hs
         , integerGmp
+        , mtl
+        , osString
+        , parsec
         , pretty
+        , process
         , rts
         , semaphoreCompat
-        , templateHaskell
         , stm
+        , templateHaskell
+        , text
+        , time
+        , transformers
         , unlit
         , xhtml
         , if winTarget then win32 else unix



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/673bb9916a84c5a451057ce7c81a12cb04e3056e

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/673bb9916a84c5a451057ce7c81a12cb04e3056e
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20240418/06529694/attachment-0001.html>


More information about the ghc-commits mailing list