- -- XXX This is an almighty hack, shadowing the base
- -- Setup.hs hack
- mkLib filt = case library pd of
- Just lib ->
- let ems = filter filt $ exposedModules lib
- in lib {
- exposedModules = ems
- }
- Nothing ->
- error "Expected a library, but none found"
- -- There's no files for GHC.Prim, so we will fail if we
- -- try to copy them
- pd_copy = pd { library = Just (mkLib ("GHC.Prim" /=)) }
- pd_reg = pd { library = Just (mkLib (const True)) }
+ -- This is an almighty hack. We need to register
+ -- base:GHC.Prim, but it doesn't exist, get built, get
+ -- haddocked, get copied, etc.
+ pd_reg = if pkgName (package pd) == "base"
+ then case library pd of
+ Just lib ->
+ let ems = "GHC.Prim" : exposedModules lib
+ lib' = lib { exposedModules = ems }
+ in pd { library = Just lib' }
+ Nothing ->
+ error "Expected a library, but none found"
+ else pd