# $Id: Portfile 23966 2007-04-13 22:22:53Z eridius@macports.org $ PortSystem 1.0 PortGroup xcode 1.0 name fusefs version 0.2.4 categories fuse devel platforms darwin maintainers eridius@macports.org description A FUSE-Compliant File System Implementation Mechanism for Mac OS X long_description MacFUSE implements a mechanism that makes it possible to implement \ a fully functional file system in a user-space program on Mac OS X \ (10.4 and above). It aims to be API-compliant with the FUSE \ (File-system in USErspace) mechanism that originated on Linux. \ Therefore, many existing FUSE file systems become readily usable on \ Mac OS X. The core of MacFUSE is in a dynamically loadable kernel extension. homepage http://code.google.com/p/macfuse/ master_sites macports:eridius distname fusefs-${version} worksrcdir fusefs checksums md5 f2ca45f1107b1ad81b81c023f095d3b6 \ sha1 6e3dc875952faf8a1efbd14b2c8acca7daacb63f # livecheck.distname MacFUSE-Core-(.*).dmg use_bzip2 yes xcode.configuration Release xcode.target fusefs load_fusefs fusefs.fs mount_fusefs xcode.build.settings OBJROOT=build/ SYMROOT=build/ # ensure that user is running OS X 10.4 platform darwin {} pre-fetch { if {[variant_isset darwin]} { set vers [split [exec sw_vers -productVersion] .] set majorVersion [lindex $vers 0] set minorVersion [lindex $vers 1] if {"$majorVersion.$minorVersion" < 10.4} { return -code error "MacFUSE requires at least Mac OS X 10.4 to run" } } else { return -code error "MacFUSE is for Mac OS X only" } } destroot { set libdir ${destroot}/Library set extdir ${libdir}/Extensions set syslibdir ${destroot}/System/Library set sysfsdir ${syslibdir}/Filesystems set builddir ${worksrcpath}/build/${xcode.configuration} # ensure appropriate permissions xinstall -d -m 1774 -o root -g admin ${libdir} xinstall -d -m 1755 -o root -g wheel ${extdir} # copy fusefs.kext file copy -- ${builddir}/fusefs.kext ${extdir}/ foreach filename [split [exec find ${extdir}/fusefs.kext] \n] { file attributes $filename -owner root -group wheel } # copy load_fusefs xinstall -o root -g wheel -m 4555 ${builddir}/load_fusefs \ ${extdir}/fusefs.kext/Contents/Resources/ # copy fusefs.fs xinstall -d -m 755 -o root -g wheel ${sysfsdir} file copy -- ${builddir}/fusefs.fs ${sysfsdir} foreach filename [split [exec find ${sysfsdir}/fusefs.fs] \n] { file attributes $filename -owner root -group wheel } # copy mount_fusefs xinstall -o root -g wheel ${builddir}/mount_fusefs \ ${sysfsdir}/fusefs.fs/mount_fusefs } post-activate { if {[string length [exec kextstat -lb com.google.filesystems.fusefs]] > 0} { ui_msg "********************************************************" ui_msg "* fusefs is already loaded. You may need to restart. *" ui_msg "* Alternatively, if feeling adventurous, you can run *" ui_msg "* `sudo kextunload -b com.google.filesystems.fusefs` *" ui_msg "********************************************************" } }