diff options
| author | Jack Nagel | 2013-08-19 12:32:59 -0500 |
|---|---|---|
| committer | Jack Nagel | 2013-08-19 12:32:59 -0500 |
| commit | e0574b854e2c07433642699c20252dc2ba3d5cc4 (patch) | |
| tree | 449d20ba58d9569c1e26b043cb425ae6861bec81 /Library/Homebrew/extend | |
| parent | dd9c269c693d187d0177ee1b479f3579631e99b2 (diff) | |
| download | brew-e0574b854e2c07433642699c20252dc2ba3d5cc4.tar.bz2 | |
More robust implementation of ENV.with_build_environment
Diffstat (limited to 'Library/Homebrew/extend')
| -rw-r--r-- | Library/Homebrew/extend/ENV.rb | 11 | ||||
| -rw-r--r-- | Library/Homebrew/extend/ENV/shared.rb | 8 |
2 files changed, 11 insertions, 8 deletions
diff --git a/Library/Homebrew/extend/ENV.rb b/Library/Homebrew/extend/ENV.rb index 52404a1c8..7ae8ecc0d 100644 --- a/Library/Homebrew/extend/ENV.rb +++ b/Library/Homebrew/extend/ENV.rb @@ -18,6 +18,17 @@ module EnvActivation extend(Stdenv) end end + + def with_build_environment + old_env = to_hash.dup + tmp_env = to_hash.dup.extend(EnvActivation) + tmp_env.activate_extensions! + tmp_env.setup_build_environment + replace(tmp_env) + yield + ensure + replace(old_env) + end end ENV.extend(EnvActivation) diff --git a/Library/Homebrew/extend/ENV/shared.rb b/Library/Homebrew/extend/ENV/shared.rb index b8d17b2c3..0b5fee954 100644 --- a/Library/Homebrew/extend/ENV/shared.rb +++ b/Library/Homebrew/extend/ENV/shared.rb @@ -70,14 +70,6 @@ module SharedEnvExtension prepend 'PATH', HOMEBREW_PREFIX/'bin', ':' end - def with_build_environment - old_env = to_hash - setup_build_environment - yield - ensure - replace(old_env) - end - def fortran # superenv removes these PATHs, but this option needs them # TODO fix better, probably by making a super-fc |
