HFuse 0.2.4.4 → 0.2.4.5
raw patch · 4 files changed
+35/−26 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +7/−0
- HFuse.cabal +8/−4
- README.md +3/−1
- System/Fuse.hsc +17/−21
CHANGELOG.md view
@@ -1,6 +1,13 @@ Changelog ========= +v0.2.4.5+--------++- Merged patch to correct OSXFUSE library support+- Merged fix for issue #3 (statfs -> statvfs)+- Updated cabal file to be more canonical+ v0.2.4.4 --------
HFuse.cabal view
@@ -1,5 +1,5 @@ Name: HFuse-Version: 0.2.4.4+Version: 0.2.4.5 License: BSD3 License-File: LICENSE Author: Jeremy Bobbio@@ -11,7 +11,7 @@ Stability: Experimental Cabal-Version: >= 1.10 Build-Type: Simple-Extra-source-files: +Extra-source-files: CHANGELOG.md README.md @@ -26,6 +26,7 @@ Include-Dirs: /usr/include, /usr/local/include, . if os(darwin) CC-Options: "-DMACFUSE"+ CC-Options: "-DFUSE_USE_VERSION=26" Include-Dirs: /usr/local/include/osxfuse else if os(freebsd)@@ -34,7 +35,10 @@ else Includes: sys/statfs.h - Extra-Libraries: fuse+ if os(darwin)+ Extra-Libraries: osxfuse+ else+ Extra-Libraries: fuse Extra-Lib-Dirs: /usr/local/lib CC-Options: "-D_FILE_OFFSET_BITS=64" Default-Language: Haskell2010@@ -52,4 +56,4 @@ source-repository head type: git- location: https://github.com/m15k/hfuse.git+ location: git://github.com/m15k/hfuse.git
README.md view
@@ -14,10 +14,12 @@ - This now works for base 4.6+ - Added build options support for FreeBSD (contribution by https://github.com/pesco) - MacFUSE should also work (https://github.com/mwotton/hfuse)+- [OSXFuse](https://osxfuse.github.io/) also works (https://github.com/edyu/hfuse) ## Installation All of the usual methods for installation will be supported.+For Mac OS X, you must install [OSXFuse](https://osxfuse.github.io/) first. **Installation via Hackage** @@ -31,7 +33,7 @@ ``` cabal unpack hfuse-cd HFuse-0.2.4.3+cd HFuse-0.2.4.4 cabal sandbox init cabal install --only-dependencies cabal install -fdeveloper
System/Fuse.hsc view
@@ -631,30 +631,26 @@ Left (Errno errno) -> return (- errno) Right bytes -> return (fromIntegral bytes) wrapStatFS :: CStatFS- wrapStatFS pStr pStatFS = handle fuseHandler $+ wrapStatFS pStr pStatVFS = handle fuseHandler $ do str <- peekCString pStr- eitherStatFS <- (fuseGetFileSystemStats ops) str- case eitherStatFS of+ eitherStatVFS <- (fuseGetFileSystemStats ops) str+ case eitherStatVFS of Left (Errno errno) -> return (- errno) Right stat ->- do (#poke struct statfs, f_bsize) pStatFS+ do (#poke struct statvfs, f_bsize) pStatVFS (fromIntegral (fsStatBlockSize stat) :: (#type long))- (#poke struct statfs, f_blocks) pStatFS- (fromIntegral (fsStatBlockCount stat) :: (#type long))- (#poke struct statfs, f_bfree) pStatFS- (fromIntegral (fsStatBlocksFree stat) :: (#type long))- (#poke struct statfs, f_bavail) pStatFS- (fromIntegral (fsStatBlocksAvailable- stat) :: (#type long))- (#poke struct statfs, f_files) pStatFS- (fromIntegral (fsStatFileCount stat) :: (#type long))- (#poke struct statfs, f_ffree) pStatFS- (fromIntegral (fsStatFilesFree stat) :: (#type long))-#ifndef MACFUSE--- OSX doesn't support 'max name length'- (#poke struct statfs, f_namelen) pStatFS+ (#poke struct statvfs, f_blocks) pStatVFS+ (fromIntegral (fsStatBlockCount stat) :: (#type fsblkcnt_t))+ (#poke struct statvfs, f_bfree) pStatVFS+ (fromIntegral (fsStatBlocksFree stat) :: (#type fsblkcnt_t))+ (#poke struct statvfs, f_bavail) pStatVFS+ (fromIntegral (fsStatBlocksAvailable stat) :: (#type fsblkcnt_t))+ (#poke struct statvfs, f_files) pStatVFS+ (fromIntegral (fsStatFileCount stat) :: (#type fsfilcnt_t))+ (#poke struct statvfs, f_ffree) pStatVFS+ (fromIntegral (fsStatFilesFree stat) :: (#type fsfilcnt_t))+ (#poke struct statvfs, f_namemax) pStatVFS (fromIntegral (fsStatMaxNameLength stat) :: (#type long))-#endif return 0 wrapFlush :: CFlush wrapFlush pFilePath pFuseFileInfo = handle fuseHandler $@@ -1004,8 +1000,8 @@ foreign import ccall safe "wrapper" mkWrite :: CWrite -> IO (FunPtr CWrite) -data CStructStatFS -- struct fuse_stat_fs-type CStatFS = CString -> Ptr CStructStatFS -> IO CInt+data CStructStatVFS -- struct fuse_stat_fs+type CStatFS = CString -> Ptr CStructStatVFS -> IO CInt foreign import ccall safe "wrapper" mkStatFS :: CStatFS -> IO (FunPtr CStatFS)