[36271] trunk/dports/fuse
eridius at macports.org
eridius at macports.org
Fri Apr 25 04:30:49 PDT 2008
Revision: 36271
http://trac.macosforge.org/projects/macports/changeset/36271
Author: eridius at macports.org
Date: 2008-04-25 04:30:48 -0700 (Fri, 25 Apr 2008)
Log Message:
-----------
Update MacFUSE to 1.3. This involved obsoleting the fusefs and libfuse ports and introducing a new macfuse port.
Note that all fuse ports (besides sshfs) need to be updated for this change
Modified Paths:
--------------
trunk/dports/fuse/fusefs/Portfile
trunk/dports/fuse/libfuse/Portfile
trunk/dports/fuse/sshfs/Portfile
Added Paths:
-----------
trunk/dports/fuse/macfuse/
trunk/dports/fuse/macfuse/Portfile
Modified: trunk/dports/fuse/fusefs/Portfile
===================================================================
--- trunk/dports/fuse/fusefs/Portfile 2008-04-25 11:30:05 UTC (rev 36270)
+++ trunk/dports/fuse/fusefs/Portfile 2008-04-25 11:30:48 UTC (rev 36271)
@@ -5,93 +5,17 @@
name fusefs
version 1.1
-revision 3
+revision 4
categories fuse devel
platforms darwin
maintainers eridius at 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.
+description dummy port, use macfuse instead
+long_description $description
-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 "********************************************************"
- }
-}
+ ui_msg "********************************"
+ ui_msg "* This port no longer exists *"
+ ui_msg "* Use the macfuse port instead *"
+ ui_msg "********************************"
+ throw ERROR "Obsolete port, use macfuse"
+}
\ No newline at end of file
Modified: trunk/dports/fuse/libfuse/Portfile
===================================================================
--- trunk/dports/fuse/libfuse/Portfile 2008-04-25 11:30:05 UTC (rev 36270)
+++ trunk/dports/fuse/libfuse/Portfile 2008-04-25 11:30:48 UTC (rev 36271)
@@ -8,80 +8,13 @@
categories fuse devel
platforms darwin
maintainers eridius at macports.org
-description Filesystem in Userspace
-long_description See the fusefs port for more information
+description dummy port, use macfuse instead
+long_description $description
-homepage http://fuse.sourceforge.net/
-
-distname fuse-${version}
-master_sites sourceforge:fuse
-checksums ${distfiles} md5 f95b4a238a3df5a92e9013ecb55c2c17 \
- sha1 ea28a61ff63cd0cf12cd7c9c092a57d79c12edf8
-
-livecheck.distname fuse-2.X
-
-depends_lib port:pkgconfig
-
-platform darwin 8 {
- patch_sites http://macfuse.googlecode.com/svn/tags/macfuse-1.1/core/10.4/libfuse/
- checksums-append fuse-2.7.1-macosx.patch md5 36b116114c04f8e7c65a5c8aad753573 \
- sha1 5cb3440a73b2634e18f76263c35044e58b0daaa5
-}
-
-platform darwin 9 {
- patch_sites http://macfuse.googlecode.com/svn/tags/macfuse-1.1/core/10.5/libfuse/
- checksums-append fuse-2.7.1-macosx.patch md5 85f1654ae01064ef1c398dbfde1a3f53 \
- sha1 24d735331ec897c77e19203d3d38ab55ae56f292
-}
-
-platform darwin {
- depends_run port:fusefs
-
- patchfiles fuse-2.7.1-macosx.patch
-
- configure.post_args-append CFLAGS="-D__FreeBSD__=10 -D_POSIX_C_SOURCE=200112L"
-
- # override patch.pre_args since it defaults to -p0
- patch.pre_args -p1
-}
-
pre-fetch {
- # LibFUSE currently only works on OS X
- # so error out if attempting to install elsewhere
- if {![variant_isset darwin]} {
- return -code error "LibFUSE is only supported for Mac OS X"
- }
-
- patch_checksum
+ ui_msg "********************************"
+ ui_msg "* This port no longer exists *"
+ ui_msg "* Use the macfuse port instead *"
+ ui_msg "********************************"
+ throw ERROR "Obsolete port, use macfuse"
}
-
-proc patch_checksum {} {
- global checksums_array UI_PREFIX
- # assume we only have one patchfile, because at the moment that's true
- set patchfile [option patchfiles]
- # do our own checksumming of an existing $patchfile because URL changes between revisions
- # if the checksum fails, delete the patchfile
- # a lot of this code is copied from checksum_main
- # Eventually this technique should be replaced with a patchfile dist subdir
- if {[file exists [option distpath]/$patchfile]} {
- ui_info "$UI_PREFIX $patchfile exists, checksumming to detect URL change"
- if {[parse_checksums [option checksums]] == "yes"} {
- ui_info "$UI_PREFIX [format [msgcat::mc "Checksumming %s"] $patchfile]"
- set fullpath [file join [option distpath] $patchfile]
- if {[info exists checksums_array($patchfile)]} {
- set checksums $checksums_array($patchfile)
-
- foreach {type sum} $checksums {
- set calculated_sum [calc_$type $fullpath]
- if {![string equal $sum $calculated_sum]} {
- ui_debug "Checksum mismatch for $patchfile"
- delete $fullpath
- break
- }
- }
- }
- } else {
- return -code error "Unable to parse checksum string"
- }
- }
-}
\ No newline at end of file
Copied: trunk/dports/fuse/macfuse/Portfile (from rev 36268, trunk/dports/fuse/fusefs/Portfile)
===================================================================
--- trunk/dports/fuse/macfuse/Portfile (rev 0)
+++ trunk/dports/fuse/macfuse/Portfile 2008-04-25 11:30:48 UTC (rev 36271)
@@ -0,0 +1,90 @@
+# $Id$
+
+PortSystem 1.0
+
+name macfuse
+version 1.3
+categories fuse devel
+platforms darwin
+maintainers eridius at 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 macfuse-${version}
+worksrcdir macfuse-core
+checksums md5 fd80b07221174f1636502c0062c43690 \
+ sha1 d840ba3dbd56850b6b9d10a3937fb2cbdacbffbc
+
+livecheck.distname MacFUSE-Core-(.*).dmg
+livecheck.version 10.5-${version}.1
+
+use_bzip2 yes
+
+use_configure no
+
+destroot.violate_mtree yes
+
+# patchfiles patch-project.pbxproj
+
+platform darwin 8 {
+ # dummy for pre-fetch
+}
+platform darwin 9 {
+ # dummy for pre-fetch
+}
+
+variant universal {
+ # provide a dummy variant since the script will actually build universal
+ # and we don't want to error out if someone says +universal
+}
+
+# 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"
+ }
+}
+
+build {
+ system "cd ${worksrcpath} && ./build_macfuse.sh | sed -ne '/^created: /h;p;$\{g;s/^created: //
+ w ../dmgname
+ \}'; exit $\{PIPESTATUS\[0\]\}"
+}
+
+destroot {
+ set dmgname [exec cat ${workpath}/dmgname]
+ # we know the build script generates a .tar.bz2 right next to the dmg
+ set tarname [string replace $dmgname end-2 end "tar.bz2"]
+ system "tar -xjf $tarname -C ${destpath}"
+ delete ${destpath}/opt
+ file rename ${destpath}/usr ${destpath}/opt
+ foreach f [list "pkgconfig/fuse.pc" "libfuse.la" "libulockmgr.la"] {
+ set path "${destpath}/opt/local/lib/${f}"
+ reinplace s,/usr/local,/opt/local, $path
+ }
+ foreach lib [list "libulockmgr.0" "libfuse.0"] {
+ set libpath "/opt/local/lib/${lib}.dylib"
+ system "install_name_tool -id ${libpath} ${destpath}${libpath}"
+ }
+ system "install_name_tool -change /usr/local/lib/libfuse.0.dylib /opt/local/lib/libfuse.0.dylib ${destpath}/Library/Frameworks/MacFUSE.framework/Versions/A/MacFUSE"
+ # delete the whole directory the build script creates
+ # when updating this Portfile DOUBLE CHECK THIS LINE
+ delete [file dirname $dmgname]
+}
+
+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 "********************************************************"
+ }
+}
Modified: trunk/dports/fuse/sshfs/Portfile
===================================================================
--- trunk/dports/fuse/sshfs/Portfile 2008-04-25 11:30:05 UTC (rev 36270)
+++ trunk/dports/fuse/sshfs/Portfile 2008-04-25 11:30:48 UTC (rev 36271)
@@ -4,7 +4,7 @@
name sshfs
version 1.8
-revision 2
+revision 3
categories fuse
platforms darwin
maintainers eridius at macports.org
@@ -28,7 +28,7 @@
depends_lib port:gettext \
port:glib2 \
- port:libfuse \
+ port:macfuse \
port:libiconv \
port:pkgconfig
@@ -37,8 +37,7 @@
configure.post_args-append --disable-dependency-tracking
platform darwin {
- depends_run port:fusefs
- patch_sites http://macfuse.googlecode.com/svn/tags/macfuse-1.1/filesystems/sshfs
+ patch_sites http://macfuse.googlecode.com/svn/tags/macfuse-1.3/filesystems/sshfs
patchfiles sshfs-fuse-${version}-macosx.patch
checksums-append sshfs-fuse-${version}-macosx.patch md5 5d3cec641c22e89dd840c6bbc3af89d4 \
sha1 79f058e0ae4b90ec09d50ab39401773d146bdf95
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080425/b062a730/attachment-0001.html
More information about the macports-changes
mailing list