# $Id: Portfile 36274 2008-04-25 11:36:18Z eridius@macports.org $ PortSystem 1.0 name sshfs version 1.8 revision 3 categories fuse platforms darwin maintainers eridius@macports.org description SSH filesystem for FUSE long_description This is a filesystem client based on the \ SSH File Transfer Protocol. Since most SSH \ servers already support this protocol it is \ very easy to set up: i.e. on the server side \ there's nothing to do. On the client side \ mounting the filesystem is as easy as logging \ into the server with ssh. homepage http://fuse.sourceforge.net/sshfs.html distname sshfs-fuse-${version} master_sites sourceforge:fuse checksums ${distfiles} md5 3c575cf89a6d3d8ab6063c2f60bd5b25 \ sha1 ab1df8d8b2a601bc22959a14e95e57fae5fc3787 livecheck.distname sshfs-fuse depends_lib port:gettext \ port:glib2 \ port:macfuse \ port:libiconv \ port:pkgconfig configure.cflags-append "-D__FreeBSD__=10 -DDARWIN_SEMAPHORE_COMPAT -DSSH_NODELAY_WORKAROUND -D_POSIX_C_SOURCE=200112L" configure.ldflags-append "-framework CoreFoundation" configure.post_args-append --disable-dependency-tracking platform darwin { 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 # override patch.pre_args since it defaults to -p0 patch.pre_args -p1 } pre-fetch { if {[variant_isset darwin]} { patch_checksum } } 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" } } }