curl: handle more non-executable curl edge-cases.

Address some additional issues mentioned in #3624.
This commit is contained in:
Mike McQuaid 2018-01-11 16:33:20 +00:00
parent b66010605d
commit 924865ec7f

View File

@ -2,10 +2,13 @@ require "pathname"
require "open3"
def curl_executable
curl = Pathname.new ENV["HOMEBREW_CURL"]
curl = which("curl") unless curl.exist?
return curl if curl.executable?
raise "#{curl} is not executable"
@curl ||= [
ENV["HOMEBREW_CURL"],
which("curl"),
"/usr/bin/curl",
].map { |c| Pathname(c) }.find(&:executable?)
raise "curl is not executable" unless @curl
@curl
end
def curl_args(*extra_args, show_output: false, user_agent: :default)