MissingH 1.5.0.1 → 1.6.0.0
raw patch · 11 files changed
+59/−45 lines, 11 filesdep ~directorydep ~unixPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: directory, unix
API changes (from Hackage documentation)
Files
- CHANGES.md +17/−0
- MissingH.cabal +7/−6
- src/Data/MIME/Types.hs +7/−9
- src/Network/Email/Sendmail.hs +4/−5
- src/System/Daemon.hs +7/−1
- src/System/IO/HVFS.hs +0/−1
- src/System/IO/HVFS/Combinators.hs +3/−4
- src/System/IO/HVFS/InstanceHelpers.hs +2/−3
- src/System/Path.hs +11/−12
- src/System/Path/Glob.hs +1/−3
- src/System/Path/NameManip.hs +0/−1
CHANGES.md view
@@ -1,3 +1,20 @@+# 1.6.0.0++_Andreas Abel, 2023-01-14_++- Allow `directory-1.3.8.0` which is no longer `Safe` Haskell.+ Thus, we need to revoke `Safe` status of the following modules:+ * `Data.MIME.Types`+ * `Network.Email.Sendmail`+ * `System.IO.HVFS`+ * `System.IO.HVFS.Combinators`+ * `System.IO.HVFS.InstanceHelpers`+ * `System.Path`+ * `System.Path.Glob`+ * `System.Path.NameManip`+- Allow `unix-2.8.0.0` (enables `directory-1.3.8.0`).+- Tested with GHC 7.10 - 9.6 alpha1.+ ### 1.5.0.1 _Andreas Abel, 2022-03-14_
MissingH.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.12 name: MissingH-version: 1.5.0.1+version: 1.6.0.0 build-type: Simple license: BSD3@@ -10,7 +10,8 @@ license-file: LICENSE tested-with:- GHC == 9.2.1+ GHC == 9.4.4+ GHC == 9.2.5 GHC == 9.0.2 GHC == 8.10.7 GHC == 8.8.4@@ -26,7 +27,7 @@ programmers. It is written in pure Haskell and thus should be extremely portable and easy to use. category: Unclassified-bug-reports: https://github.com/hvr/missingh/issues+bug-reports: https://github.com/haskell-hvr/missingh/issues extra-source-files: CHANGES.md@@ -53,7 +54,7 @@ source-repository head type: git- location: https://github.com/hvr/missingh.git+ location: https://github.com/haskell-hvr/missingh.git library hs-source-dirs: src@@ -122,7 +123,7 @@ build-depends: array >= 0.4.0.0 && < 0.6- , base >= 4.8.0.0 && < 4.17+ , base >= 4.8.0.0 && < 5 , containers >= 0.4.2.1 && < 0.7 , directory >= 1.1.0.2 && < 1.4 , filepath >= 1.3.0.0 && < 1.5@@ -142,7 +143,7 @@ build-depends: network >= 2.6.3.1 && <2.9 If !os(windows)- Build-Depends: unix >= 2.5.1.0 && < 2.8+ Build-Depends: unix >= 2.5.1.0 && < 2.9 ghc-options: -Wall if impl(ghc >= 8)
src/Data/MIME/Types.hs view
@@ -1,5 +1,3 @@-{-# LANGUAGE Safe #-}- {- arch-tag: MIME Types main file Copyright (c) 2004-2011 John Goerzen <jgoerzen@complete.org> @@ -37,14 +35,14 @@ import qualified Data.Map as Map import qualified Control.Exception (try, IOException)-import safe Control.Monad ( foldM )-import safe System.IO+import Control.Monad ( foldM )+import System.IO ( Handle, hClose, openFile, IOMode(ReadMode) )-import safe System.IO.Error ()-import safe System.IO.Utils ( hGetLines )-import safe System.Path ( splitExt )-import safe Data.Map.Utils ( flippedLookupM )-import safe Data.Char ( toLower )+import System.IO.Error ()+import System.IO.Utils ( hGetLines )+import System.Path ( splitExt )+import Data.Map.Utils ( flippedLookupM )+import Data.Char ( toLower ) ---------------------------------------------------------------------- -- Basic type declarations
src/Network/Email/Sendmail.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE CPP #-}-{-# LANGUAGE Safe #-} {- arch-tag: Sendmail utility Copyright (c) 2004-2011 John Goerzen <jgoerzen@complete.org>@@ -31,11 +30,11 @@ module Network.Email.Sendmail(sendmail) where -import safe System.Cmd.Utils ( PipeMode(WriteToPipe), pOpen )-import safe System.Directory+import System.Cmd.Utils ( PipeMode(WriteToPipe), pOpen )+import System.Directory ( doesFileExist, getPermissions, Permissions(executable) )-import safe System.IO ( hPutStr )-import safe System.IO.Error ()+import System.IO ( hPutStr )+import System.IO.Error () import qualified Control.Exception(try, IOException) sendmails :: [String]
src/System/Daemon.hs view
@@ -86,7 +86,13 @@ child2 = trap $ do setCurrentDirectory "/" mapM_ closeFd [stdInput, stdOutput, stdError]- nullFd <- openFd "/dev/null" ReadWrite Nothing defaultFileFlags+ nullFd <- openFd+ "/dev/null"+ ReadWrite+#if !MIN_VERSION_unix(2,8,0)+ Nothing+#endif+ defaultFileFlags mapM_ (dupTo nullFd) [stdInput, stdOutput, stdError] closeFd nullFd #endif
src/System/IO/HVFS.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE CPP #-}-{-# LANGUAGE Safe #-} {-# LANGUAGE TypeSynonymInstances #-} {- arch-tag: HVFS main file Copyright (c) 2004-2011 John Goerzen <jgoerzen@complete.org>
src/System/IO/HVFS/Combinators.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE CPP #-}-{-# LANGUAGE Safe #-} {- arch-tag: HVFS Combinators Copyright (c) 2004-2011 John Goerzen <jgoerzen@complete.org> @@ -26,10 +25,10 @@ HVFSChroot, newHVFSChroot) where -import safe System.IO ( IOMode(ReadMode) )-import safe System.IO.Error+import System.IO ( IOMode(ReadMode) )+import System.IO.Error ( doesNotExistErrorType, permissionErrorType )-import safe System.IO.HVFS+import System.IO.HVFS ( HVFSOpenable(vOpen), HVFS(vRemoveFile, vCreateLink, vCreateSymbolicLink, vRenameFile, vRenameDirectory, vRemoveDirectory, vCreateDirectory,
src/System/IO/HVFS/InstanceHelpers.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE Safe #-} {-# LANGUAGE LambdaCase #-} {-# OPTIONS_GHC -fno-warn-name-shadowing #-} {- arch-tag: HVFS instance helpers@@ -38,11 +37,11 @@ import Data.IORef (IORef, newIORef, readIORef, writeIORef) import Data.List (genericLength) import System.FilePath (isPathSeparator, pathSeparator, (</>))-import safe System.IO ( IOMode(ReadMode) )+import System.IO ( IOMode(ReadMode) ) import System.IO.Error (doesNotExistErrorType, illegalOperationErrorType, permissionErrorType)-import safe System.IO.HVFS+import System.IO.HVFS ( FileOffset, HVFSOpenable(vOpen), HVFS(vGetDirectoryContents, vGetFileStatus, vSetCurrentDirectory,
src/System/Path.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE CPP #-}-{-# LANGUAGE Safe #-} {- arch-tag: Path utilities main file Copyright (C) 2004-2011 John Goerzen <jgoerzen@complete.org> @@ -31,22 +30,22 @@ mktmpdir, brackettmpdir, brackettmpdirCWD ) where-import safe Data.List.Utils ( startswith, alwaysElemRIndex )+import Data.List.Utils ( startswith, alwaysElemRIndex ) #if !(defined(mingw32_HOST_OS) || defined(mingw32_TARGET_OS) || defined(__MINGW32__))-import safe System.Directory+import System.Directory ( getCurrentDirectory, removeFile, setCurrentDirectory )-import safe System.Posix.Directory ( createDirectory )-import safe System.Posix.Temp ( mkstemp )+import System.Posix.Directory ( createDirectory )+import System.Posix.Temp ( mkstemp ) #else-import safe System.Directory-import safe System.IO ( openTempFile )+import System.Directory+import System.IO ( openTempFile ) #endif-import safe Control.Exception ( finally )-import safe System.FilePath ( pathSeparator )-import safe System.IO ( hClose )-import safe System.IO.HVFS.Utils+import Control.Exception ( finally )+import System.FilePath ( pathSeparator )+import System.IO ( hClose )+import System.IO.HVFS.Utils ( SystemFS(SystemFS), recurseDir, recurseDirStat, recursiveRemove )-import safe System.Path.NameManip+import System.Path.NameManip ( normalise_path, absolute_path_by, guess_dotdot ) {- | Splits a pathname into a tuple representing the root of the name and
src/System/Path/Glob.hs view
@@ -1,5 +1,3 @@-{-# LANGUAGE Safe #-}- {- Copyright (c) 2006-2011 John Goerzen <jgoerzen@complete.org> @@ -30,7 +28,7 @@ import Data.List (isSuffixOf) import Data.List.Utils (hasAny) import System.FilePath (pathSeparator, splitFileName, (</>))-import safe System.IO.HVFS (HVFS (vDoesDirectoryExist, vDoesExist, vGetDirectoryContents),+import System.IO.HVFS (HVFS (vDoesDirectoryExist, vDoesExist, vGetDirectoryContents), SystemFS (SystemFS)) import System.Path.WildMatch (wildCheckCase)
src/System/Path/NameManip.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE Safe #-} {-# LANGUAGE LambdaCase #-} {-# OPTIONS_GHC -fno-warn-name-shadowing #-} {- |