From e5c095a8ea182245ee4a64e01b8ed5560ccac9a9 Mon Sep 17 00:00:00 2001 From: Deniss Afonin Date: Thu, 1 Sep 2011 13:57:13 +0300 Subject: [PATCH] New formula: fuse4x-kext This formula provides the kernel extension required to run FUSE-based filesystems using fuse4x. Signed-off-by: Charlie Sharpsteen --- Formula/fuse4x-kext.rb | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Formula/fuse4x-kext.rb diff --git a/Formula/fuse4x-kext.rb b/Formula/fuse4x-kext.rb new file mode 100644 index 0000000000..b391e756bd --- /dev/null +++ b/Formula/fuse4x-kext.rb @@ -0,0 +1,41 @@ +require 'formula' + +def kext_prefix + prefix + 'Library' + 'Extensions' +end + +class Fuse4xKext < Formula + homepage 'http://fuse4x.org/' + url 'https://github.com/fuse4x/kext.git', :tag => "fuse4x_0_8_12" + version "0.8.12" + + def install + ENV.delete('CC') + ENV.delete('CXX') + + args = [ + "-sdk", + "macosx#{MACOS_VERSION}", + "-configuration", "Release", + "-alltargets", + "MACOSX_DEPLOYMENT_TARGET=#{MACOS_VERSION}", + "SYMROOT=build" + ] + # Don't build a multi-arch kext for Leopard---it will fail. + args.concat %w[ARCHS=i386 ONLY_ACTIVE_ARCH=NO] if MacOS.leopard? + + system "/usr/bin/xcodebuild", *args + system "/bin/mkdir -p build/Release/fuse4x.kext/Support" + system "/bin/cp build/Release/load_fuse4x build/Release/fuse4x.kext/Support" + + kext_prefix.install "build/Release/fuse4x.kext" + end + + def caveats + <<-EOS.undent + In order for FUSE-based filesystems to work, the fuse4x kernel extension + must be installed by the root user: + sudo cp -rfX #{kext_prefix}/fuse4x.kext /System/Library/Extensions + EOS + end +end