Lazy load Debrew

Fixes terminfo error on some environments
This commit is contained in:
Bo Anderson 2023-12-06 00:01:16 +00:00
parent 4af96ecf7d
commit a92a36d027
No known key found for this signature in database
GPG Key ID: 3DB94E204E137D65
4 changed files with 16 additions and 8 deletions

View File

@ -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

View File

@ -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
}

View File

@ -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

View File

@ -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)