aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJohnathan Conley2014-08-29 14:05:12 -0500
committerMike McQuaid2014-09-09 10:17:03 +0100
commit1b1eada1cd97ded13c14c6057fc7ec8f10fe1612 (patch)
treee1c66dbd17d9e51b7c670a6b634ca8cb661f3efa /Library
parent82170d1b3490cc9d35c7fc785cff29048f7892a9 (diff)
downloadhomebrew-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>
Diffstat (limited to 'Library')
l---------Library/ENV/pkgconfig/fuse/fuse.pc1
l---------Library/ENV/pkgconfig/fuse/osxfuse.pc1
-rw-r--r--Library/Formula/fuse4x.rb1
-rw-r--r--Library/Formula/osxfuse.rb1
-rw-r--r--Library/Homebrew/dependency_collector.rb1
-rw-r--r--Library/Homebrew/requirements.rb1
-rw-r--r--Library/Homebrew/requirements/osxfuse_dependency.rb28
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