[21623] trunk/dports

source_changes at macosforge.org source_changes at macosforge.org
Tue Jan 30 21:45:40 PST 2007


Revision: 21623
          http://trac.macosforge.org/projects/macports/changeset/21623
Author:   eridius at macports.org
Date:     2007-01-30 21:45:40 -0800 (Tue, 30 Jan 2007)

Log Message:
-----------
At last, the long-awaited MacFUSE portfile!
Creating a fuse/ toplevel category because I anticipate more fuse filesystems to be added soon, and there's no other real good place for them.

New port: fusefs. This is the kernel-level support for MacFUSE, including fusefs.kext, fusefs.fs, load_fusefs, and mount_fusefs. Source is a tarball created from the fusefs-0.1.9 svn tag, hosted by the macports svn repo, as MacFUSE itself does not provide source drops.

New port: libfuse. This is the user-level support for MacFUSE, including libfuse.dylib and the fuse headers. Theoretically this could compile on linux systems as well, but the portfile explicitly checks for darwin as I don't know how this would work under linux.

New port: sshfs. This is the sshfs FUSE filesystem. Depends on libfuse and fusefs. Theoretically it should just depend on libfuse, but the dependency graph wasn't working right and fusefs wasn't being built this way. I wonder if the graph uses the PortIndex?

For all you home users: do a `sudo port install sshfs` and everything will Just Work.

Added Paths:
-----------
    trunk/dports/fuse/
    trunk/dports/fuse/fusefs/
    trunk/dports/fuse/fusefs/Portfile
    trunk/dports/fuse/libfuse/
    trunk/dports/fuse/libfuse/Portfile
    trunk/dports/fuse/sshfs/
    trunk/dports/fuse/sshfs/Portfile

Added: trunk/dports/fuse/fusefs/Portfile
===================================================================
--- trunk/dports/fuse/fusefs/Portfile	                        (rev 0)
+++ trunk/dports/fuse/fusefs/Portfile	2007-01-31 05:45:40 UTC (rev 21623)
@@ -0,0 +1,80 @@
+# $Id$
+
+PortSystem 1.0
+PortGroup xcode 1.0
+
+name                fusefs
+version             0.1.9
+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        http://svn.macosforge.org/repository/macports/distfiles/eridius/
+distname            fusefs-${version}
+worksrcdir          fusefs
+checksums           md5 eedef271f36d72f4b29d91c9b1501d83 \
+                    sha1 ffb88859122cbc0725ddcb26eb27c88587f4a820
+extract.suffix      .tar.bz2
+
+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}/
+    find ${extdir}/fusefs.kext {expr 1} {
+        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}
+    find ${sysfsdir}/fusefs.fs {expr 1} {
+        file attributes $filename -owner root -group wheel
+    }
+    
+    # copy mount_fusefs
+    xinstall -o root -g wheel ${builddir}/mount_fusefs \
+                              ${sysfsdir}/fusefs.fs/mount_fusefs
+}
\ No newline at end of file

Added: trunk/dports/fuse/libfuse/Portfile
===================================================================
--- trunk/dports/fuse/libfuse/Portfile	                        (rev 0)
+++ trunk/dports/fuse/libfuse/Portfile	2007-01-31 05:45:40 UTC (rev 21623)
@@ -0,0 +1,41 @@
+# $Id$
+
+PortSystem 1.0
+
+name                libfuse
+version             2.6.1
+categories          fuse devel
+platforms           darwin
+maintainers         eridius at macports.org
+description         Filesystem in Userspace
+long_description    See the fusefs port for more information
+
+homepage            http://fuse.sourceforge.net/
+
+distname            fuse-${version}
+master_sites        sourceforge:fuse
+checksums           ${distfiles} md5 13e1873086a1d7a95f470bbc7428c528 \
+                                 sha1 85ec4458d0ab2647b6b43605f0200006d89981ed
+
+depends_lib         bin:pkg-config:pkgconfig
+
+platform darwin {
+    depends_run         port:fusefs
+    patch_sites         http://macfuse.googlecode.com/svn/tags/macfuse-0.1.9/libfuse/
+    patchfiles          fuse-2.6.1-macosx.patch
+    checksums-append    fuse-2.6.1-macosx.patch md5 a1356f9cd7538e005199ca52d695fffa \
+                                                sha1 76b5b1bf01ee87c866d86d77c2c2cefeaae1fd71
+    
+    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"
+    }
+}
\ No newline at end of file

Added: trunk/dports/fuse/sshfs/Portfile
===================================================================
--- trunk/dports/fuse/sshfs/Portfile	                        (rev 0)
+++ trunk/dports/fuse/sshfs/Portfile	2007-01-31 05:45:40 UTC (rev 21623)
@@ -0,0 +1,39 @@
+# $Id$
+
+PortSystem 1.0
+
+name                sshfs
+version             1.7
+categories          fuse devel
+platforms           darwin
+maintainers         eridius at macports.org
+description         Filesystem in Userspace
+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 e91a2fed1da952a375798408dc6e41a0 \
+                                 sha1 c68fa99e9127b59141a5ac5babec39d5bb541141
+
+depends_lib         bin:pkg-config:pkgconfig lib:libglib-2.0:glib2 lib:libfuse:libfuse
+
+platform darwin {
+    depends_run         port:fusefs
+    patch_sites         http://macfuse.googlecode.com/svn/tags/macfuse-0.1.9/filesystems/sshfs
+    patchfiles          sshfs-fuse-1.7-macosx.patch
+    checksums-append    sshfs-fuse-1.7-macosx.patch md5 ded7579df87a384d2b74cf6413ba923f \
+                                                    sha1 50d036dc57fb560f011d598852576a446ba3842b
+    
+    configure.post_args-append CFLAGS="-D__FreeBSD__=10"
+    
+    # override patch.pre_args since it defaults to -p0
+    patch.pre_args -p1
+}
\ No newline at end of file

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070130/609e78be/attachment.html


More information about the macports-changes mailing list