Merge pull request #16300 from Bo98/lazy-debrew
Lazy load Debrew (fixes setupterm error on some environments)
This commit is contained in:
		
						commit
						ab6a7ed5a1
					
				@ -12,7 +12,6 @@ require_relative "global"
 | 
			
		||||
require "build_options"
 | 
			
		||||
require "keg"
 | 
			
		||||
require "extend/ENV"
 | 
			
		||||
require "debrew"
 | 
			
		||||
require "fcntl"
 | 
			
		||||
require "socket"
 | 
			
		||||
require "cmd/install"
 | 
			
		||||
@ -126,7 +125,10 @@ class Build
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    with_env(new_env) do
 | 
			
		||||
      formula.extend(Debrew::Formula) if args.debug?
 | 
			
		||||
      if args.debug?
 | 
			
		||||
        require "debrew"
 | 
			
		||||
        formula.extend(Debrew::Formula)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      formula.update_head_version
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -2,7 +2,6 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
require "mutex_m"
 | 
			
		||||
require "debrew/irb"
 | 
			
		||||
require "ignorable"
 | 
			
		||||
 | 
			
		||||
# Helper module for debugging formulae.
 | 
			
		||||
@ -117,7 +116,10 @@ module Debrew
 | 
			
		||||
              set_trace_func proc { |event, _, _, id, binding, klass|
 | 
			
		||||
                if klass == Object && id == :raise && event == "return"
 | 
			
		||||
                  set_trace_func(nil)
 | 
			
		||||
                  mu_synchronize { IRB.start_within(binding) }
 | 
			
		||||
                  mu_synchronize do
 | 
			
		||||
                    require "debrew/irb"
 | 
			
		||||
                    IRB.start_within(binding)
 | 
			
		||||
                  end
 | 
			
		||||
                end
 | 
			
		||||
              }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,6 @@ raise "#{__FILE__} must not be loaded via `require`." if $PROGRAM_NAME != __FILE
 | 
			
		||||
old_trap = trap("INT") { exit! 130 }
 | 
			
		||||
 | 
			
		||||
require_relative "global"
 | 
			
		||||
require "debrew"
 | 
			
		||||
require "fcntl"
 | 
			
		||||
require "socket"
 | 
			
		||||
require "cli/parser"
 | 
			
		||||
@ -20,7 +19,10 @@ begin
 | 
			
		||||
  trap("INT", old_trap)
 | 
			
		||||
 | 
			
		||||
  formula = args.named.to_resolved_formulae.first
 | 
			
		||||
  formula.extend(Debrew::Formula) if args.debug?
 | 
			
		||||
  if args.debug?
 | 
			
		||||
    require "debrew"
 | 
			
		||||
    formula.extend(Debrew::Formula)
 | 
			
		||||
  end
 | 
			
		||||
  formula.run_post_install
 | 
			
		||||
rescue Exception => e # rubocop:disable Lint/RescueException
 | 
			
		||||
  error_pipe.puts e.to_json
 | 
			
		||||
 | 
			
		||||
@ -8,7 +8,6 @@ old_trap = trap("INT") { exit! 130 }
 | 
			
		||||
require_relative "global"
 | 
			
		||||
require "extend/ENV"
 | 
			
		||||
require "timeout"
 | 
			
		||||
require "debrew"
 | 
			
		||||
require "formula_assertions"
 | 
			
		||||
require "formula_free_port"
 | 
			
		||||
require "fcntl"
 | 
			
		||||
@ -35,7 +34,10 @@ begin
 | 
			
		||||
  formula = T.must(args.named.to_resolved_formulae.first)
 | 
			
		||||
  formula.extend(Homebrew::Assertions)
 | 
			
		||||
  formula.extend(Homebrew::FreePort)
 | 
			
		||||
  formula.extend(Debrew::Formula) if args.debug?
 | 
			
		||||
  if args.debug?
 | 
			
		||||
    require "debrew"
 | 
			
		||||
    formula.extend(Debrew::Formula)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  ENV.extend(Stdenv)
 | 
			
		||||
  ENV.setup_build_environment(formula: formula, testing_formula: true)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user