From 7a6559af48d4668087387e03d11ef038ac4f9e6e Mon Sep 17 00:00:00 2001
From: Mikhail Glushenkov <mikhail.glushenkov@gmail.com>
Date: Tue, 19 Dec 2017 17:25:18 +0100
Subject: [PATCH] Unbreak the build with directory < 1.2.3.0.

See https://github.com/haskell/cabal/pull/4950#issuecomment-352753882
for context.
---
 .../Distribution/Client/Compat/Directory.hs         | 13 +++++++++++++
 cabal-install/Distribution/Client/Update.hs         |  3 ++-
 cabal-install/cabal-install.cabal                   |  2 ++
 3 files changed, 17 insertions(+), 1 deletion(-)
 create mode 100644 cabal-install/Distribution/Client/Compat/Directory.hs

diff --git a/cabal-install/Distribution/Client/Compat/Directory.hs b/cabal-install/Distribution/Client/Compat/Directory.hs
new file mode 100644
index 0000000000..0f9fc4218e
--- /dev/null
+++ b/cabal-install/Distribution/Client/Compat/Directory.hs
@@ -0,0 +1,13 @@
+{-# LANGUAGE CPP #-}
+module Distribution.Client.Compat.Directory (setModificationTime) where
+
+#if MIN_VERSION_directory(1,2,3)
+import System.Directory (setModificationTime)
+#else
+
+import Data.Time.Clock (UTCTime)
+
+setModificationTime :: FilePath -> UTCTime -> IO ()
+setModificationTime _fp _t = return ()
+
+#endif
diff --git a/cabal-install/Distribution/Client/Update.hs b/cabal-install/Distribution/Client/Update.hs
index 73561a63f6..5899221041 100644
--- a/cabal-install/Distribution/Client/Update.hs
+++ b/cabal-install/Distribution/Client/Update.hs
@@ -17,6 +17,8 @@ module Distribution.Client.Update
 
 import Distribution.Simple.Setup
          ( fromFlag )
+import Distribution.Client.Compat.Directory
+         ( setModificationTime )
 import Distribution.Client.Types
          ( Repo(..), RemoteRepo(..), maybeRepoRemote )
 import Distribution.Client.HttpUtils
@@ -40,7 +42,6 @@ import Distribution.Simple.Utils
 
 import qualified Data.ByteString.Lazy       as BS
 import Distribution.Client.GZipUtils (maybeDecompress)
-import System.Directory (setModificationTime)
 import System.FilePath ((<.>), dropExtension)
 import Data.Maybe (mapMaybe)
 import Data.Time (getCurrentTime)
diff --git a/cabal-install/cabal-install.cabal b/cabal-install/cabal-install.cabal
index 5479e42fb7..71d597d5eb 100644
--- a/cabal-install/cabal-install.cabal
+++ b/cabal-install/cabal-install.cabal
@@ -168,6 +168,7 @@ library
         Distribution.Client.CmdRepl
         Distribution.Client.CmdRun
         Distribution.Client.CmdTest
+        Distribution.Client.Compat.Directory
         Distribution.Client.Compat.ExecutablePath
         Distribution.Client.Compat.FileLock
         Distribution.Client.Compat.FilePerms
@@ -437,6 +438,7 @@ executable cabal
             Distribution.Client.CmdRepl
             Distribution.Client.CmdRun
             Distribution.Client.CmdTest
+            Distribution.Client.Compat.Directory
             Distribution.Client.Compat.ExecutablePath
             Distribution.Client.Compat.FileLock
             Distribution.Client.Compat.FilePerms
-- 
GitLab