aboutsummaryrefslogtreecommitdiff
path: root/Utility
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2017-11-09 12:47:05 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2017-11-09 12:47:05 -0400
commitac57659e61f9743aebd35258e89752ced0040f9f (patch)
tree4712861c73a7c7eb521d545cbfe61b9124d2fd49 /Utility
parent0d594ee1cde0f0b523d66062bcf2d0b854b400dc (diff)
use unix-compat 0.5 on windows
That version has my patches for the problems that Utility.PosixFiles was working around, so am able to get rid of that module now. This will later allow bringing back the custom-setup stanza in the cabal file. It will need to depend on unix-compat 0.5 on all OS's, which I'm not ready to do yet. This commit was sponsored by Nick Daly on Patreon.
Diffstat (limited to 'Utility')
-rw-r--r--Utility/DirWatcher/Win32Notify.hs2
-rw-r--r--Utility/Directory.hs2
-rw-r--r--Utility/FileMode.hs2
-rw-r--r--Utility/PosixFiles.hs42
-rw-r--r--Utility/Tmp.hs2
5 files changed, 4 insertions, 46 deletions
diff --git a/Utility/DirWatcher/Win32Notify.hs b/Utility/DirWatcher/Win32Notify.hs
index 3428f3db3..a2f40128f 100644
--- a/Utility/DirWatcher/Win32Notify.hs
+++ b/Utility/DirWatcher/Win32Notify.hs
@@ -11,7 +11,7 @@ import Common hiding (isDirectory)
import Utility.DirWatcher.Types
import System.Win32.Notify
-import qualified Utility.PosixFiles as Files
+import qualified System.PosixCompat.Files as Files
watchDir :: FilePath -> (FilePath -> Bool) -> Bool -> WatchHooks -> IO WatchManager
watchDir dir ignored scanevents hooks = do
diff --git a/Utility/Directory.hs b/Utility/Directory.hs
index c24f36da5..895581dff 100644
--- a/Utility/Directory.hs
+++ b/Utility/Directory.hs
@@ -16,6 +16,7 @@ module Utility.Directory (
import System.IO.Error
import Control.Monad
import System.FilePath
+import System.PosixCompat.Files
import Control.Applicative
import Control.Concurrent
import System.IO.Unsafe (unsafeInterleaveIO)
@@ -31,7 +32,6 @@ import Control.Monad.IfElse
#endif
import Utility.SystemDirectory
-import Utility.PosixFiles
import Utility.Tmp
import Utility.Exception
import Utility.Monad
diff --git a/Utility/FileMode.hs b/Utility/FileMode.hs
index d9a269448..370bcf62d 100644
--- a/Utility/FileMode.hs
+++ b/Utility/FileMode.hs
@@ -15,7 +15,7 @@ module Utility.FileMode (
import System.IO
import Control.Monad
import System.PosixCompat.Types
-import Utility.PosixFiles
+import System.PosixCompat.Files
#ifndef mingw32_HOST_OS
import System.Posix.Files
import Control.Monad.IO.Class (liftIO)
diff --git a/Utility/PosixFiles.hs b/Utility/PosixFiles.hs
deleted file mode 100644
index 37253da29..000000000
--- a/Utility/PosixFiles.hs
+++ /dev/null
@@ -1,42 +0,0 @@
-{- POSIX files (and compatablity wrappers).
- -
- - This is like System.PosixCompat.Files, but with a few fixes.
- -
- - Copyright 2014 Joey Hess <id@joeyh.name>
- -
- - License: BSD-2-clause
- -}
-
-{-# LANGUAGE CPP #-}
-{-# OPTIONS_GHC -fno-warn-tabs #-}
-
-module Utility.PosixFiles (
- module X,
- rename
-) where
-
-import System.PosixCompat.Files as X hiding (rename)
-
-#ifndef mingw32_HOST_OS
-import System.Posix.Files (rename)
-#else
-import qualified System.Win32.File as Win32
-import qualified System.Win32.HardLink as Win32
-#endif
-
-{- System.PosixCompat.Files.rename on Windows calls renameFile,
- - so cannot rename directories.
- -
- - Instead, use Win32 moveFile, which can. It needs to be told to overwrite
- - any existing file. -}
-#ifdef mingw32_HOST_OS
-rename :: FilePath -> FilePath -> IO ()
-rename src dest = Win32.moveFileEx src dest Win32.mOVEFILE_REPLACE_EXISTING
-#endif
-
-{- System.PosixCompat.Files.createLink throws an error, but windows
- - does support hard links. -}
-#ifdef mingw32_HOST_OS
-createLink :: FilePath -> FilePath -> IO ()
-createLink = Win32.createHardLink
-#endif
diff --git a/Utility/Tmp.hs b/Utility/Tmp.hs
index ca611e0b4..7255c141e 100644
--- a/Utility/Tmp.hs
+++ b/Utility/Tmp.hs
@@ -15,13 +15,13 @@ import Control.Monad.IfElse
import System.FilePath
import System.Directory
import Control.Monad.IO.Class
+import System.PosixCompat.Files
#ifndef mingw32_HOST_OS
import System.Posix.Temp (mkdtemp)
#endif
import Utility.Exception
import Utility.FileSystemEncoding
-import Utility.PosixFiles
type Template = String