directory-ospath-streaming 0.1.0.2 → 0.1.0.3
raw patch · 5 files changed
+54/−31 lines, 5 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
Files
- Changelog.md +5/−0
- directory-ospath-streaming.cabal +29/−13
- src/System/Directory/OsPath/FileType.hs +3/−2
- src/System/Directory/OsPath/Streaming.hs +4/−4
- test/TestMain.hs +13/−12
Changelog.md view
@@ -1,3 +1,8 @@+# 0.1.0.3++- Lower `base` minimum required base to 4.12 (GHC 8.6). Minimum+ supported `unix` is still 2.8 because of `OsString`.+ # 0.1.0.2 - Fix compatibility with `filepath-1.5`
directory-ospath-streaming.cabal view
@@ -5,7 +5,7 @@ name: directory-ospath-streaming version:- 0.1.0.2+ 0.1.0.3 synopsis: Stream directory entries in constant memory in vanilla IO description:@@ -28,6 +28,16 @@ category: File, Streaming +tested-with:+ GHC == 8.6,+ GHC == 8.8,+ GHC == 8.10,+ GHC == 9.2,+ GHC == 9.4,+ GHC == 9.6,+ GHC == 9.8,+ GHC == 9.10+ build-type: Simple @@ -57,11 +67,7 @@ False common ghc-options- default-language:- GHC2021-- default-extensions:- LambdaCase+ default-language: Haskell2010 ghc-options: -Weverything@@ -70,19 +76,28 @@ -Wno-missed-specialisations -Wno-missing-import-lists -Wno-missing-local-signatures- -Wno-missing-safe-haskell-mode -Wno-safe- -Wno-type-defaults -Wno-unsafe if impl(ghc >= 8.8) ghc-options: -Wno-missing-deriving-strategies + if impl(ghc >= 8.10)+ ghc-options:+ -Wno-missing-safe-haskell-mode+ -Wno-prepositive-qualified-module+ if impl(ghc >= 9.2) ghc-options: -Wno-missing-kind-signatures + if impl(ghc >= 9.8)+ ghc-options:+ -Wno-missing-role-annotations+ -Wno-missing-poly-kind-signatures++ common depends-on-filepath if flag(os-string) build-depends:@@ -100,7 +115,7 @@ hs-source-dirs: src build-depends:- , base >= 4.16 && < 5+ , base >= 4.12 && < 5 if os(windows) build-depends:@@ -108,6 +123,7 @@ , directory >= 1.3.8 , Win32 >= 2.13.3 else+ -- Cannot use lower version because it doesn’t support OsStrings build-depends: , unix >= 2.8 @@ -121,15 +137,15 @@ . test build-depends:- , base >= 4.16- , directory+ , base >= 4.12 , directory-ospath-streaming- , random , tasty , tasty-hunit if !os(windows) build-depends:- unix >= 2.8+ , directory+ , random+ , unix >= 2.8 ghc-options: -rtsopts -main-is TestMain
src/System/Directory/OsPath/FileType.hs view
@@ -4,7 +4,8 @@ -- License: Apache-2.0 (see LICENSE) -- Maintainer: serg.foo@gmail.com -{-# LANGUAGE CPP #-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE ScopedTypeVariables #-} module System.Directory.OsPath.FileType ( FileType(..)@@ -30,7 +31,7 @@ import Control.Exception (try, IOException) import System.OsString.Internal.Types (getOsString)-import System.Posix.Files.PosixString qualified as PosixF+import qualified System.Posix.Files.PosixString as PosixF getFileType :: OsPath -> IO FileType getFileType fp = do
src/System/Directory/OsPath/Streaming.hs view
@@ -16,13 +16,13 @@ #ifdef mingw32_HOST_OS import Control.Concurrent.Counter (Counter)-import Control.Concurrent.Counter qualified as Counter+import qualified Control.Concurrent.Counter as Counter import Control.Monad (unless) import System.OsPath.Types (OsPath) import System.OsString.Internal.Types (OsString(OsString), getOsString) import System.OsString.Windows (pstr)-import System.Win32.Types qualified as Win32-import System.Win32.WindowsString.File qualified as Win32+import qualified System.Win32.Types as Win32+import qualified System.Win32.WindowsString.File as Win32 data DirStream = DirStream !Win32.HANDLE !Win32.FindData !Counter @@ -56,7 +56,7 @@ import System.OsPath.Types (OsPath) import System.OsString.Internal.Types (OsString(OsString), getOsString) import System.Posix.Directory.PosixPath (DirStream, closeDirStream)-import System.Posix.Directory.PosixPath qualified as Posix+import qualified System.Posix.Directory.PosixPath as Posix openDirStream :: OsPath -> IO DirStream openDirStream = Posix.openDirStream . getOsString
test/TestMain.hs view
@@ -6,20 +6,16 @@ {-# LANGUAGE ApplicativeDo #-} {-# LANGUAGE CPP #-}-{-# LANGUAGE ImportQualifiedPost #-} {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-} module TestMain (main) where import Control.Exception-import Data.List qualified as L-import Numeric (showHex)-import System.Directory.OsPath+import qualified Data.List as L import System.OsPath-import System.OsString.Internal.Types (getOsString)-import System.Random import System.Directory.OsPath.FileType import System.Directory.OsPath.Streaming@@ -28,7 +24,12 @@ import Test.Tasty.HUnit #ifndef mingw32_HOST_OS-import System.Posix.Files.PosixString qualified as Posix+import Numeric (showHex)+import System.Directory.OsPath+import System.OsString.Internal.Types (getOsString)+import System.Random++import qualified System.Posix.Files.PosixString as Posix #endif main :: IO ()@@ -108,7 +109,6 @@ #ifndef mingw32_HOST_OS tryIO :: IO a -> IO (Either IOException a) tryIO = try-#endif createFreshTempDir :: OsPath -> OsPath -> IO OsPath createFreshTempDir dir prefix = go@@ -119,7 +119,8 @@ let path = dir </> prefix <> [osp|-|] <> n' exists <- doesDirectoryExist path if exists- then go- else do- createDirectory path- pure path+ then go+ else do+ createDirectory path+ pure path+#endif