@@ -149,7 +149,7 @@ newBuildPlan = liftIO $ do
149149 coreExes <- getCoreExecutables
150150 extraOrig <- getLatestDescriptions (isAllowed core) mkPackageBuild
151151 let toolMap = makeToolMap extraOrig
152− extra = populateUsers $ removeUnincluded toolMap extraOrig
152+ extra = populateUsers $ removeUnincluded toolMap coreExes extraOrig
153153 toolNames :: [ExeName]
154154 toolNames = concatMap (Map.keys . seTools . fcExtra . pbDesc) extra
155155 tools <- topologicalSortTools toolMap $ mapFromList $ do
@@ -207,9 +207,10 @@ data TopologicalSortException key = NoEmptyDeps (Map key (Set key))
207207instance (Show key, Typeable key) => Exception (TopologicalSortException key)
208208
209209removeUnincluded :: Map ExeName (Set PackageName)
210+ -> Set ExeName -- ^ core exes
210211 -> Map PackageName (PackageBuild FlatComponent)
211212 -> Map PackageName (PackageBuild FlatComponent)
212−removeUnincluded toolMap orig =
213+removeUnincluded toolMap coreExes orig =
213214 mapFromList $ filter (\(x, _) -> x `member` included) $ mapToList orig
214215 where
215216 included :: Set PackageName
@@ -225,7 +226,8 @@ removeUnincluded toolMap orig =
225226 Just pb -> do
226227 mapM_ (add . fst) $ mapToList $ fcDeps $ pbDesc pb
227228 forM_ (map fst $ mapToList $ seTools $ fcExtra $ pbDesc pb) $
228− \exeName -> mapM_ add $ fromMaybe mempty $ lookup exeName toolMap
229+ \exeName -> when (exeName `notMember` coreExes)
230+ $ mapM_ add $ fromMaybe mempty $ lookup exeName toolMap
229231
230232populateUsers :: Map PackageName (PackageBuild FlatComponent)
231233 -> Map PackageName (PackageBuild FlatComponent)