diff --git a/Library/Homebrew/build.rb b/Library/Homebrew/build.rb index a2a62ccd77..4dfaf9e7e0 100644 --- a/Library/Homebrew/build.rb +++ b/Library/Homebrew/build.rb @@ -68,6 +68,7 @@ class Build def install formula_deps = deps.map(&:to_formula) keg_only_deps = formula_deps.select(&:keg_only?) + run_time_deps = deps.reject(&:build?).map(&:to_formula) formula_deps.each do |dep| fixopt(dep) unless dep.opt_prefix.directory? @@ -78,6 +79,7 @@ class Build if superenv? ENV.keg_only_deps = keg_only_deps ENV.deps = formula_deps + ENV.run_time_deps = run_time_deps ENV.x11 = reqs.any? { |rq| rq.is_a?(X11Requirement) } ENV.setup_build_environment(formula) post_superenv_hacks diff --git a/Library/Homebrew/extend/ENV/super.rb b/Library/Homebrew/extend/ENV/super.rb index c9fac5b5cd..3a23dfd7f4 100644 --- a/Library/Homebrew/extend/ENV/super.rb +++ b/Library/Homebrew/extend/ENV/super.rb @@ -15,12 +15,13 @@ module Superenv include SharedEnvExtension # @private - attr_accessor :keg_only_deps, :deps + attr_accessor :keg_only_deps, :deps, :run_time_deps attr_accessor :x11 def self.extended(base) base.keg_only_deps = [] base.deps = [] + base.run_time_deps = [] end # @private @@ -178,16 +179,6 @@ module Superenv keg_only_deps.map(&:opt_lib), HOMEBREW_PREFIX/"lib", ] - - if compiler == :llvm_clang - if MacOS::CLT.installed? - paths << "/usr/lib" - else - paths << "#{MacOS.sdk_path}/usr/lib" - end - paths << Formula["llvm"].opt_lib.to_s - end - paths += homebrew_extra_library_paths PATH.new(paths).existing end diff --git a/Library/Homebrew/extend/os/extend/ENV/super.rb b/Library/Homebrew/extend/os/extend/ENV/super.rb index a04f559f23..951f4cac84 100644 --- a/Library/Homebrew/extend/os/extend/ENV/super.rb +++ b/Library/Homebrew/extend/os/extend/ENV/super.rb @@ -1 +1,5 @@ -require "extend/os/mac/extend/ENV/super" if OS.mac? +if OS.mac? + require "extend/os/mac/extend/ENV/super" +elsif OS.linux? + require "extend/os/linux/extend/ENV/super" +end diff --git a/Library/Homebrew/extend/os/linux/extend/ENV/super.rb b/Library/Homebrew/extend/os/linux/extend/ENV/super.rb new file mode 100644 index 0000000000..7f3a04b8ab --- /dev/null +++ b/Library/Homebrew/extend/os/linux/extend/ENV/super.rb @@ -0,0 +1,40 @@ +module Superenv + # @private + def self.bin + (HOMEBREW_SHIMS_PATH/"linux/super").realpath + end + + # @private + def setup_build_environment(formula = nil) + generic_setup_build_environment(formula) + self["HOMEBREW_DYNAMIC_LINKER"] = determine_dynamic_linker_path + self["HOMEBREW_RPATH_PATHS"] = determine_rpath_paths(formula) + end + + def homebrew_extra_paths + paths = [] + paths += %w[binutils make].map do |f| + begin + bin = Formula[f].opt_bin + bin if bin.directory? + rescue FormulaUnavailableError + nil + end + end.compact + paths + end + + def determine_rpath_paths(formula) + PATH.new( + formula&.lib, + "#{HOMEBREW_PREFIX}/lib", + PATH.new(run_time_deps.map { |dep| dep.opt_lib.to_s }).existing, + ) + end + + def determine_dynamic_linker_path + path = "#{HOMEBREW_PREFIX}/lib/ld.so" + return unless File.readable? path + path + 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 c60c9ab193..9c6db80027 100644 --- a/Library/Homebrew/extend/os/mac/extend/ENV/super.rb +++ b/Library/Homebrew/extend/os/mac/extend/ENV/super.rb @@ -58,6 +58,14 @@ module Superenv def homebrew_extra_library_paths paths = [] + if compiler == :llvm_clang + if MacOS::CLT.installed? + paths << "/usr/lib" + else + paths << "#{MacOS.sdk_path}/usr/lib" + end + paths << Formula["llvm"].opt_lib.to_s + end paths << MacOS::X11.lib.to_s if x11? paths << "#{effective_sysroot}/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries" paths diff --git a/Library/Homebrew/shims/linux/super/c++ b/Library/Homebrew/shims/linux/super/c++ new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/c++ @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/c89 b/Library/Homebrew/shims/linux/super/c89 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/c89 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/c99 b/Library/Homebrew/shims/linux/super/c99 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/c99 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/cc b/Library/Homebrew/shims/linux/super/cc new file mode 120000 index 0000000000..76ba8b5370 --- /dev/null +++ b/Library/Homebrew/shims/linux/super/cc @@ -0,0 +1 @@ +../../super/cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/clang b/Library/Homebrew/shims/linux/super/clang new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/clang @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/clang++ b/Library/Homebrew/shims/linux/super/clang++ new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/clang++ @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/cpp b/Library/Homebrew/shims/linux/super/cpp new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/cpp @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/g++ b/Library/Homebrew/shims/linux/super/g++ new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/g++ @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/g++-4.2 b/Library/Homebrew/shims/linux/super/g++-4.2 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/g++-4.2 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/g++-4.3 b/Library/Homebrew/shims/linux/super/g++-4.3 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/g++-4.3 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/g++-4.4 b/Library/Homebrew/shims/linux/super/g++-4.4 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/g++-4.4 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/g++-4.5 b/Library/Homebrew/shims/linux/super/g++-4.5 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/g++-4.5 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/g++-4.6 b/Library/Homebrew/shims/linux/super/g++-4.6 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/g++-4.6 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/g++-4.7 b/Library/Homebrew/shims/linux/super/g++-4.7 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/g++-4.7 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/g++-4.8 b/Library/Homebrew/shims/linux/super/g++-4.8 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/g++-4.8 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/g++-4.9 b/Library/Homebrew/shims/linux/super/g++-4.9 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/g++-4.9 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/g++-5 b/Library/Homebrew/shims/linux/super/g++-5 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/g++-5 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/g++-6 b/Library/Homebrew/shims/linux/super/g++-6 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/g++-6 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/g++-7 b/Library/Homebrew/shims/linux/super/g++-7 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/g++-7 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/g++-8 b/Library/Homebrew/shims/linux/super/g++-8 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/g++-8 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/gcc b/Library/Homebrew/shims/linux/super/gcc new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/gcc @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/gcc-4.2 b/Library/Homebrew/shims/linux/super/gcc-4.2 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/gcc-4.2 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/gcc-4.3 b/Library/Homebrew/shims/linux/super/gcc-4.3 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/gcc-4.3 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/gcc-4.4 b/Library/Homebrew/shims/linux/super/gcc-4.4 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/gcc-4.4 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/gcc-4.5 b/Library/Homebrew/shims/linux/super/gcc-4.5 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/gcc-4.5 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/gcc-4.6 b/Library/Homebrew/shims/linux/super/gcc-4.6 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/gcc-4.6 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/gcc-4.7 b/Library/Homebrew/shims/linux/super/gcc-4.7 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/gcc-4.7 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/gcc-4.8 b/Library/Homebrew/shims/linux/super/gcc-4.8 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/gcc-4.8 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/gcc-4.9 b/Library/Homebrew/shims/linux/super/gcc-4.9 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/gcc-4.9 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/gcc-5 b/Library/Homebrew/shims/linux/super/gcc-5 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/gcc-5 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/gcc-6 b/Library/Homebrew/shims/linux/super/gcc-6 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/gcc-6 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/gcc-7 b/Library/Homebrew/shims/linux/super/gcc-7 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/gcc-7 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/gcc-8 b/Library/Homebrew/shims/linux/super/gcc-8 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/gcc-8 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/git b/Library/Homebrew/shims/linux/super/git new file mode 120000 index 0000000000..383ac245fa --- /dev/null +++ b/Library/Homebrew/shims/linux/super/git @@ -0,0 +1 @@ +../../scm/git \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/gold b/Library/Homebrew/shims/linux/super/gold new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/gold @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/ld b/Library/Homebrew/shims/linux/super/ld new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/ld @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/ld.gold b/Library/Homebrew/shims/linux/super/ld.gold new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/ld.gold @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/llvm-g++ b/Library/Homebrew/shims/linux/super/llvm-g++ new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/llvm-g++ @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/llvm-g++-4.2 b/Library/Homebrew/shims/linux/super/llvm-g++-4.2 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/llvm-g++-4.2 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/llvm-gcc b/Library/Homebrew/shims/linux/super/llvm-gcc new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/llvm-gcc @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/llvm-gcc-4.2 b/Library/Homebrew/shims/linux/super/llvm-gcc-4.2 new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/llvm-gcc-4.2 @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/llvm_clang b/Library/Homebrew/shims/linux/super/llvm_clang new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/llvm_clang @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/llvm_clang++ b/Library/Homebrew/shims/linux/super/llvm_clang++ new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/llvm_clang++ @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/svn b/Library/Homebrew/shims/linux/super/svn new file mode 120000 index 0000000000..50a0b671ba --- /dev/null +++ b/Library/Homebrew/shims/linux/super/svn @@ -0,0 +1 @@ +../../scm/svn \ No newline at end of file diff --git a/Library/Homebrew/shims/linux/super/x86_64-linux-gnu-gcc b/Library/Homebrew/shims/linux/super/x86_64-linux-gnu-gcc new file mode 120000 index 0000000000..2652f5f42c --- /dev/null +++ b/Library/Homebrew/shims/linux/super/x86_64-linux-gnu-gcc @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/Library/Homebrew/shims/super/cc b/Library/Homebrew/shims/super/cc index afe72156fb..3e71f3d11a 100755 --- a/Library/Homebrew/shims/super/cc +++ b/Library/Homebrew/shims/super/cc @@ -13,6 +13,14 @@ exec "$HOMEBREW_RUBY_PATH" -x "$0" "$@" require "pathname" require "set" +def mac? + RUBY_PLATFORM[/darwin/] +end + +def linux? + RUBY_PLATFORM[/linux/] +end + class Cmd attr_reader :config, :prefix, :cellar, :opt, :tmpdir, :sysroot, :deps attr_reader :archflags, :optflags, :keg_regex, :formula_prefix @@ -35,8 +43,10 @@ class Cmd end def mode - if @arg0 == "cpp" || @arg0 == "ld" - @arg0.to_sym + if @arg0 == "cpp" + :cpp + elsif ["ld", "ld.gold", "gold"].include? @arg0 + :ld elsif @args.include? "-c" if @arg0 =~ /(?:c|g|clang)\+\+/ :cxx @@ -59,6 +69,7 @@ class Cmd def tool @tool ||= case @arg0 when "ld" then "ld" + when "gold", "ld.gold" then "ld.gold" when "cpp" then "cpp" when /llvm_(clang(\+\+)?)/ "#{ENV["HOMEBREW_PREFIX"]}/opt/llvm/bin/#{$1}" @@ -190,9 +201,13 @@ class Cmd when "-undefineddynamic_lookup" args << "-Wl,-undefined,dynamic_lookup" when /^-isysroot/, /^--sysroot/ - sdk = enum.next - # We set the sysroot for macOS SDKs - args << "-isysroot" << sdk unless sdk.downcase.include? "osx" + if mac? + sdk = enum.next + # We set the sysroot for macOS SDKs + args << "-isysroot" << sdk unless sdk.downcase.include? "osx" + else + args << arg << enum.next + end when "-dylib" args << "-Wl,#{arg}" when /^-I(.+)?/ @@ -220,11 +235,15 @@ class Cmd elsif path.start_with?(cellar) || path.start_with?(opt) dep = path[keg_regex, 2] dep && @deps.include?(dep) - elsif path.start_with?(prefix) + elsif path.start_with?(prefix, tmpdir) + true + elsif path.start_with?("/opt/local", "/opt/boxen/homebrew", "/opt/X11", "/sw", "/usr/X11") + # ignore MacPorts, Boxen's Homebrew, X11, fink + false + elsif mac? true else - # ignore MacPorts, Boxen's Homebrew, X11, fink - !path.start_with?("/opt/local", "/opt/boxen/homebrew", "/opt/X11", "/sw", "/usr/X11") + false end end @@ -254,8 +273,7 @@ class Cmd path_flags("-isystem", isystem_paths) + path_flags("-I", include_paths) end - def ldflags - args = path_flags("-L", library_paths) + def ldflags_mac(args) case mode when :ld args << "-headerpad_max_install_names" @@ -267,6 +285,27 @@ class Cmd args end + def ldflags_linux(args) + unless mode == :ld + wl = "-Wl," + args << "-B#{@opt}/glibc/lib" + end + args += rpath_flags("#{wl}-rpath=", rpath_paths) + args += ["#{wl}--dynamic-linker=#{dynamic_linker_path}"] if dynamic_linker_path + args + end + + def ldflags + args = path_flags("-L", library_paths) + if mac? + ldflags_mac(args) + elsif linux? + ldflags_linux(args) + else + args + end + end + def isystem_paths path_split("HOMEBREW_ISYSTEM_PATHS") end @@ -279,6 +318,14 @@ class Cmd path_split("HOMEBREW_LIBRARY_PATHS") end + def rpath_paths + path_split("HOMEBREW_RPATH_PATHS") + end + + def dynamic_linker_path + chuzzle(ENV["HOMEBREW_DYNAMIC_LINKER"]) + end + def system_library_paths paths = ["#{sysroot}/usr/lib"] paths << "/usr/local/lib" unless sysroot || ENV["SDKROOT"] @@ -325,6 +372,12 @@ class Cmd paths.map! { |path| prefix + path } end + # Unlike path_flags, do not prune non-existant directories. + # formula.lib for example does not yet exist, but should not be pruned. + def rpath_flags(prefix, paths) + paths.uniq.map { |path| prefix + path } + end + def path_split(key) ENV.fetch(key) { "" }.split(File::PATH_SEPARATOR) end @@ -350,6 +403,14 @@ def log(basename, argv, tool, args) File.open("#{ENV["HOMEBREW_CC_LOG_PATH"]}.cc", "a+") { |f| f.write(s) } end +def remove_superbin_from_path(paths) + superbin = Pathname.new(__FILE__).dirname.realpath + paths.reject do |x| + path = Pathname.new(x) + path.directory? && path.realpath == superbin + end +end + if __FILE__ == $PROGRAM_NAME ##################################################################### sanity @@ -369,5 +430,13 @@ if __FILE__ == $PROGRAM_NAME log(basename, ARGV, tool, args) args << { :close_others => false } - exec "#{dirname}/xcrun", tool, *args + if mac? + exec "#{dirname}/xcrun", tool, *args + else + paths = ENV["PATH"].split(":") + paths = remove_superbin_from_path(paths) + paths.unshift "#{ENV["HOMEBREW_PREFIX"]}/bin" + ENV["PATH"] = paths.join(":") + exec tool, *args + end end diff --git a/Library/Homebrew/test/cmd/install_spec.rb b/Library/Homebrew/test/cmd/install_spec.rb index 9fdf4574c5..30f5e582df 100644 --- a/Library/Homebrew/test/cmd/install_spec.rb +++ b/Library/Homebrew/test/cmd/install_spec.rb @@ -177,7 +177,7 @@ describe "brew install", :integration_test do it "succeeds when a non-fatal requirement isn't satisfied" do setup_test_formula "testball1", <<~EOS class NonFatalRequirement < Requirement - satisfy { false } + satisfy(build_env: false) { false } end depends_on NonFatalRequirement