aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/cmd/uninstall.rb2
-rw-r--r--Library/Homebrew/compat.rb3
-rw-r--r--Library/Homebrew/compat/ENV/shared.rb6
-rw-r--r--Library/Homebrew/compat/ENV/std.rb27
-rw-r--r--Library/Homebrew/compat/ENV/super.rb47
-rw-r--r--Library/Homebrew/compat/macos.rb16
-rw-r--r--Library/Homebrew/compilers.rb10
-rw-r--r--Library/Homebrew/dev-cmd/audit.rb31
-rw-r--r--Library/Homebrew/development_tools.rb22
-rw-r--r--Library/Homebrew/extend/ENV/std.rb15
-rw-r--r--Library/Homebrew/extend/ENV/super.rb21
-rw-r--r--Library/Homebrew/extend/os/mac/development_tools.rb11
-rw-r--r--Library/Homebrew/extend/os/mac/extend/ENV/super.rb7
-rw-r--r--Library/Homebrew/formula_versions.rb29
-rw-r--r--Library/Homebrew/global.rb8
-rw-r--r--Library/Homebrew/os/mac.rb14
-rw-r--r--Library/Homebrew/system_config.rb12
-rw-r--r--Library/Homebrew/test/ENV_test.rb2
-rw-r--r--Library/Homebrew/test/stdlib_test.rb7
-rw-r--r--Library/Homebrew/utils/curl.rb29
20 files changed, 202 insertions, 117 deletions
diff --git a/Library/Homebrew/cmd/uninstall.rb b/Library/Homebrew/cmd/uninstall.rb
index 505d4e4b2..c08b13dad 100644
--- a/Library/Homebrew/cmd/uninstall.rb
+++ b/Library/Homebrew/cmd/uninstall.rb
@@ -121,7 +121,7 @@ module Homebrew
end
def sample_command
- "brew uninstall --ignore-dependencies #{list reqs.map(&:name)}"
+ "brew uninstall --ignore-dependencies #{ARGV.named.join(" ")}"
end
def are_required_by_deps
diff --git a/Library/Homebrew/compat.rb b/Library/Homebrew/compat.rb
index 5d78c715f..92b687725 100644
--- a/Library/Homebrew/compat.rb
+++ b/Library/Homebrew/compat.rb
@@ -22,3 +22,6 @@ require "compat/json"
require "compat/ARGV"
require "compat/build_options"
require "compat/tab"
+require "compat/ENV/shared"
+require "compat/ENV/std"
+require "compat/ENV/super"
diff --git a/Library/Homebrew/compat/ENV/shared.rb b/Library/Homebrew/compat/ENV/shared.rb
new file mode 100644
index 000000000..200e7b132
--- /dev/null
+++ b/Library/Homebrew/compat/ENV/shared.rb
@@ -0,0 +1,6 @@
+module SharedEnvExtension
+ def j1
+ odeprecated "ENV.j1", "ENV.deparallelize"
+ deparallelize
+ end
+end
diff --git a/Library/Homebrew/compat/ENV/std.rb b/Library/Homebrew/compat/ENV/std.rb
new file mode 100644
index 000000000..26dabe440
--- /dev/null
+++ b/Library/Homebrew/compat/ENV/std.rb
@@ -0,0 +1,27 @@
+module Stdenv
+ def fast
+ odeprecated "ENV.fast"
+ end
+
+ def O4
+ odeprecated "ENV.O4"
+ end
+
+ def Og
+ odeprecated "ENV.Og"
+ end
+
+ def gcc_4_0_1
+ odeprecated "ENV.gcc_4_0_1", "ENV.gcc_4_0"
+ gcc_4_0
+ end
+
+ def gcc
+ odeprecated "ENV.gcc", "ENV.gcc_4_2"
+ gcc_4_2
+ end
+
+ def libpng
+ odeprecated "ENV.libpng", "ENV.x11"
+ end
+end
diff --git a/Library/Homebrew/compat/ENV/super.rb b/Library/Homebrew/compat/ENV/super.rb
new file mode 100644
index 000000000..2020ad752
--- /dev/null
+++ b/Library/Homebrew/compat/ENV/super.rb
@@ -0,0 +1,47 @@
+module Superenv
+ def fast
+ odeprecated "ENV.fast"
+ end
+
+ def O4
+ odeprecated "ENV.O4"
+ end
+
+ def Og
+ odeprecated "ENV.Og"
+ end
+
+ def gcc_4_0_1
+ odeprecated "ENV.gcc_4_0_1", "ENV.gcc_4_0"
+ gcc_4_0
+ end
+
+ def gcc
+ odeprecated "ENV.gcc", "ENV.gcc_4_2"
+ gcc_4_2
+ end
+
+ def libxml2
+ odeprecated "ENV.libxml2"
+ end
+
+ def minimal_optimization
+ odeprecated "ENV.minimal_optimization"
+ end
+
+ def no_optimization
+ odeprecated "ENV.no_optimization"
+ end
+
+ def enable_warnings
+ odeprecated "ENV.enable_warnings"
+ end
+
+ def macosxsdk
+ odeprecated "ENV.macosxsdk"
+ end
+
+ def remove_macosxsdk
+ odeprecated "ENV.remove_macosxsdk"
+ end
+end
diff --git a/Library/Homebrew/compat/macos.rb b/Library/Homebrew/compat/macos.rb
index 17f4670cc..3acd2f9ef 100644
--- a/Library/Homebrew/compat/macos.rb
+++ b/Library/Homebrew/compat/macos.rb
@@ -100,23 +100,23 @@ module OS
end
def gcc_40_build_version
- odeprecated "MacOS.gcc_40_build_version", "DevelopmentTools.gcc_40_build_version"
- DevelopmentTools.gcc_40_build_version
+ odeprecated "MacOS.gcc_40_build_version", "DevelopmentTools.gcc_4_0_build_version"
+ DevelopmentTools.gcc_4_0_build_version
end
def gcc_4_0_build_version
- odeprecated "MacOS.gcc_4_0_build_version", "DevelopmentTools.gcc_40_build_version"
- DevelopmentTools.gcc_40_build_version
+ odeprecated "MacOS.gcc_4_0_build_version", "DevelopmentTools.gcc_4_0_build_version"
+ DevelopmentTools.gcc_4_0_build_version
end
def gcc_42_build_version
- odeprecated "MacOS.gcc_42_build_version", "DevelopmentTools.gcc_42_build_version"
- DevelopmentTools.gcc_42_build_version
+ odeprecated "MacOS.gcc_42_build_version", "DevelopmentTools.gcc_4_2_build_version"
+ DevelopmentTools.gcc_4_2_build_version
end
def gcc_build_version
- odeprecated "MacOS.gcc_build_version", "DevelopmentTools.gcc_42_build_version"
- DevelopmentTools.gcc_42_build_version
+ odeprecated "MacOS.gcc_build_version", "DevelopmentTools.gcc_4_2_build_version"
+ DevelopmentTools.gcc_4_2_build_version
end
def llvm_build_version
diff --git a/Library/Homebrew/compilers.rb b/Library/Homebrew/compilers.rb
index 9ee847db0..628e71e9b 100644
--- a/Library/Homebrew/compilers.rb
+++ b/Library/Homebrew/compilers.rb
@@ -4,7 +4,7 @@ module CompilerConstants
GNU_GCC_REGEXP = /^gcc-(4\.[3-9]|[5-7])$/
COMPILER_SYMBOL_MAP = {
"gcc-4.0" => :gcc_4_0,
- "gcc-4.2" => :gcc,
+ "gcc-4.2" => :gcc_4_2,
"clang" => :clang,
"llvm_clang" => :llvm_clang,
}.freeze
@@ -68,7 +68,7 @@ class CompilerFailure
COLLECTIONS = {
cxx11: [
create(:gcc_4_0),
- create(:gcc),
+ create(:gcc_4_2),
create(:clang) { build 425 },
create(gcc: "4.3"),
create(gcc: "4.4"),
@@ -87,9 +87,9 @@ class CompilerSelector
Compiler = Struct.new(:name, :version)
COMPILER_PRIORITY = {
- clang: [:clang, :gcc, :gnu, :gcc_4_0, :llvm_clang],
- gcc: [:gcc, :gnu, :clang, :gcc_4_0],
- gcc_4_0: [:gcc_4_0, :gcc, :gnu, :clang],
+ clang: [:clang, :gcc_4_2, :gnu, :gcc_4_0, :llvm_clang],
+ gcc_4_2: [:gcc_4_2, :gnu, :clang, :gcc_4_0],
+ gcc_4_0: [:gcc_4_0, :gcc_4_2, :gnu, :clang],
}.freeze
def self.select_for(formula, compilers = self.compilers)
diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb
index ef22cbb7a..74ba987f6 100644
--- a/Library/Homebrew/dev-cmd/audit.rb
+++ b/Library/Homebrew/dev-cmd/audit.rb
@@ -169,6 +169,33 @@ class FormulaAuditor
@specs = %w[stable devel head].map { |s| formula.send(s) }.compact
end
+ def url_status_code(url, range: false)
+ # The system Curl is too old and unreliable with HTTPS homepages on
+ # Yosemite and below.
+ return "200" unless DevelopmentTools.curl_handles_most_https_homepages?
+
+ extra_args = [
+ "--connect-timeout", "15",
+ "--output", "/dev/null",
+ "--write-out", "%{http_code}"
+ ]
+ extra_args << "--range" << "0-0" if range
+ extra_args << url
+
+ args = curl_args(
+ extra_args: extra_args,
+ show_output: true,
+ default_user_agent: true
+ )
+ retries = 3
+ status_code = nil
+ retries.times do
+ status_code = Open3.popen3(*args) { |_, stdout, _, _| stdout.read }
+ break if status_code.start_with? "20"
+ end
+ status_code
+ end
+
def audit_style
return unless @style_offenses
display_cop_names = ARGV.include?("--display-cop-names")
@@ -569,8 +596,8 @@ class FormulaAuditor
end
return unless @online
- status_code, = curl_output "--connect-timeout", "15", "--output", "/dev/null", "--range", "0-0",
- "--write-out", "%{http_code}", homepage
+
+ status_code = url_status_code(homepage)
return if status_code.start_with? "20"
problem "The homepage #{homepage} is not reachable (HTTP status code #{status_code})"
end
diff --git a/Library/Homebrew/development_tools.rb b/Library/Homebrew/development_tools.rb
index ea7f5837d..625d5ea86 100644
--- a/Library/Homebrew/development_tools.rb
+++ b/Library/Homebrew/development_tools.rb
@@ -34,15 +34,11 @@ class DevelopmentTools
end
def default_compiler
- if default_cc =~ /^gcc/
- :gcc
- else
- :clang
- end
+ :clang
end
- def gcc_40_build_version
- @gcc_40_build_version ||= begin
+ def gcc_4_0_build_version
+ @gcc_4_0_build_version ||= begin
if (path = locate("gcc-4.0")) &&
build_version = `#{path} --version 2>/dev/null`[/build (\d{4,})/, 1]
Version.new build_version
@@ -51,10 +47,9 @@ class DevelopmentTools
end
end
end
- alias gcc_4_0_build_version gcc_40_build_version
- def gcc_42_build_version
- @gcc_42_build_version ||= begin
+ def gcc_4_2_build_version
+ @gcc_4_2_build_version ||= begin
gcc = locate("gcc-4.2") || HOMEBREW_PREFIX.join("opt/apple-gcc42/bin/gcc-4.2")
if gcc.exist? && !gcc.realpath.basename.to_s.start_with?("llvm")&&
build_version = `#{gcc} --version 2>/dev/null`[/build (\d{4,})/, 1]
@@ -64,7 +59,6 @@ class DevelopmentTools
end
end
end
- alias gcc_build_version gcc_42_build_version
def clang_version
@clang_version ||= begin
@@ -115,13 +109,13 @@ class DevelopmentTools
end
def clear_version_cache
- @gcc_40_build_version = @gcc_42_build_version = nil
+ @gcc_4_0_build_version = @gcc_4_2_build_version = nil
@clang_version = @clang_build_version = nil
@non_apple_gcc_version = {}
end
- def tar_supports_xz?
- false
+ def curl_handles_most_https_homepages?
+ true
end
end
end
diff --git a/Library/Homebrew/extend/ENV/std.rb b/Library/Homebrew/extend/ENV/std.rb
index 14f9b81b8..403ea1978 100644
--- a/Library/Homebrew/extend/ENV/std.rb
+++ b/Library/Homebrew/extend/ENV/std.rb
@@ -82,10 +82,6 @@ module Stdenv
old
end
- alias j1 deparallelize
-
- # These methods are no-ops for compatibility.
- %w[fast O4 Og].each { |opt| define_method(opt) {} }
%w[O3 O2 O1 O0 Os].each do |opt|
define_method opt do
@@ -110,13 +106,11 @@ module Stdenv
super
set_cpu_cflags "-march=nocona -mssse3"
end
- alias gcc_4_0_1 gcc_4_0
- def gcc
+ def gcc_4_2
super
set_cpu_cflags
end
- alias gcc_4_2 gcc
GNU_GCC_VERSIONS.each do |n|
define_method(:"gcc-#{n}") do
@@ -144,13 +138,6 @@ module Stdenv
end
alias generic_no_optimization no_optimization
- def libxml2
- end
-
- def x11
- end
- alias libpng x11
-
# we've seen some packages fail to build when warnings are disabled!
def enable_warnings
remove_from_cflags "-w"
diff --git a/Library/Homebrew/extend/ENV/super.rb b/Library/Homebrew/extend/ENV/super.rb
index a75cba406..7503e8876 100644
--- a/Library/Homebrew/extend/ENV/super.rb
+++ b/Library/Homebrew/extend/ENV/super.rb
@@ -16,9 +16,7 @@ module Superenv
# @private
attr_accessor :keg_only_deps, :deps
-
attr_accessor :x11
- alias x11? x11
def self.extended(base)
base.keg_only_deps = []
@@ -263,7 +261,6 @@ module Superenv
old
end
- alias j1 deparallelize
def make_jobs
self["MAKEFLAGS"] =~ /-\w*j(\d+)/
@@ -329,23 +326,9 @@ module Superenv
def set_x11_env_if_installed
end
+ # This method does nothing in superenv since there's no custom CFLAGS API
# @private
- def noop(*_args); end
-
- # These methods are no longer necessary under superenv, but are needed to
- # maintain an interface compatible with stdenv.
- alias fast noop
- alias O4 noop
- alias Og noop
- alias libxml2 noop
- alias set_cpu_flags noop
-
- # These methods provide functionality that has not yet been ported to
- # superenv.
- alias gcc_4_0_1 noop
- alias minimal_optimization noop
- alias no_optimization noop
- alias enable_warnings noop
+ def set_cpu_flags; end
end
class Array
diff --git a/Library/Homebrew/extend/os/mac/development_tools.rb b/Library/Homebrew/extend/os/mac/development_tools.rb
index 7c97b9d69..1bb12a3d1 100644
--- a/Library/Homebrew/extend/os/mac/development_tools.rb
+++ b/Library/Homebrew/extend/os/mac/development_tools.rb
@@ -64,21 +64,22 @@ class DevelopmentTools
case default_cc
# if GCC 4.2 is installed, e.g. via Tigerbrew, prefer it
# over the system's GCC 4.0
- when /^gcc-4\.0/ then gcc_42_build_version ? :gcc : :gcc_4_0
- when /^gcc/ then :gcc
+ when /^gcc-4\.0/ then gcc_4_2_build_version ? :gcc_4_2 : :gcc_4_0
+ when /^gcc/ then :gcc_4_2
when "clang" then :clang
else
# guess :(
if MacOS::Xcode.version >= "4.3"
:clang
else
- :gcc
+ :gcc_4_2
end
end
end
- def tar_supports_xz?
- false
+ def curl_handles_most_https_homepages?
+ # The system Curl is too old for some modern HTTPS homepages on Yosemite.
+ MacOS.version >= :el_capitan
end
end
end
diff --git a/Library/Homebrew/extend/os/mac/extend/ENV/super.rb b/Library/Homebrew/extend/os/mac/extend/ENV/super.rb
index 5f4a3e4aa..f97a2dbbb 100644
--- a/Library/Homebrew/extend/os/mac/extend/ENV/super.rb
+++ b/Library/Homebrew/extend/os/mac/extend/ENV/super.rb
@@ -1,4 +1,6 @@
module Superenv
+ alias x11? x11
+
# @private
def self.bin
return unless DevelopmentTools.installed?
@@ -120,9 +122,4 @@ module Superenv
def no_weak_imports
append "HOMEBREW_CCCFG", "w" if no_weak_imports_support?
end
-
- # These methods are no longer necessary under superenv, but are needed to
- # maintain an interface compatible with stdenv.
- alias macosxsdk noop
- alias remove_macosxsdk noop
end
diff --git a/Library/Homebrew/formula_versions.rb b/Library/Homebrew/formula_versions.rb
index 28c2a3be8..34b766fde 100644
--- a/Library/Homebrew/formula_versions.rb
+++ b/Library/Homebrew/formula_versions.rb
@@ -15,6 +15,7 @@ class FormulaVersions
@repository = formula.tap.path
@entry_name = @path.relative_path_from(repository).to_s
@max_depth = options[:max_depth]
+ @current_formula = formula
end
def rev_list(branch)
@@ -64,25 +65,33 @@ class FormulaVersions
attributes.each do |attribute|
attributes_map[attribute] ||= {}
+ # Set the attributes for the current formula in case it's not been
+ # committed yet.
+ set_attribute_map(attributes_map[attribute], @current_formula, attribute)
end
rev_list(branch) do |rev|
formula_at_revision(rev) do |f|
attributes.each do |attribute|
- map = attributes_map[attribute]
- if f.stable
- map[:stable] ||= {}
- map[:stable][f.stable.version] ||= []
- map[:stable][f.stable.version] << f.send(attribute)
- end
- next unless f.devel
- map[:devel] ||= {}
- map[:devel][f.devel.version] ||= []
- map[:devel][f.devel.version] << f.send(attribute)
+ set_attribute_map(attributes_map[attribute], f, attribute)
end
end
end
attributes_map
end
+
+ private
+
+ def set_attribute_map(map, f, attribute)
+ if f.stable
+ map[:stable] ||= {}
+ map[:stable][f.stable.version] ||= []
+ map[:stable][f.stable.version] << f.send(attribute)
+ end
+ return unless f.devel
+ map[:devel] ||= {}
+ map[:devel][f.devel.version] ||= []
+ map[:devel][f.devel.version] << f.send(attribute)
+ end
end
diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb
index eabc4c164..9a2f0c794 100644
--- a/Library/Homebrew/global.rb
+++ b/Library/Homebrew/global.rb
@@ -27,14 +27,6 @@ RUBY_BIN = RUBY_PATH.dirname
HOMEBREW_USER_AGENT_CURL = ENV["HOMEBREW_USER_AGENT_CURL"]
HOMEBREW_USER_AGENT_RUBY = "#{ENV["HOMEBREW_USER_AGENT"]} ruby/#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}".freeze
-HOMEBREW_CURL_ARGS = [
- "--fail",
- "--progress-bar",
- "--remote-time",
- "--location",
- "--user-agent", HOMEBREW_USER_AGENT_CURL
-].freeze
-
require "tap_constants"
module Homebrew
diff --git a/Library/Homebrew/os/mac.rb b/Library/Homebrew/os/mac.rb
index b2f0515a0..9468a6c1e 100644
--- a/Library/Homebrew/os/mac.rb
+++ b/Library/Homebrew/os/mac.rb
@@ -152,13 +152,13 @@ module OS
end
STANDARD_COMPILERS = {
- "2.0" => { gcc_40_build: 4061 },
- "2.5" => { gcc_40_build: 5370 },
- "3.1.4" => { gcc_40_build: 5493, gcc_42_build: 5577 },
- "3.2.6" => { gcc_40_build: 5494, gcc_42_build: 5666, clang: "1.7", clang_build: 77 },
- "4.0" => { gcc_40_build: 5494, gcc_42_build: 5666, clang: "2.0", clang_build: 137 },
- "4.0.1" => { gcc_40_build: 5494, gcc_42_build: 5666, clang: "2.0", clang_build: 137 },
- "4.0.2" => { gcc_40_build: 5494, gcc_42_build: 5666, clang: "2.0", clang_build: 137 },
+ "2.0" => { gcc_4_0_build: 4061 },
+ "2.5" => { gcc_4_0_build: 5370 },
+ "3.1.4" => { gcc_4_0_build: 5493, gcc_4_2_build: 5577 },
+ "3.2.6" => { gcc_4_0_build: 5494, gcc_4_2_build: 5666, clang: "1.7", clang_build: 77 },
+ "4.0" => { gcc_4_0_build: 5494, gcc_4_2_build: 5666, clang: "2.0", clang_build: 137 },
+ "4.0.1" => { gcc_4_0_build: 5494, gcc_4_2_build: 5666, clang: "2.0", clang_build: 137 },
+ "4.0.2" => { gcc_4_0_build: 5494, gcc_4_2_build: 5666, clang: "2.0", clang_build: 137 },
"4.2" => { clang: "3.0", clang_build: 211 },
"4.3" => { clang: "3.1", clang_build: 318 },
"4.3.1" => { clang: "3.1", clang_build: 318 },
diff --git a/Library/Homebrew/system_config.rb b/Library/Homebrew/system_config.rb
index 9c7a8d1b0..043f60919 100644
--- a/Library/Homebrew/system_config.rb
+++ b/Library/Homebrew/system_config.rb
@@ -6,12 +6,12 @@ require "development_tools"
class SystemConfig
class << self
- def gcc_42
- @gcc_42 ||= DevelopmentTools.gcc_42_build_version if DevelopmentTools.installed?
+ def gcc_4_2
+ @gcc_4_2 ||= DevelopmentTools.gcc_4_2_build_version if DevelopmentTools.installed?
end
- def gcc_40
- @gcc_40 ||= DevelopmentTools.gcc_40_build_version if DevelopmentTools.installed?
+ def gcc_4_0
+ @gcc_4_0 ||= DevelopmentTools.gcc_4_0_build_version if DevelopmentTools.installed?
end
def clang
@@ -143,8 +143,8 @@ class SystemConfig
f.puts "HOMEBREW_BOTTLE_DOMAIN: #{BottleSpecification::DEFAULT_DOMAIN}"
f.puts hardware if hardware
f.puts "Homebrew Ruby: #{describe_homebrew_ruby}"
- f.puts "GCC-4.0: build #{gcc_40}" unless gcc_40.null?
- f.puts "GCC-4.2: build #{gcc_42}" unless gcc_42.null?
+ f.puts "GCC-4.0: build #{gcc_4_0}" unless gcc_4_0.null?
+ f.puts "GCC-4.2: build #{gcc_4_2}" unless gcc_4_2.null?
f.puts "Clang: #{clang.null? ? "N/A" : "#{clang} build #{clang_build}"}"
f.puts "Git: #{describe_git}"
f.puts "Perl: #{describe_perl}"
diff --git a/Library/Homebrew/test/ENV_test.rb b/Library/Homebrew/test/ENV_test.rb
index 6c0e68a9e..dd6025084 100644
--- a/Library/Homebrew/test/ENV_test.rb
+++ b/Library/Homebrew/test/ENV_test.rb
@@ -133,7 +133,7 @@ module SharedEnvTests
end
def test_switching_compilers_updates_compiler
- [:clang, :gcc, :gcc_4_0].each do |compiler|
+ [:clang, :gcc_4_2, :gcc_4_0].each do |compiler|
@env.send(compiler)
assert_equal compiler, @env.compiler
end
diff --git a/Library/Homebrew/test/stdlib_test.rb b/Library/Homebrew/test/stdlib_test.rb
index ee53e7c8c..3babfd58a 100644
--- a/Library/Homebrew/test/stdlib_test.rb
+++ b/Library/Homebrew/test/stdlib_test.rb
@@ -6,7 +6,8 @@ class CxxStdlibTests < Homebrew::TestCase
def setup
@clang = CxxStdlib.create(:libstdcxx, :clang)
@gcc = CxxStdlib.create(:libstdcxx, :gcc)
- @gcc4 = CxxStdlib.create(:libstdcxx, :gcc_4_0)
+ @gcc40 = CxxStdlib.create(:libstdcxx, :gcc_4_0)
+ @gcc42 = CxxStdlib.create(:libstdcxx, :gcc_4_2)
@gcc48 = CxxStdlib.create(:libstdcxx, "gcc-4.8")
@gcc49 = CxxStdlib.create(:libstdcxx, "gcc-4.9")
@lcxx = CxxStdlib.create(:libcxx, :clang)
@@ -15,7 +16,7 @@ class CxxStdlibTests < Homebrew::TestCase
def test_apple_libstdcxx_intercompatibility
assert @clang.compatible_with?(@gcc)
- assert @clang.compatible_with?(@gcc4)
+ assert @clang.compatible_with?(@gcc42)
end
def test_compatibility_same_compilers_and_type
@@ -42,7 +43,7 @@ class CxxStdlibTests < Homebrew::TestCase
def test_apple_compiler_reporting
assert_predicate @clang, :apple_compiler?
assert_predicate @gcc, :apple_compiler?
- assert_predicate @gcc4, :apple_compiler?
+ assert_predicate @gcc42, :apple_compiler?
refute_predicate @gcc48, :apple_compiler?
end
diff --git a/Library/Homebrew/utils/curl.rb b/Library/Homebrew/utils/curl.rb
index 00c3a591c..eab623c40 100644
--- a/Library/Homebrew/utils/curl.rb
+++ b/Library/Homebrew/utils/curl.rb
@@ -1,27 +1,38 @@
require "pathname"
require "open3"
-def curl_args(extra_args = [])
+def curl_args(options = {})
curl = Pathname.new ENV["HOMEBREW_CURL"]
curl = Pathname.new "/usr/bin/curl" unless curl.exist?
raise "#{curl} is not executable" unless curl.exist? && curl.executable?
- flags = HOMEBREW_CURL_ARGS
- flags -= ["--progress-bar"] if ARGV.verbose?
+ args = [
+ curl.to_s,
+ "--remote-time",
+ "--location",
+ ]
- args = [curl.to_s] + flags + extra_args
- args << "--verbose" if ENV["HOMEBREW_CURL_VERBOSE"]
- args << "--silent" if !$stdout.tty? || ENV["TRAVIS"]
+ unless options[:default_user_agent]
+ args << "--user-agent" << HOMEBREW_USER_AGENT_CURL
+ end
+
+ unless options[:show_output]
+ args << "--progress-bar" unless ARGV.verbose?
+ args << "--verbose" if ENV["HOMEBREW_CURL_VERBOSE"]
+ args << "--fail"
+ args << "--silent" if !$stdout.tty? || ENV["TRAVIS"]
+ end
+
+ args += options[:extra_args] if options[:extra_args]
args
end
def curl(*args)
- safe_system(*curl_args(args))
+ safe_system(*curl_args(extra_args: args))
end
def curl_output(*args)
- curl_args = curl_args(args)
- curl_args -= ["--fail", "--silent"]
+ curl_args = curl_args(extra_args: args, show_output: true)
Open3.popen3(*curl_args) do |_, stdout, stderr, wait_thread|
[stdout.read, stderr.read, wait_thread.value]
end