@@ -74,7 +74,9 @@ waitForDeps toolMap packageMap activeComps bp pi action = do
74 mapM_ checkPackage $ Map.keys $ filterUnused $ sdPackages $ ppDesc $ piPlan pi
74 mapM_ checkPackage $ Map.keys $ filterUnused $ sdPackages $ ppDesc $ piPlan pi
75 forM_ (Map.keys $ filterUnused $ sdTools $ ppDesc $ piPlan pi) $ \exe -> do
75 forM_ (Map.keys $ filterUnused $ sdTools $ ppDesc $ piPlan pi) $ \exe -> do
76 case lookup exe toolMap >>= fromNullable . map checkPackage . setToList of
76 case lookup exe toolMap >>= fromNullable . map checkPackage . setToList of
78+ | isCoreExe exe -> return ()
77− Nothing -> throwSTM $ ToolMissing exe
79+ | otherwise -> throwSTM $ ToolMissing exe
78 Just packages -> ofoldl1' (<|>) packages
80 Just packages -> ofoldl1' (<|>) packages
@@ -95,6 +97,7 @@ waitForDeps toolMap packageMap activeComps bp pi action = do
95 unless res $ throwSTM $ DependencyFailed package
97 unless res $ throwSTM $ DependencyFailed package
97 isCore = (`member` siCorePackages (bpSystemInfo bp))
99 isCore = (`member` siCorePackages (bpSystemInfo bp))
100+ isCoreExe = (`member` siCoreExecutables (bpSystemInfo bp))
99withCounter counter = bracket_
102withCounter counter = bracket_
100 (atomically $ modifyTVar counter (+ 1))
103 (atomically $ modifyTVar counter (+ 1))