diff options
| author | Johnathan Conley | 2014-08-29 14:05:12 -0500 | 
|---|---|---|
| committer | Mike McQuaid | 2014-09-09 10:17:03 +0100 | 
| commit | 1b1eada1cd97ded13c14c6057fc7ec8f10fe1612 (patch) | |
| tree | e1c66dbd17d9e51b7c670a6b634ca8cb661f3efa | |
| parent | 82170d1b3490cc9d35c7fc785cff29048f7892a9 (diff) | |
| download | homebrew-1b1eada1cd97ded13c14c6057fc7ec8f10fe1612.tar.bz2 | |
Add :osxfuse dependency to support binary install.
add :osxfuse symbolic dependency
add ConflictsWithFuseForOsx requirement for osxfuse/fuse4x/fuse4x-kext
Closes #31975.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
| l--------- | Library/ENV/pkgconfig/fuse/fuse.pc | 1 | ||||
| l--------- | Library/ENV/pkgconfig/fuse/osxfuse.pc | 1 | ||||
| -rw-r--r-- | Library/Formula/fuse4x.rb | 1 | ||||
| -rw-r--r-- | Library/Formula/osxfuse.rb | 1 | ||||
| -rw-r--r-- | Library/Homebrew/dependency_collector.rb | 1 | ||||
| -rw-r--r-- | Library/Homebrew/requirements.rb | 1 | ||||
| -rw-r--r-- | Library/Homebrew/requirements/osxfuse_dependency.rb | 28 | 
7 files changed, 34 insertions, 0 deletions
| diff --git a/Library/ENV/pkgconfig/fuse/fuse.pc b/Library/ENV/pkgconfig/fuse/fuse.pc new file mode 120000 index 000000000..30b17c659 --- /dev/null +++ b/Library/ENV/pkgconfig/fuse/fuse.pc @@ -0,0 +1 @@ +/usr/local/lib/pkgconfig/fuse.pc
\ No newline at end of file diff --git a/Library/ENV/pkgconfig/fuse/osxfuse.pc b/Library/ENV/pkgconfig/fuse/osxfuse.pc new file mode 120000 index 000000000..153a5d6e2 --- /dev/null +++ b/Library/ENV/pkgconfig/fuse/osxfuse.pc @@ -0,0 +1 @@ +/usr/local/lib/pkgconfig/osxfuse.pc
\ No newline at end of file diff --git a/Library/Formula/fuse4x.rb b/Library/Formula/fuse4x.rb index 14cf08178..ac36ea406 100644 --- a/Library/Formula/fuse4x.rb +++ b/Library/Formula/fuse4x.rb @@ -9,6 +9,7 @@ class Fuse4x < Formula    depends_on 'automake' => :build    depends_on 'libtool' => :build    depends_on 'gettext' => :build +  depends_on ConflictsWithBinaryOsxfuse    depends_on 'fuse4x-kext'    conflicts_with 'osxfuse', :because => 'both install `fuse.pc`' diff --git a/Library/Formula/osxfuse.rb b/Library/Formula/osxfuse.rb index 3e35ddd12..09b9ad299 100644 --- a/Library/Formula/osxfuse.rb +++ b/Library/Formula/osxfuse.rb @@ -14,6 +14,7 @@ class Osxfuse < Formula    depends_on :macos => :snow_leopard    depends_on :xcode => :build +  depends_on ConflictsWithBinaryOsxfuse    depends_on "autoconf" => :build    depends_on "automake" => :build    depends_on "libtool" => :build diff --git a/Library/Homebrew/dependency_collector.rb b/Library/Homebrew/dependency_collector.rb index dc75c884d..546e92af3 100644 --- a/Library/Homebrew/dependency_collector.rb +++ b/Library/Homebrew/dependency_collector.rb @@ -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) diff --git a/Library/Homebrew/requirements.rb b/Library/Homebrew/requirements.rb index 049e70d8d..add17b24e 100644 --- a/Library/Homebrew/requirements.rb +++ b/Library/Homebrew/requirements.rb @@ -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' diff --git a/Library/Homebrew/requirements/osxfuse_dependency.rb b/Library/Homebrew/requirements/osxfuse_dependency.rb new file mode 100644 index 000000000..b8f09c8f0 --- /dev/null +++ b/Library/Homebrew/requirements/osxfuse_dependency.rb @@ -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 | 
