Don't include core exes

This commit is contained in:
Michael Snoyman 2014-12-07 16:18:59 +02:00
parent e97ac30568
commit bba7c5a180

View File

@ -149,7 +149,7 @@ newBuildPlan = liftIO $ do
coreExes <- getCoreExecutables coreExes <- getCoreExecutables
extraOrig <- getLatestDescriptions (isAllowed core) mkPackageBuild extraOrig <- getLatestDescriptions (isAllowed core) mkPackageBuild
let toolMap = makeToolMap extraOrig let toolMap = makeToolMap extraOrig
extra = populateUsers $ removeUnincluded toolMap extraOrig extra = populateUsers $ removeUnincluded toolMap coreExes extraOrig
toolNames :: [ExeName] toolNames :: [ExeName]
toolNames = concatMap (Map.keys . seTools . fcExtra . pbDesc) extra toolNames = concatMap (Map.keys . seTools . fcExtra . pbDesc) extra
tools <- topologicalSortTools toolMap $ mapFromList $ do tools <- topologicalSortTools toolMap $ mapFromList $ do
@ -207,9 +207,10 @@ data TopologicalSortException key = NoEmptyDeps (Map key (Set key))
instance (Show key, Typeable key) => Exception (TopologicalSortException key) instance (Show key, Typeable key) => Exception (TopologicalSortException key)
removeUnincluded :: Map ExeName (Set PackageName) removeUnincluded :: Map ExeName (Set PackageName)
-> Set ExeName -- ^ core exes
-> Map PackageName (PackageBuild FlatComponent) -> Map PackageName (PackageBuild FlatComponent)
-> Map PackageName (PackageBuild FlatComponent) -> Map PackageName (PackageBuild FlatComponent)
removeUnincluded toolMap orig = removeUnincluded toolMap coreExes orig =
mapFromList $ filter (\(x, _) -> x `member` included) $ mapToList orig mapFromList $ filter (\(x, _) -> x `member` included) $ mapToList orig
where where
included :: Set PackageName included :: Set PackageName
@ -225,7 +226,8 @@ removeUnincluded toolMap orig =
Just pb -> do Just pb -> do
mapM_ (add . fst) $ mapToList $ fcDeps $ pbDesc pb mapM_ (add . fst) $ mapToList $ fcDeps $ pbDesc pb
forM_ (map fst $ mapToList $ seTools $ fcExtra $ pbDesc pb) $ forM_ (map fst $ mapToList $ seTools $ fcExtra $ pbDesc pb) $
\exeName -> mapM_ add $ fromMaybe mempty $ lookup exeName toolMap \exeName -> when (exeName `notMember` coreExes)
$ mapM_ add $ fromMaybe mempty $ lookup exeName toolMap
populateUsers :: Map PackageName (PackageBuild FlatComponent) populateUsers :: Map PackageName (PackageBuild FlatComponent)
-> Map PackageName (PackageBuild FlatComponent) -> Map PackageName (PackageBuild FlatComponent)