From b23b370052efe85a0235a8865fc7613cdc1942d3 Mon Sep 17 00:00:00 2001 From: Alex Tunstall Date: Thu, 9 Apr 2026 17:13:35 +0100 Subject: [PATCH] top-level/release-haskell.nix: test GHC boot pkgs Test the GHC boot packages that are known to work with MicroHs and mark those that don't work as broken. --- .../haskell-modules/configuration-microhs.nix | 12 ++--- pkgs/top-level/release-haskell.nix | 45 ++++++++++++++++--- 2 files changed, 45 insertions(+), 12 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-microhs.nix b/pkgs/development/haskell-modules/configuration-microhs.nix index bdf91c6423ed..afeb84ac4217 100644 --- a/pkgs/development/haskell-modules/configuration-microhs.nix +++ b/pkgs/development/haskell-modules/configuration-microhs.nix @@ -33,7 +33,7 @@ self: super: { }; # hackage-packages does not include GHC core libraries - binary = self.binary_0_8_9_3; + binary = markBroken self.binary_0_8_9_3; Cabal = self.Cabal_3_16_1_0; Cabal-syntax = self.Cabal-syntax_3_16_1_0; containers = self.containers_0_8; @@ -49,13 +49,13 @@ self: super: { ghc-prim = null; ghci = null; haskeline = self.haskeline_0_8_4_1; - hpc = self.hpc_0_7_0_2; - integer-gmp = self.integer-gmp_1_1; + hpc = markBroken self.hpc_0_7_0_2; + integer-gmp = markBroken self.integer-gmp_1_1; libiserv = null; mtl = self.mtl_2_3_2; os-string = self.os-string_2_0_10; parsec = self.parsec_3_1_18_0; - pretty = self.pretty_1_1_3_6; + pretty = markBroken self.pretty_1_1_3_6; rts = null; semaphore-compat = null; stm = null; @@ -64,8 +64,8 @@ self: super: { terminfo = self.terminfo_0_4_1_7; time = self.time_1_15; transformers = self.transformers_0_6_3_0; - unix = self.unix_2_8_8_0; - xhtml = self.xhtml_3000_4_0_0; + unix = markBroken self.unix_2_8_8_0; + xhtml = markBroken self.xhtml_3000_4_0_0; # MicroHs replacements for widely used libraries array = self.array-mhs; diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix index fab634c34802..94d921fe217f 100644 --- a/pkgs/top-level/release-haskell.nix +++ b/pkgs/top-level/release-haskell.nix @@ -575,17 +575,50 @@ let compilerNames.ghc9123 ] released; - # MicroHs - array = [ - compilerNames.microhs - ]; + # MicroHs core packages ghc-compat = [ compilerNames.microhs ]; - hscolour = [ + MicroCabal = [ compilerNames.microhs ]; - MicroCabal = [ + + # MicroHs-specific replacement packages + array = [ + compilerNames.microhs + ]; + + # GHC boot packages known to be compatible with MicroHs + containers = [ + compilerNames.microhs + ]; + exceptions = [ + compilerNames.microhs + ]; + filepath = [ + compilerNames.microhs + ]; + mtl = [ + compilerNames.microhs + ]; + os-string = [ + compilerNames.microhs + ]; + parsec = [ + compilerNames.microhs + ]; + terminfo = [ + compilerNames.microhs + ]; + time = [ + compilerNames.microhs + ]; + transformers = [ + compilerNames.microhs + ]; + + # MicroHs upstream tested + hscolour = [ compilerNames.microhs ]; random = [