# $Id: Portfile 32055 2007-12-14 19:01:31Z eridius@macports.org $ PortSystem 1.0 PortGroup xcode 1.0 name fusefs version 1.1 revision 3 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 distname fusefs-${version} worksrcdir fusefs checksums md5 e34f44bcbb43a370a0ef204054276ae4 \ sha1 776a7cf88c82bf63a8f086f086d06fb08a60c860 livecheck.distname MacFUSE-Core-(.*).dmg livecheck.version 10.5-${version}.1 use_bzip2 yes destroot.violate_mtree yes xcode.configuration Release xcode.target fusefs load_fusefs fusefs.fs mount_fusefs xcode.build.settings OBJROOT=build/ SYMROOT=build/ platform darwin 8 { worksrcdir fusefs/10.4 } platform darwin 9 { worksrcdir fusefs/10.5 } # ensure that user is running OS X 10.4 or higher pre-fetch { if {![variant_isset darwin_8] && ![variant_isset darwin_9]} { return -code error "MacFUSE requires at least Mac OS X 10.4 to run" } } destroot { if {[variant_isset darwin_8]} { set sysfsdir ${destroot}/System/Library/Filesystems } else { set sysfsdir ${destroot}/Library/Filesystems } set macfuse_bundle_dir ${sysfsdir}/fusefs.fs set macfuse_support_dir ${macfuse_bundle_dir}/Support set builddir ${worksrcpath}/build/${xcode.configuration} # ensure sysfsdir exists xinstall -d -m 755 -o root -g wheel ${sysfsdir} # copy fusefs.fs file copy -- ${builddir}/fusefs.fs ${macfuse_bundle_dir} # ensure Support dir exists xinstall -d -m 755 -o root -g wheel ${macfuse_support_dir} # copy Support files file copy -- ${builddir}/fusefs.kext ${macfuse_support_dir}/fusefs.kext xinstall -m 4555 ${builddir}/load_fusefs ${macfuse_support_dir}/load_fusefs xinstall ${builddir}/mount_fusefs ${macfuse_support_dir}/mount_fusefs # set permissions fs-traverse file [list ${macfuse_bundle_dir}] { file attributes $file -owner root -group wheel } # copy header files that libfuse needs foreach file [list fuse_ioctl.h fuse_mount.h fuse_param.h fuse_version.h] { file copy -- ${worksrcpath}/common/${file} ${destroot}${prefix}/include/${file} } } 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 "********************************************************" } }