Add :osxfuse dependency to support binary install.

add :osxfuse symbolic dependency
add ConflictsWithFuseForOsx requirement for osxfuse/fuse4x/fuse4x-kext

Closes Homebrew/homebrew#31975.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
This commit is contained in:
Johnathan Conley 2014-08-29 14:05:12 -05:00 committed by Mike McQuaid
parent 6a3a370603
commit 0d154a991d
5 changed files with 32 additions and 0 deletions

View File

@ -0,0 +1 @@
/usr/local/lib/pkgconfig/fuse.pc

View File

@ -0,0 +1 @@
/usr/local/lib/pkgconfig/osxfuse.pc

View File

@ -119,6 +119,7 @@ class DependencyCollector
when :python, :python2 then PythonDependency.new(tags)
when :python3 then Python3Dependency.new(tags)
when :java then JavaDependency.new(tags)
when :osxfuse then OsxfuseDependency.new(tags)
# Tiger's ld is too old to properly link some software
when :ld64 then LD64Dependency.new if MacOS.version < :leopard
when :ant then ant_dep(spec, tags)

View File

@ -3,6 +3,7 @@ require 'requirements/fortran_dependency'
require 'requirements/language_module_dependency'
require 'requirements/minimum_macos_requirement'
require 'requirements/mpi_dependency'
require 'requirements/osxfuse_dependency'
require 'requirements/python_dependency'
require 'requirements/x11_dependency'

View File

@ -0,0 +1,28 @@
require "requirement"
class OsxfuseDependency < Requirement
fatal true
default_formula "osxfuse"
satisfy { Formula["osxfuse"].installed? || self.class.binary_osxfuse_installed? }
def self.binary_osxfuse_installed?
File.exist?("/usr/local/include/osxfuse/fuse.h") && !File.symlink?("/usr/local/include/osxfuse")
end
env do
ENV.append_path "PKG_CONFIG_PATH", HOMEBREW_PREFIX/"Library/ENV/pkgconfig/fuse"
end
end
class ConflictsWithBinaryOsxfuse < Requirement
fatal true
satisfy { HOMEBREW_PREFIX.to_s != "/usr/local" || !OsxfuseDependency.binary_osxfuse_installed? }
def message
<<-EOS.undent
osxfuse is already installed from the binary distribution and
conflicts with this formula.
EOS
end
end