80 lines
2.2 KiB
Nix
80 lines
2.2 KiB
Nix
{ pkgs, haskellLib }:
|
|
|
|
with haskellLib;
|
|
|
|
self: super: {
|
|
# Disable MicroHs core libraries
|
|
base = null;
|
|
bytestring = null;
|
|
deepseq = null;
|
|
directory = null;
|
|
process = null;
|
|
text = null;
|
|
MicroHs = null;
|
|
|
|
# External MicroHs core libraries
|
|
ghc-compat = doDistribute (markUnbroken super.ghc-compat);
|
|
|
|
# Bootstrap MicroCabal
|
|
MicroCabal = self.mkDerivation {
|
|
pname = "MicroCabal";
|
|
version = self.ghc.microcabal-stage1.version;
|
|
src = self.ghc.microcabal-stage1.src;
|
|
isLibrary = false;
|
|
isExecutable = true;
|
|
executableHaskellDepends = with self; [ base ];
|
|
inherit (self.ghc.microcabal-stage1.meta)
|
|
description
|
|
homepage
|
|
license
|
|
mainProgram
|
|
maintainers
|
|
;
|
|
};
|
|
|
|
# hackage-packages does not include GHC core libraries
|
|
binary = markBroken self.binary_0_8_9_3;
|
|
Cabal = doDistribute self.Cabal_3_16_1_0;
|
|
Cabal-syntax = doDistribute self.Cabal-syntax_3_16_1_0;
|
|
containers = doDistribute self.containers_0_8;
|
|
exceptions = doDistribute self.exceptions_0_10_12;
|
|
filepath = doDistribute self.filepath_1_5_5_0;
|
|
ghc-bignum = null;
|
|
ghc-boot = null;
|
|
ghc-boot-th = null;
|
|
ghc-compact = null;
|
|
ghc-experimental = null;
|
|
ghc-heap = null;
|
|
ghc-internal = null;
|
|
ghc-platform = null;
|
|
ghc-prim = null;
|
|
ghci = null;
|
|
haskeline = doDistribute self.haskeline_0_8_4_1;
|
|
hpc = markBroken self.hpc_0_7_0_2;
|
|
integer-gmp = markBroken self.integer-gmp_1_1;
|
|
libiserv = null;
|
|
mtl = doDistribute self.mtl_2_3_2;
|
|
os-string = doDistribute self.os-string_2_0_10;
|
|
parsec = doDistribute self.parsec_3_1_18_0;
|
|
pretty = markBroken self.pretty_1_1_3_6;
|
|
rts = null;
|
|
semaphore-compat = null;
|
|
stm = null;
|
|
system-cxx-std-lib = null;
|
|
template-haskell = null;
|
|
terminfo = doDistribute self.terminfo_0_4_1_7;
|
|
time = doDistribute self.time_1_15;
|
|
transformers = doDistribute self.transformers_0_6_3_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;
|
|
array-mhs = doDistribute (markUnbroken super.array-mhs);
|
|
random = self.random-mhs;
|
|
random-mhs = doDistribute (markUnbroken super.random-mhs);
|
|
|
|
# Depends on time when not using GHC
|
|
splitmix = addBuildDepends [ self.time ] super.splitmix;
|
|
}
|