move programPath out of Config.Files to Annex.Path
This works around horribleness in the Mavericks cpp, which falls over on the #if when configure is running. Moving it avoids the file being built at that point. But it's also a location that makes sense..
This commit is contained in:
parent
b14d03ce7c
commit
f913deab78
3 changed files with 35 additions and 23 deletions
34
Annex/Path.hs
Normal file
34
Annex/Path.hs
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
{- git-annex program path
|
||||||
|
-
|
||||||
|
- Copyright 2013 Joey Hess <joey@kitenet.net>
|
||||||
|
-
|
||||||
|
- Licensed under the GNU GPL version 3 or higher.
|
||||||
|
-}
|
||||||
|
|
||||||
|
{-# LANGUAGE CPP #-}
|
||||||
|
|
||||||
|
module Annex.Path where
|
||||||
|
|
||||||
|
import Common
|
||||||
|
import Config.Files
|
||||||
|
import System.Environment
|
||||||
|
|
||||||
|
{- A fully qualified path to the currently running git-annex program.
|
||||||
|
-
|
||||||
|
- getExecutablePath is available since ghc 7.4.2. On OSs it supports
|
||||||
|
- well, it returns the complete path to the program. But, on other OSs,
|
||||||
|
- it might return just the basename.
|
||||||
|
-}
|
||||||
|
programPath :: IO (Maybe FilePath)
|
||||||
|
programPath = do
|
||||||
|
#if MIN_VERSION_base(4,6,0)
|
||||||
|
exe <- getExecutablePath
|
||||||
|
p <- if isAbsolute exe
|
||||||
|
then return exe
|
||||||
|
else readProgramFile
|
||||||
|
#else
|
||||||
|
p <- readProgramFile
|
||||||
|
#endif
|
||||||
|
-- In case readProgramFile returned just the command name,
|
||||||
|
-- fall back to finding it in PATH.
|
||||||
|
searchPath p
|
|
@ -27,6 +27,7 @@ import qualified Types.Key
|
||||||
import Assistant.TransferQueue
|
import Assistant.TransferQueue
|
||||||
import Assistant.TransferSlots
|
import Assistant.TransferSlots
|
||||||
import Remote (remoteFromUUID)
|
import Remote (remoteFromUUID)
|
||||||
|
import Annex.Path
|
||||||
import Config.Files
|
import Config.Files
|
||||||
import Utility.ThreadScheduler
|
import Utility.ThreadScheduler
|
||||||
import Utility.Tmp
|
import Utility.Tmp
|
||||||
|
|
|
@ -5,14 +5,11 @@
|
||||||
- Licensed under the GNU GPL version 3 or higher.
|
- Licensed under the GNU GPL version 3 or higher.
|
||||||
-}
|
-}
|
||||||
|
|
||||||
{-# LANGUAGE CPP #-}
|
|
||||||
|
|
||||||
module Config.Files where
|
module Config.Files where
|
||||||
|
|
||||||
import Common
|
import Common
|
||||||
import Utility.Tmp
|
import Utility.Tmp
|
||||||
import Utility.FreeDesktop
|
import Utility.FreeDesktop
|
||||||
import System.Environment
|
|
||||||
|
|
||||||
{- ~/.config/git-annex/file -}
|
{- ~/.config/git-annex/file -}
|
||||||
userConfigFile :: FilePath -> IO FilePath
|
userConfigFile :: FilePath -> IO FilePath
|
||||||
|
@ -70,23 +67,3 @@ readProgramFile = do
|
||||||
)
|
)
|
||||||
where
|
where
|
||||||
cmd = "git-annex"
|
cmd = "git-annex"
|
||||||
|
|
||||||
{- A fully qualified path to the currently running git-annex program.
|
|
||||||
-
|
|
||||||
- getExecutablePath is available since ghc 7.4.2. On OSs it supports
|
|
||||||
- well, it returns the complete path to the program. But, on other OSs,
|
|
||||||
- it might return just the basename.
|
|
||||||
-}
|
|
||||||
programPath :: IO (Maybe FilePath)
|
|
||||||
programPath = do
|
|
||||||
#if MIN_VERSION_base(4,6,0)
|
|
||||||
exe <- getExecutablePath
|
|
||||||
p <- if isAbsolute exe
|
|
||||||
then return exe
|
|
||||||
else readProgramFile
|
|
||||||
#else
|
|
||||||
p <- readProgramFile
|
|
||||||
#endif
|
|
||||||
-- In case readProgramFile returned just the command name,
|
|
||||||
-- fall back to finding it in PATH.
|
|
||||||
searchPath p
|
|
||||||
|
|
Loading…
Reference in a new issue