on master help sign in
Don't include core exes
bba7c5aMichael Snoyman
Stackage2/BuildPlan.hs+5−3
@@ -149,7 +149,7 @@ newBuildPlan = liftIO $ do
149 coreExes <- getCoreExecutables
149 coreExes <- getCoreExecutables
150 extraOrig <- getLatestDescriptions (isAllowed core) mkPackageBuild
150 extraOrig <- getLatestDescriptions (isAllowed core) mkPackageBuild
151 let toolMap = makeToolMap extraOrig
151 let toolMap = makeToolMap extraOrig
152− extra = populateUsers $ removeUnincluded toolMap extraOrig
152+ extra = populateUsers $ removeUnincluded toolMap coreExes extraOrig
153 toolNames :: [ExeName]
153 toolNames :: [ExeName]
154 toolNames = concatMap (Map.keys . seTools . fcExtra . pbDesc) extra
154 toolNames = concatMap (Map.keys . seTools . fcExtra . pbDesc) extra
155 tools <- topologicalSortTools toolMap $ mapFromList $ do
155 tools <- topologicalSortTools toolMap $ mapFromList $ do
@@ -207,9 +207,10 @@ data TopologicalSortException key = NoEmptyDeps (Map key (Set key))
207instance (Show key, Typeable key) => Exception (TopologicalSortException key)
207instance (Show key, Typeable key) => Exception (TopologicalSortException key)
208
208
209removeUnincluded :: Map ExeName (Set PackageName)
209removeUnincluded :: Map ExeName (Set PackageName)
210+ -> Set ExeName -- ^ core exes
210 -> Map PackageName (PackageBuild FlatComponent)
211 -> Map PackageName (PackageBuild FlatComponent)
211 -> Map PackageName (PackageBuild FlatComponent)
212 -> Map PackageName (PackageBuild FlatComponent)
212−removeUnincluded toolMap orig =
213+removeUnincluded toolMap coreExes orig =
213 mapFromList $ filter (\(x, _) -> x `member` included) $ mapToList orig
214 mapFromList $ filter (\(x, _) -> x `member` included) $ mapToList orig
214 where
215 where
215 included :: Set PackageName
216 included :: Set PackageName
@@ -225,7 +226,8 @@ removeUnincluded toolMap orig =
225 Just pb -> do
226 Just pb -> do
226 mapM_ (add . fst) $ mapToList $ fcDeps $ pbDesc pb
227 mapM_ (add . fst) $ mapToList $ fcDeps $ pbDesc pb
227 forM_ (map fst $ mapToList $ seTools $ fcExtra $ pbDesc pb) $
228 forM_ (map fst $ mapToList $ seTools $ fcExtra $ pbDesc pb) $
229+ \exeName -> when (exeName `notMember` coreExes)
228− \exeName -> mapM_ add $ fromMaybe mempty $ lookup exeName toolMap
230+ $ mapM_ add $ fromMaybe mempty $ lookup exeName toolMap
229
231
230populateUsers :: Map PackageName (PackageBuild FlatComponent)
232populateUsers :: Map PackageName (PackageBuild FlatComponent)
231 -> Map PackageName (PackageBuild FlatComponent)
233 -> Map PackageName (PackageBuild FlatComponent)