
This is the pattern we've been adopting for a while and it's a bit cleaner. Let's remove all of the existing usage of the existing pattern to avoid confusion when adopting the new one.
46 lines
1.3 KiB
Ruby
46 lines
1.3 KiB
Ruby
# typed: true # rubocop:todo Sorbet/StrictSigil
|
|
# frozen_string_literal: true
|
|
|
|
module OS
|
|
module Linux
|
|
module Stdenv
|
|
extend T::Helpers
|
|
|
|
requires_ancestor { ::SharedEnvExtension }
|
|
|
|
sig {
|
|
params(
|
|
formula: T.nilable(::Formula),
|
|
cc: T.nilable(String),
|
|
build_bottle: T.nilable(T::Boolean),
|
|
bottle_arch: T.nilable(String),
|
|
testing_formula: T::Boolean,
|
|
debug_symbols: T.nilable(T::Boolean),
|
|
).void
|
|
}
|
|
def setup_build_environment(formula: nil, cc: nil, build_bottle: false, bottle_arch: nil,
|
|
testing_formula: false, debug_symbols: false)
|
|
super
|
|
|
|
prepend_path "CPATH", HOMEBREW_PREFIX/"include"
|
|
prepend_path "LIBRARY_PATH", HOMEBREW_PREFIX/"lib"
|
|
prepend_path "LD_RUN_PATH", HOMEBREW_PREFIX/"lib"
|
|
|
|
return unless @formula
|
|
|
|
prepend_path "CPATH", @formula.include
|
|
prepend_path "LIBRARY_PATH", @formula.lib
|
|
prepend_path "LD_RUN_PATH", @formula.lib
|
|
end
|
|
|
|
def libxml2
|
|
append "CPPFLAGS", "-I#{::Formula["libxml2"].include/"libxml2"}"
|
|
rescue FormulaUnavailableError
|
|
nil
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
Stdenv.prepend(OS::Linux::Stdenv)
|