more OsPath conversion

Git.Types now uses it, as does TopFilePath, making for plenty of new
compile errors needing fixing.

Sponsored-by: Brock Spratlen
This commit is contained in:
Joey Hess 2025-01-23 16:15:00 -04:00
parent 12660314f1
commit ea775baccd
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
22 changed files with 159 additions and 163 deletions

View file

@ -11,12 +11,8 @@
module Build.DesktopFile where
import Utility.Exception
import Common
import Utility.FreeDesktop
import Utility.Path
import Utility.Monad
import Utility.SystemDirectory
import Utility.FileSystemEncoding
import Config.Files
import Utility.OSX
import Assistant.Install.AutoStart
@ -25,8 +21,6 @@ import Assistant.Install.Menu
import System.Environment
#ifndef mingw32_HOST_OS
import System.Posix.User
import Data.Maybe
import Control.Applicative
import Prelude
#endif
@ -42,10 +36,10 @@ systemwideInstall = isroot <||> (not <$> userdirset)
systemwideInstall = return False
#endif
inDestDir :: FilePath -> IO FilePath
inDestDir :: OsPath -> IO OsPath
inDestDir f = do
destdir <- catchDefaultIO "" (getEnv "DESTDIR")
return $ destdir ++ "/" ++ f
return $ toOsPath destdir <> literalOsPath "/" <> f
writeFDODesktop :: FilePath -> IO ()
writeFDODesktop command = do
@ -54,7 +48,7 @@ writeFDODesktop command = do
datadir <- if systemwide then return systemDataDir else userDataDir
menufile <- inDestDir (desktopMenuFilePath "git-annex" datadir)
icondir <- inDestDir (iconDir datadir)
installMenu command menufile "doc" icondir
installMenu command menufile (literalOsPath "doc") icondir
configdir <- if systemwide then return systemConfigDir else userConfigDir
installAutoStart command
@ -78,8 +72,8 @@ install command = do
( return ()
, do
programfile <- inDestDir =<< programFile
createDirectoryIfMissing True (fromRawFilePath (parentDir (toRawFilePath programfile)))
writeFile programfile command
createDirectoryIfMissing True (parentDir programfile)
writeFile (fromOsPath programfile) command
)
installUser :: FilePath -> IO ()