88779ade49
Closes Homebrew/homebrew#14653.
100 lines
3.4 KiB
Ruby
100 lines
3.4 KiB
Ruby
require 'formula'
|
|
|
|
class Ntfs3g < Formula
|
|
homepage 'http://www.tuxera.com/community/ntfs-3g-download/'
|
|
url 'http://tuxera.com/opensource/ntfs-3g_ntfsprogs-2012.1.15.tgz'
|
|
sha1 '8d55cf49afde172fefa369a0a85289e09c4d7bbb'
|
|
|
|
depends_on 'pkg-config' => :build
|
|
depends_on 'fuse4x'
|
|
|
|
def patches
|
|
# From macports:
|
|
# http://trunk/dports/fuse/ntfs-3g/files/patch-configure.diff
|
|
# Modify configure such that it does not modify the default PKG_CONFIG_PATH
|
|
{ :p0 => DATA }
|
|
end
|
|
|
|
def install
|
|
# Workaround for hardcoded /sbin in ntfsprogs
|
|
inreplace "ntfsprogs/Makefile.in", "/sbin", sbin
|
|
|
|
ENV.append "LDFLAGS", "-lintl"
|
|
args = ["--disable-debug",
|
|
"--disable-dependency-tracking",
|
|
"--prefix=#{prefix}",
|
|
"--exec-prefix=#{prefix}",
|
|
"--mandir=#{man}",
|
|
"--disable-library",
|
|
"--with-fuse=external"]
|
|
system "./configure", *args
|
|
system "make"
|
|
system "make install"
|
|
|
|
# Install a script that can be used to enable automount
|
|
File.open("#{sbin}/mount_ntfs", File::CREAT|File::TRUNC|File::RDWR, 0755) do |f|
|
|
f.puts <<-EOS.undent
|
|
#!/bin/bash
|
|
|
|
VOLUME_NAME="${@:$#}"
|
|
VOLUME_NAME=${VOLUME_NAME#/Volumes/}
|
|
USER_ID=#{Process.uid}
|
|
GROUP_ID=#{Process.gid}
|
|
|
|
if [ `/usr/bin/stat -f %u /dev/console` -ne 0 ]; then
|
|
USER_ID=`/usr/bin/stat -f %u /dev/console`
|
|
GROUP_ID=`/usr/bin/stat -f %g /dev/console`
|
|
fi
|
|
|
|
#{bin}/ntfs-3g \\
|
|
-o volname="${VOLUME_NAME}" \\
|
|
-o local \\
|
|
-o noappledouble \\
|
|
-o negative_vncache \\
|
|
-o auto_xattr \\
|
|
-o auto_cache \\
|
|
-o noatime \\
|
|
-o windows_names \\
|
|
-o user_xattr \\
|
|
-o inherit \\
|
|
-o uid=$USER_ID \\
|
|
-o gid=$GROUP_ID \\
|
|
-o allow_other \\
|
|
"$@" >> /var/log/mount-ntfs-3g.log 2>&1
|
|
|
|
exit $?;
|
|
EOS
|
|
end
|
|
end
|
|
|
|
def caveats
|
|
<<-EOS.undent
|
|
To replace the default Mac OSX automounter:
|
|
sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
|
|
sudo ln -s #{sbin}/mount_ntfs /sbin/mount_ntfs
|
|
|
|
The automount will set the permissions for the current logged in user,
|
|
otherwise it will set them for the user that installed ntfs-3g.
|
|
The automount support script is based on the information provided at
|
|
http://fernandoff.posterous.com/ntfs-write-support-on-osx-lion-with-ntfs-3g-f
|
|
|
|
Remember to install the fuse4x kernel extension as the root user.
|
|
Instructions are found here:
|
|
brew info fuse4x-kext
|
|
EOS
|
|
end
|
|
end
|
|
|
|
__END__
|
|
--- configure.orig 2011-08-02 19:13:55.000000000 -0400
|
|
+++ configure 2011-08-02 19:14:14.000000000 -0400
|
|
@@ -20530,9 +20530,6 @@
|
|
test "x${PKG_CONFIG}" = "xno" && { { echo "$as_me:$LINENO: error: pkg-config wasn't found! Please install from your vendor, or see http://pkg-config.freedesktop.org/wiki/" >&5
|
|
echo "$as_me: error: pkg-config wasn't found! Please install from your vendor, or see http://pkg-config.freedesktop.org/wiki/" >&2;}
|
|
{ (exit 1); exit 1; }; }
|
|
- # Libraries often install their metadata .pc files in directories
|
|
- # not searched by pkg-config. Let's workaround this.
|
|
- export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/lib/pkgconfig:/usr/lib/pkgconfig:/opt/gnome/lib/pkgconfig:/usr/share/pkgconfig:/usr/local/lib/pkgconfig:$prefix/lib/pkgconfig:/opt/gnome/share/pkgconfig:/usr/local/share/pkgconfig
|
|
|
|
pkg_failed=no
|
|
{ echo "$as_me:$LINENO: checking for FUSE_MODULE" >&5
|