directory 1.3.8.1 → 1.3.8.2
raw patch · 8 files changed
+52/−11 lines, 8 filesdep +os-stringdep ~Win32dep ~filepathPVP ok
version bump matches the API change (PVP)
Dependencies added: os-string
Dependency ranges changed: Win32, filepath
API changes (from Hackage documentation)
Files
- HsDirectoryConfig.h.in +3/−0
- System/Directory.hs +10/−3
- System/Directory/OsPath.hs +10/−3
- changelog.md +7/−0
- configure +7/−0
- configure.ac +1/−0
- directory.cabal +13/−4
- tests/GetHomeDirectory001.hs +1/−1
HsDirectoryConfig.h.in view
@@ -48,6 +48,9 @@ /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H +/* Define to 1 if you have the `utimensat' function. */+#undef HAVE_UTIMENSAT+ /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT
System/Directory.hs view
@@ -458,10 +458,14 @@ {- |@'renameFile' old new@ changes the name of an existing file system object from /old/ to /new/. If the /new/ object already exists, it is replaced by the /old/ object. Neither path may refer to an existing-directory. A conformant implementation need not support renaming files-in all situations (e.g. renaming across different physical devices), but-the constraints must be documented.+directory. +A conformant implementation need not support renaming files in all situations+(e.g. renaming across different physical devices), but the constraints must be+documented. On Windows, this does not support renaming across different physical+devices; if you are looking to do so, consider using 'copyFileWithMetadata' and+'removeFile'.+ On Windows, this calls @MoveFileEx@ with @MOVEFILE_REPLACE_EXISTING@ set, which is not guaranteed to be atomic (<https://github.com/haskell/directory/issues/109>).@@ -1161,6 +1165,9 @@ -- modification time; or -- -- * 'isDoesNotExistError' if the file or directory does not exist.+--+-- * 'InvalidArgument' on FAT32 file system if the time is before+-- DOS Epoch (1 January 1980). -- -- Some caveats for POSIX systems: --
System/Directory/OsPath.hs view
@@ -588,10 +588,14 @@ {- |@'renameFile' old new@ changes the name of an existing file system object from /old/ to /new/. If the /new/ object already exists, it is replaced by the /old/ object. Neither path may refer to an existing-directory. A conformant implementation need not support renaming files-in all situations (e.g. renaming across different physical devices), but-the constraints must be documented.+directory. +A conformant implementation need not support renaming files in all situations+(e.g. renaming across different physical devices), but the constraints must be+documented. On Windows, this does not support renaming across different physical+devices; if you are looking to do so, consider using 'copyFileWithMetadata' and+'removeFile'.+ On Windows, this calls @MoveFileEx@ with @MOVEFILE_REPLACE_EXISTING@ set, which is not guaranteed to be atomic (<https://github.com/haskell/directory/issues/109>).@@ -1454,6 +1458,9 @@ -- modification time; or -- -- * 'isDoesNotExistError' if the file or directory does not exist.+--+-- * 'InvalidArgument' on FAT32 file system if the time is before+-- DOS Epoch (1 January 1980). -- -- Some caveats for POSIX systems: --
changelog.md view
@@ -1,6 +1,13 @@ Changelog for the [`directory`][1] package ========================================== +## 1.3.8.2 (Dec 2023)++ * Relax `base` version bounds to support 4.19.+ ([#157](https://github.com/haskell/directory/pull/157))+ * Support filepath >= 1.5.0.0 and os-string.+ ([#164](https://github.com/haskell/directory/issues/164))+ ## 1.3.8.1 (Feb 2023) * Use CApiFFI for utimensat.
configure view
@@ -3383,6 +3383,13 @@ fi +ac_fn_c_check_func "$LINENO" "utimensat" "ac_cv_func_utimensat"+if test "x$ac_cv_func_utimensat" = xyes+then :+ printf "%s\n" "#define HAVE_UTIMENSAT 1" >>confdefs.h++fi+ ac_fn_c_check_func "$LINENO" "CreateSymbolicLinkW" "ac_cv_func_CreateSymbolicLinkW" if test "x$ac_cv_func_CreateSymbolicLinkW" = xyes then :
configure.ac view
@@ -31,6 +31,7 @@ AC_CHECK_HEADERS([fcntl.h limits.h sys/types.h sys/stat.h time.h]) AC_CHECK_FUNCS([realpath])+AC_CHECK_FUNCS([utimensat]) AC_CHECK_FUNCS([CreateSymbolicLinkW]) AC_CHECK_FUNCS([GetFinalPathNameByHandleW])
directory.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: directory-version: 1.3.8.1+version: 1.3.8.2 license: BSD-3-Clause license-file: LICENSE maintainer: libraries@haskell.org@@ -34,6 +34,11 @@ type: git location: https://github.com/haskell/directory +flag os-string+ description: Use the new os-string package+ default: False+ manual: False+ Library default-language: Haskell2010 other-extensions: CApiFFI, CPP@@ -53,13 +58,17 @@ include-dirs: . build-depends:- base >= 4.11.0 && < 4.19,- time >= 1.8.0 && < 1.13,- filepath >= 1.4.100 && < 1.5+ base >= 4.11.0 && < 4.20,+ time >= 1.8.0 && < 1.13 if os(windows) build-depends: Win32 >= 2.13.3 && < 2.14 else build-depends: unix >= 2.8.0 && < 2.9++ if flag(os-string)+ build-depends: filepath >= 1.5.0.0, os-string >= 2.0.0+ else+ build-depends: filepath >= 1.4.100.0 && < 1.4.200.0 ghc-options: -Wall
tests/GetHomeDirectory001.hs view
@@ -10,7 +10,7 @@ _ <- getXdgDirectory XdgCache "test" _ <- getXdgDirectory XdgConfig "test" _ <- getXdgDirectory XdgData "test"- _ <- getXdgDirectory XdgCache "test"+ _ <- getXdgDirectory XdgState "test" _ <- getUserDocumentsDirectory _ <- getTemporaryDirectory return ()