-
-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed
Description
In #12, I introduced a way for stacklock2nix to generate a completely new package set. Part of this includes creating an overlay that has the GHC boot packages set to null:
stacklock2nix/nix/build-support/stacklock2nix/default.nix
Lines 661 to 710 in 79f2b1f
| # An Nixpkgs Haskell overlay that has GHC boot packages set to `null`. This | |
| # is used as an initial overlay when creating a brand new package set. | |
| newPkgSetCompilerConfig = self: super: { | |
| # TODO: Should llvmPackages be enabled here? | |
| # llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages; | |
| # Disable GHC core libraries. | |
| array = null; | |
| base = null; | |
| binary = null; | |
| bytestring = null; | |
| Cabal = null; | |
| containers = null; | |
| deepseq = null; | |
| directory = null; | |
| exceptions = null; | |
| filepath = null; | |
| ghc-bignum = null; | |
| ghc-boot = null; | |
| ghc-boot-th = null; | |
| ghc-compact = null; | |
| ghc-heap = null; | |
| ghc-prim = null; | |
| ghci = null; | |
| haskeline = null; | |
| hpc = null; | |
| integer-gmp = null; | |
| libiserv = null; | |
| mtl = null; | |
| parsec = null; | |
| pretty = null; | |
| process = null; | |
| rts = null; | |
| stm = null; | |
| template-haskell = null; | |
| # GHC only builds terminfo if it is a native compiler | |
| # terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else self.terminfo_0_4_1_5; | |
| terminfo = null; | |
| text = null; | |
| time = null; | |
| transformers = null; | |
| unix = null; | |
| # GHC only bundles the xhtml library if haddock is enabled, check if this is | |
| # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463 | |
| # xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1; | |
| xhtml = null; | |
| }; |
I think this overlay could likely be defined automatically, without it having to be hard-coded. Here's a function from Nixpkgs doing something similar:
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed