diff options
-rw-r--r-- | pandoc.cabal | 3 | ||||
-rw-r--r-- | pandoc.hs | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/pandoc.cabal b/pandoc.cabal index e8252293b..677fb31ac 100644 --- a/pandoc.cabal +++ b/pandoc.cabal @@ -424,7 +424,8 @@ Executable pandoc aeson >= 0.7.0.5 && < 0.12, yaml >= 0.8.8.2 && < 0.9, containers >= 0.1 && < 0.6, - HTTP >= 4000.0.5 && < 4000.4 + HTTP >= 4000.0.5 && < 4000.4, + process >= 1.0 && < 1.5 if flag(network-uri) Build-Depends: network-uri >= 2.6 && < 2.7, network >= 2.6 else @@ -52,6 +52,7 @@ import Data.Char ( toLower, toUpper ) import Data.List ( delete, intercalate, isPrefixOf, isSuffixOf, sort ) import System.Directory ( getAppUserDataDirectory, findExecutable, doesFileExist, Permissions(..), getPermissions ) +import System.Process ( readProcessWithExitCode ) import System.IO ( stdout, stderr ) import System.IO.Error ( isDoesNotExistError ) import qualified Control.Exception as E @@ -1401,8 +1402,8 @@ convertWithOpts opts args = do _ | html5Output -> "wkhtmltopdf" _ -> latexEngine -- check for pdf creating program - mbPdfProg <- findExecutable pdfprog - when (isNothing mbPdfProg) $ + (ec,_,_) <- readProcessWithExitCode pdfprog ["--version"] "" + when (ec /= ExitSuccess) $ err 41 $ pdfprog ++ " not found. " ++ pdfprog ++ " is needed for pdf output." |