libfuse3 0.2.0.0 → 0.2.0.1
raw patch · 6 files changed
+48/−18 lines, 6 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
Files
- CHANGELOG.md +6/−0
- configure +9/−9
- configure.ac +1/−1
- example/passthrough.hs +15/−3
- example/statjson.hs +14/−2
- libfuse3.cabal +3/−3
CHANGELOG.md view
@@ -1,5 +1,11 @@ # Revision history for libfuse3 +## 0.2.0.1 -- 2023-03-26++* Fixed the example to compile with `unix-2.8`.+* Added support for `base-4.18` (ghc-9.6).+* Dropped support for `base-4.14.2` and older.+ ## 0.2.0.0 -- 2022-09-10 ### Breaking changes
configure view
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles.-# Generated by GNU Autoconf 2.71 for Haskell libfuse3 package 0.2.0.0.+# Generated by GNU Autoconf 2.71 for Haskell libfuse3 package 0.2.0.1. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,@@ -607,8 +607,8 @@ # Identity of this package. PACKAGE_NAME='Haskell libfuse3 package' PACKAGE_TARNAME='haskell-libfuse3-package'-PACKAGE_VERSION='0.2.0.0'-PACKAGE_STRING='Haskell libfuse3 package 0.2.0.0'+PACKAGE_VERSION='0.2.0.1'+PACKAGE_STRING='Haskell libfuse3 package 0.2.0.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1232,7 +1232,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF-\`configure' configures Haskell libfuse3 package 0.2.0.0 to adapt to many kinds of systems.+\`configure' configures Haskell libfuse3 package 0.2.0.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1295,7 +1295,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in- short | recursive ) echo "Configuration of Haskell libfuse3 package 0.2.0.0:";;+ short | recursive ) echo "Configuration of Haskell libfuse3 package 0.2.0.1:";; esac cat <<\_ACEOF @@ -1383,7 +1383,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF-Haskell libfuse3 package configure 0.2.0.0+Haskell libfuse3 package configure 0.2.0.1 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc.@@ -1519,7 +1519,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Haskell libfuse3 package $as_me 0.2.0.0, which was+It was created by Haskell libfuse3 package $as_me 0.2.0.1, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw@@ -3916,7 +3916,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log="-This file was extended by Haskell libfuse3 package $as_me 0.2.0.0, which was+This file was extended by Haskell libfuse3 package $as_me 0.2.0.1, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES@@ -3980,7 +3980,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\-Haskell libfuse3 package config.status 0.2.0.0+Haskell libfuse3 package config.status 0.2.0.1 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\"
configure.ac view
@@ -1,4 +1,4 @@-AC_INIT([Haskell libfuse3 package], [0.2.0.0])+AC_INIT([Haskell libfuse3 package], [0.2.0.1]) # Safety check: Ensure that we are in the correct source directory. AC_CONFIG_SRCDIR([libfuse3.cabal])
example/passthrough.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} -- | -- Copyright : (The original C) 2001-2007 Miklos Szeredi <miklos@szeredi.hu> -- 2011 Sebastian Pipping <sebastian@pipping.org>@@ -31,6 +32,17 @@ import qualified System.LibFuse3.FuseConfig as FuseConfig import qualified XAttr +#if MIN_VERSION_unix(2,8,0)+import System.Posix.IO (creat)+#endif++openFdCompat :: FilePath -> OpenMode -> Maybe FileMode -> OpenFileFlags -> IO Fd+#if MIN_VERSION_unix(2,8,0)+openFdCompat path openMode mfileMode openFileFlags = openFd path openMode (openFileFlags{creat = mfileMode})+#else+openFdCompat = openFd+#endif+ foreign import ccall "posix_fallocate" c_posix_fallocate :: CInt -> COff -> COff -> IO CInt @@ -73,7 +85,7 @@ xmpMknod :: FilePath -> FileMode -> DeviceID -> IO Errno xmpMknod path mode rdev = tryErrno_ $ case fileModeToEntryType mode of- RegularFile -> bracket (openFd path WriteOnly (Just mode) (defaultFileFlags{exclusive=True})) closeFd (\_ -> pure ())+ RegularFile -> bracket (openFdCompat path WriteOnly (Just mode) (defaultFileFlags{exclusive=True})) closeFd (\_ -> pure ()) Directory -> createDirectory path mode NamedPipe -> createNamedPipe path mode _ -> createDevice path mode rdev@@ -111,10 +123,10 @@ xmpUtimens path atime mtime = tryErrno_ $ setSymbolicLinkTimesHiRes path atime mtime xmpCreate :: FilePath -> OpenMode -> FileMode -> OpenFileFlags -> IO (Either Errno Fd)-xmpCreate path omode fmode flags = tryErrno $ openFd path omode (Just fmode) flags+xmpCreate path omode fmode flags = tryErrno $ openFdCompat path omode (Just fmode) flags xmpOpen :: FilePath -> OpenMode -> OpenFileFlags -> IO (Either Errno Fd)-xmpOpen path mode flags = tryErrno $ openFd path mode Nothing flags+xmpOpen path mode flags = tryErrno $ openFdCompat path mode Nothing flags xmpRead :: Fd -> ByteCount -> FileOffset -> IO (Either Errno ByteString) xmpRead fd size offset = tryErrno $ pread fd size offset
example/statjson.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DisambiguateRecordFields #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE NamedFieldPuns #-}@@ -56,12 +57,23 @@ import System.IO (hPrint, stderr) import System.Posix.IO (OpenFileFlags, OpenMode(ReadOnly), closeFd, openFd) import System.Posix.Files (regularFileMode, stdFileMode)-import System.Posix.Types (ByteCount, Fd, FileOffset)+import System.Posix.Types (ByteCount, Fd, FileMode, FileOffset) import qualified Data.Aeson as Aeson import qualified Data.ByteString.Lazy as BL import qualified System.Clock +#if MIN_VERSION_unix(2,8,0)+import System.Posix.IO (creat)+#endif++openFdCompat :: FilePath -> OpenMode -> Maybe FileMode -> OpenFileFlags -> IO Fd+#if MIN_VERSION_unix(2,8,0)+openFdCompat path openMode mfileMode openFileFlags = openFd path openMode (openFileFlags{creat = mfileMode})+#else+openFdCompat = openFd+#endif+ -- | An outcome of an individual operation in a layer. data Outcome a -- | The request is forwarded to the next layer.@@ -100,7 +112,7 @@ pure $ map (\entry -> (entry, Nothing)) entries , layerOpen = \path mode flags -> case mode of- ReadOnly -> tryErrno $ fmap Respond $ openFd (srcDir <> path) mode Nothing flags+ ReadOnly -> tryErrno $ fmap Respond $ openFdCompat (srcDir <> path) mode Nothing flags _ -> pure $ Left eOPNOTSUPP , layerRead = \fd size offset -> tryErrno $ pread fd size offset , layerRelease = closeFd
libfuse3.cabal view
@@ -3,7 +3,7 @@ -- For further documentation, see http://haskell.org/cabal/users-guide/ name: libfuse3-version: 0.2.0.0+version: 0.2.0.1 synopsis: A Haskell binding for libfuse-3.x description: Bindings for libfuse, the FUSE userspace reference implementation, of version 3.x. Compatible with Linux. -- bug-reports:@@ -41,10 +41,10 @@ System.LibFuse3.Utils -- other-modules: -- other-extensions:- build-depends: base >=4.11 && <4.18+ build-depends: base >=4.14.3 && <4.19 , bytestring >=0.10.8 && <0.12 , clock ==0.8.*- , resourcet ==1.2.*+ , resourcet >=1.2 && <1.4 , time >=1.6 && <1.14 , unix >=2.7 && <2.9 pkgconfig-depends: fuse3