From b1e0c707bcf4e281d0bfefa06effc9b3fcb3f92e Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 19 May 2013 17:59:58 -0400 Subject: Allow building with gpg2. --- Utility/Gpg.hs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'Utility/Gpg.hs') diff --git a/Utility/Gpg.hs b/Utility/Gpg.hs index aa4a7af73..33a26e272 100644 --- a/Utility/Gpg.hs +++ b/Utility/Gpg.hs @@ -17,10 +17,16 @@ import System.Path import Common import Utility.Env +import qualified Build.SysConfig as SysConfig newtype KeyIds = KeyIds [String] deriving (Ord, Eq) +{- If a specific gpg command was found at configure time, use it. + - Otherwise, try to run gpg. -} +gpgcmd :: FilePath +gpgcmd = fromMaybe "gpg" SysConfig.gpg + stdParams :: [CommandParam] -> IO [String] stdParams params = do #ifndef __WINDOWS__ @@ -44,7 +50,7 @@ stdParams params = do readStrict :: [CommandParam] -> IO String readStrict params = do params' <- stdParams params - withHandle StdoutHandle createProcessSuccess (proc "gpg" params') $ \h -> do + withHandle StdoutHandle createProcessSuccess (proc gpgcmd params') $ \h -> do hSetBinaryMode h True hGetContentsStrict h @@ -53,7 +59,7 @@ readStrict params = do pipeStrict :: [CommandParam] -> String -> IO String pipeStrict params input = do params' <- stdParams params - withBothHandles createProcessSuccess (proc "gpg" params') $ \(to, from) -> do + withBothHandles createProcessSuccess (proc gpgcmd params') $ \(to, from) -> do hSetBinaryMode to True hSetBinaryMode from True hPutStr to input @@ -84,7 +90,7 @@ feedRead params passphrase feeder reader = do params' <- stdParams $ [Param "--batch"] ++ passphrasefd ++ params closeFd frompipe `after` - withBothHandles createProcessSuccess (proc "gpg" params') go + withBothHandles createProcessSuccess (proc gpgcmd params') go where go (to, from) = do void $ forkIO $ do -- cgit v1.2.3