@@ -56,12 +56,15 @@ run = do
5656 s2nPackageSetConfig = packageSetConfig { packageLoader = s2nLoader }
5757 s2nPackageConfig = PackageConfig
5858 { enableCheck = opts ^. optDoCheckStackage
59− , enableHaddock = opts ^. optDoHaddockStackage
60− , enableBenchmark = False }
59+ , enableHaddock = opts ^. optDoHaddockStackage }
6160 stackagePackages <- traverse (uncurry (buildNode s2nPackageSetConfig s2nPackageConfig))
6261 $ Map.toAscList (bpPackages buildPlan)
6362
6463 let
64+ -- Nixpkgs generic-builder puts hscolour on path for all libraries
65+ withHscolour pkgs =
66+ let hscolour = F.find ((== "hscolour") . nodeName) stackagePackages
67+ in maybe pkgs (`Set.insert` pkgs) hscolour
6568 -- Find all reachable dependencies in stackage set to stick into
6669 -- stackage packages file. This is performed on the full stackage
6770 -- set rather than pruning stackage packages beforehand because
@@ -71,6 +74,7 @@ run = do
7174 -- listed as well.
7275 nodes = case opts ^. optOutPackagesClosure of
7376 True -> Set.toAscList
77+ $ withHscolour
7478 $ flip reachableDependencies stackagePackages
7579 -- Originally reachable nodes are root nodes
7680 $ L.filter (\n -> mkPackageName (nodeName n) `Set.member` reachable) stackagePackages
@@ -88,8 +92,7 @@ run = do
8892 buildPlanFile = LH.buildPlanFilePath (opts ^. optLtsHaskellRepo) stackResolver
8993 packageConfig = PackageConfig
9094 { enableCheck = opts ^. optDoCheckStackage
91− , enableHaddock = opts ^. optDoHaddockStackage
92− , enableBenchmark = False }
95+ , enableHaddock = opts ^. optDoHaddockStackage }
9396 buildPlan <- LH.loadBuildPlan buildPlanFile
9497 packageSetConfig <- LH.buildPackageSetConfig
9598 (opts ^. optHackageDb)