brew/Library/Homebrew/extend/os/linux/requirements/osxfuse_requirement.rb

45 lines
835 B
Ruby
Raw Normal View History

2020-10-10 14:16:11 +02:00
# typed: false
# frozen_string_literal: true
2017-02-20 09:42:43 -08:00
require "requirement"
class OsxfuseRequirement < Requirement
download "https://github.com/libfuse/libfuse"
satisfy(build_env: false) do
next true if libfuse_formula_exists? && Formula["libfuse"].latest_version_installed?
2018-09-17 02:45:00 +02:00
2017-02-20 09:42:43 -08:00
includedirs = %w[
/usr/include
/usr/local/include
]
next true if (includedirs.map do |dir|
File.exist? "#{dir}/fuse.h"
end).any?
2018-09-17 02:45:00 +02:00
2017-02-20 09:42:43 -08:00
false
end
def message
msg = "libfuse is required for this software.\n"
2017-02-20 09:42:43 -08:00
if libfuse_formula_exists?
2020-08-19 17:12:32 +01:00
<<~EOS
#{msg}Run `brew install libfuse` to install it.
2017-02-20 09:42:43 -08:00
EOS
else
msg + super
end
end
private
def libfuse_formula_exists?
begin
Formula["libfuse"]
rescue FormulaUnavailableError
return false
end
true
end
end