diff options
Diffstat (limited to 'Library/Homebrew/extend/os/linux')
| -rw-r--r-- | Library/Homebrew/extend/os/linux/requirements/osxfuse_requirement.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Library/Homebrew/extend/os/linux/requirements/osxfuse_requirement.rb b/Library/Homebrew/extend/os/linux/requirements/osxfuse_requirement.rb new file mode 100644 index 000000000..3fd847bc4 --- /dev/null +++ b/Library/Homebrew/extend/os/linux/requirements/osxfuse_requirement.rb @@ -0,0 +1,39 @@ +require "requirement" + +class OsxfuseRequirement < Requirement + download "https://github.com/libfuse/libfuse" + + satisfy(build_env: false) do + next true if libfuse_formula_exists? && Formula["libfuse"].installed? + includedirs = %w[ + /usr/include + /usr/local/include + ] + next true if (includedirs.map do |dir| + File.exist? "#{dir}/fuse.h" + end).any? + false + end + + def message + msg = "libfuse is required to install this formula.\n" + if libfuse_formula_exists? + msg + <<-EOS.undent + Run "brew install libfuse" to install it. + EOS + else + msg + super + end + end + + private + + def libfuse_formula_exists? + begin + Formula["libfuse"] + rescue FormulaUnavailableError + return false + end + true + end +end |
