diff options
Diffstat (limited to 'Library/Homebrew/build_environment.rb')
| -rw-r--r-- | Library/Homebrew/build_environment.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Library/Homebrew/build_environment.rb b/Library/Homebrew/build_environment.rb index 97a8fae42..18876f954 100644 --- a/Library/Homebrew/build_environment.rb +++ b/Library/Homebrew/build_environment.rb @@ -17,4 +17,29 @@ class BuildEnvironment def userpaths? @settings.include? :userpaths end + + def modify_build_environment + p = @settings.find { |s| Proc === s } + ENV.instance_eval(&p) unless p.nil? + end + + def _dump(*) + @settings.dup.reject { |s| Proc === s }.join(":") + end + + def self._load(s) + new(*s.split(":").map(&:to_sym)) + end +end + +module BuildEnvironmentDSL + def env(*settings, &block) + @env ||= BuildEnvironment.new + if block_given? + @env << block + else + settings.each { |s| @env << s } + end + @env + end end |
