# $Id$ PortSystem 1.0 name sshfs version 1.9 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 05c3da4fa0f673f7ce5f480b3023af61 \ sha1 dfd3a72c76f6b4fac4105b23ca228d8166a0510a livecheck.distname sshfs-fuse depends_lib port:gettext \ port:glib2 \ port:macfuse \ port:libiconv \ port:pkgconfig \ port:openssh configure.cflags-append -D__FreeBSD__=10 -DDARWIN_SEMAPHORE_COMPAT -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.5/filesystems/sshfs patchfiles sshfs-fuse-${version}-macosx.patch checksums-append sshfs-fuse-${version}-macosx.patch md5 195a7c8268b8deb3151c8b1015f3b602 \ sha1 5dc431425a4e6dcace08bb2d7d803df3553731e3 # 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" } } }