diff --git a/hledger/Hledger/Cli/Utils.hs b/hledger/Hledger/Cli/Utils.hs index 63d742a28..10ed758c3 100644 --- a/hledger/Hledger/Cli/Utils.hs +++ b/hledger/Hledger/Cli/Utils.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE ScopedTypeVariables #-} +{-# LANGUAGE ScopedTypeVariables, CPP #-} {-| Utilities for top-level modules and ghci. See also Hledger.Read and @@ -34,8 +34,10 @@ import System.Process (readProcessWithExitCode) import System.Time (ClockTime, getClockTime, diffClockTimes, TimeDiff(TimeDiff)) import Test.HUnit import Text.Printf +#if MIN_VERSION_directory(1,2,0) import System.Time (ClockTime(TOD)) import Data.Time.Clock.POSIX (utcTimeToPOSIXSeconds) +#endif import Hledger.Cli.Options import Hledger.Data @@ -101,9 +103,13 @@ fileModificationTime :: FilePath -> IO ClockTime fileModificationTime f | null f = getClockTime | otherwise = (do +#if MIN_VERSION_directory(1,2,0) utc <- getModificationTime f let nom = utcTimeToPOSIXSeconds utc let clo = TOD (read $ takeWhile (`elem` "0123456789") $ show nom) 0 -- XXX read +#else + clo <- getModificationTime f +#endif return clo ) `C.catch` \(_::C.IOException) -> getClockTime diff --git a/hledger/hledger.cabal b/hledger/hledger.cabal index 4e56c7d50..e3c83c82e 100644 --- a/hledger/hledger.cabal +++ b/hledger/hledger.cabal @@ -67,7 +67,7 @@ library -- ,cabal-file-th ,containers ,cmdargs >= 0.10 && < 0.11 - ,directory >= 1.2 + ,directory ,filepath ,haskeline >= 0.6 && <= 0.8 ,HUnit @@ -120,7 +120,7 @@ executable hledger ,base >= 4.3 && < 5 ,containers ,cmdargs >= 0.10 && < 0.11 - ,directory >= 1.2 + ,directory ,filepath ,haskeline >= 0.6 && <= 0.8 ,HUnit