From 6882787d79f3fa00a2486b06cd9c8d41dbe1137b Mon Sep 17 00:00:00 2001 From: Lautaro Martin Emanuel <emlautarom1@gmail.com> Date: Sat, 14 Mar 2020 22:29:59 -0300 Subject: [PATCH] Installing (copy or symlink) executable message prints destination. --- cabal-install/Distribution/Client/CmdInstall.hs | 8 +++++--- cabal-install/Distribution/Client/InstallSymlink.hs | 4 ++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/cabal-install/Distribution/Client/CmdInstall.hs b/cabal-install/Distribution/Client/CmdInstall.hs index 0a330707fa..b741cd0c6a 100644 --- a/cabal-install/Distribution/Client/CmdInstall.hs +++ b/cabal-install/Distribution/Client/CmdInstall.hs @@ -835,24 +835,26 @@ installBuiltExe installBuiltExe verbosity overwritePolicy sourceDir exeName finalExeName installdir InstallMethodSymlink = do - notice verbosity $ "Symlinking '" <> exeName <> "'" + notice verbosity $ "Symlinking '" <> exeName <> "' to '" <> destination <> "'" symlinkBinary overwritePolicy installdir sourceDir finalExeName exeName + where + destination = installdir </> finalExeName installBuiltExe verbosity overwritePolicy sourceDir exeName finalExeName installdir InstallMethodCopy = do - notice verbosity $ "Copying '" <> exeName <> "'" + notice verbosity $ "Copying '" <> exeName <> "' to '" <> destination <> "'" exists <- doesPathExist destination case (exists, overwritePolicy) of (True , NeverOverwrite ) -> pure False (True , AlwaysOverwrite) -> remove >> copy (False, _ ) -> copy where - source = sourceDir </> exeName + source = sourceDir </> exeName destination = installdir </> finalExeName remove = do isDir <- doesDirectoryExist destination diff --git a/cabal-install/Distribution/Client/InstallSymlink.hs b/cabal-install/Distribution/Client/InstallSymlink.hs index 522f8dfc9d..42c10d8bdf 100644 --- a/cabal-install/Distribution/Client/InstallSymlink.hs +++ b/cabal-install/Distribution/Client/InstallSymlink.hs @@ -186,6 +186,10 @@ symlinkBinaries platform comp overwritePolicy cinfo = compilerInfo comp (CompilerId compilerFlavor _) = compilerInfoId cinfo +-- | Symlink binary. +-- +-- The paths are take in pieces, so we can make relative link when possible. +-- symlinkBinary :: OverwritePolicy -- ^ Whether to force overwrite an existing file -> FilePath -- ^ The canonical path of the public bin dir eg -- GitLab