@@ -56,12 +56,15 @@ run = do
56 s2nPackageSetConfig = packageSetConfig { packageLoader = s2nLoader }
56 s2nPackageSetConfig = packageSetConfig { packageLoader = s2nLoader }
57 s2nPackageConfig = PackageConfig
57 s2nPackageConfig = PackageConfig
58 { enableCheck = opts ^. optDoCheckStackage
58 { enableCheck = opts ^. optDoCheckStackage
59− , enableHaddock = opts ^. optDoHaddockStackage
59+ , enableHaddock = opts ^. optDoHaddockStackage }
60− , enableBenchmark = False }
61 stackagePackages <- traverse (uncurry (buildNode s2nPackageSetConfig s2nPackageConfig))
60 stackagePackages <- traverse (uncurry (buildNode s2nPackageSetConfig s2nPackageConfig))
62 $ Map.toAscList (bpPackages buildPlan)
61 $ Map.toAscList (bpPackages buildPlan)
64+ -- Nixpkgs generic-builder puts hscolour on path for all libraries
66+ let hscolour = F.find ((== "hscolour") . nodeName) stackagePackages
67+ in maybe pkgs (`Set.insert` pkgs) hscolour
65 -- Find all reachable dependencies in stackage set to stick into
68 -- Find all reachable dependencies in stackage set to stick into
66 -- stackage packages file. This is performed on the full stackage
69 -- stackage packages file. This is performed on the full stackage
67 -- set rather than pruning stackage packages beforehand because
70 -- set rather than pruning stackage packages beforehand because
@@ -71,6 +74,7 @@ run = do
71 -- listed as well.
74 -- listed as well.
72 nodes = case opts ^. optOutPackagesClosure of
75 nodes = case opts ^. optOutPackagesClosure of
73 True -> Set.toAscList
76 True -> Set.toAscList
74 $ flip reachableDependencies stackagePackages
78 $ flip reachableDependencies stackagePackages
75 -- Originally reachable nodes are root nodes
79 -- Originally reachable nodes are root nodes
76 $ L.filter (\n -> mkPackageName (nodeName n) `Set.member` reachable) stackagePackages
80 $ L.filter (\n -> mkPackageName (nodeName n) `Set.member` reachable) stackagePackages
@@ -88,8 +92,7 @@ run = do
88 buildPlanFile = LH.buildPlanFilePath (opts ^. optLtsHaskellRepo) stackResolver
92 buildPlanFile = LH.buildPlanFilePath (opts ^. optLtsHaskellRepo) stackResolver
89 packageConfig = PackageConfig
93 packageConfig = PackageConfig
90 { enableCheck = opts ^. optDoCheckStackage
94 { enableCheck = opts ^. optDoCheckStackage
91− , enableHaddock = opts ^. optDoHaddockStackage
95+ , enableHaddock = opts ^. optDoHaddockStackage }
92− , enableBenchmark = False }
93 buildPlan <- LH.loadBuildPlan buildPlanFile
96 buildPlan <- LH.loadBuildPlan buildPlanFile
94 packageSetConfig <- LH.buildPackageSetConfig
97 packageSetConfig <- LH.buildPackageSetConfig
95 (opts ^. optHackageDb)
98 (opts ^. optHackageDb)