diff --git a/cabal-install/Distribution/Client/CmdInstall.hs b/cabal-install/Distribution/Client/CmdInstall.hs index 4238324559d..38421b73d95 100644 --- a/cabal-install/Distribution/Client/CmdInstall.hs +++ b/cabal-install/Distribution/Client/CmdInstall.hs @@ -58,7 +58,8 @@ import Distribution.Types.UnqualComponentName import Distribution.Verbosity ( Verbosity, normal ) import Distribution.Simple.Utils - ( wrapText, die', withTempDirectory, createDirectoryIfMissingVerbose ) + ( wrapText, die', notice + , withTempDirectory, createDirectoryIfMissingVerbose ) import qualified Data.Map as Map import System.Directory ( getTemporaryDirectory, makeAbsolute ) @@ -195,7 +196,7 @@ installAction (configFlags, configExFlags, installFlags, haddockFlags) $ projectConfigBuildOnly $ projectConfig $ baseCtx createDirectoryIfMissingVerbose verbosity False symlinkBindir - traverse_ (symlinkBuiltPackage mkPkgBinDir symlinkBindir) + traverse_ (symlinkBuiltPackage verbosity mkPkgBinDir symlinkBindir) $ Map.toList $ targetsMap buildCtx runProjectPostBuildPhase verbosity baseCtx buildCtx buildOutcomes where @@ -213,22 +214,24 @@ disableTestsBenchsByDefault configFlags = , configBenchmarks = Flag False <> configBenchmarks configFlags } -- | Symlink every exe from a package from the store to a given location -symlinkBuiltPackage :: (UnitId -> FilePath) -- ^ A function to get an UnitId's +symlinkBuiltPackage :: Verbosity + -> (UnitId -> FilePath) -- ^ A function to get an UnitId's -- store directory -> FilePath -- ^ Where to put the symlink -> ( UnitId , [(ComponentTarget, [TargetSelector])] ) -> IO () -symlinkBuiltPackage mkSourceBinDir destDir (pkg, components) = - traverse_ (symlinkBuiltExe (mkSourceBinDir pkg) destDir) exes +symlinkBuiltPackage verbosity mkSourceBinDir destDir (pkg, components) = + traverse_ (symlinkBuiltExe verbosity (mkSourceBinDir pkg) destDir) exes where exes = catMaybes $ (exeMaybe . fst) <$> components exeMaybe (ComponentTarget (CExeName exe) _) = Just exe exeMaybe _ = Nothing -- | Symlink a specific exe. -symlinkBuiltExe :: FilePath -> FilePath -> UnqualComponentName -> IO Bool -symlinkBuiltExe sourceDir destDir exe = +symlinkBuiltExe :: Verbosity -> FilePath -> FilePath -> UnqualComponentName -> IO Bool +symlinkBuiltExe verbosity sourceDir destDir exe = do + notice verbosity $ "Symlinking " ++ unUnqualComponentName exe symlinkBinary destDir sourceDir