aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike McQuaid2014-04-30 12:38:22 +0100
committerMike McQuaid2014-04-30 12:38:22 +0100
commit116c2b06a8587fdcb32ae55576f31082bd71da95 (patch)
tree766c2e29df6284dd811fc877dbc650766d91f22f
parentcf23fd2e1478f9f968e98ec3bb3fe18bcffeb52e (diff)
downloadbrew-116c2b06a8587fdcb32ae55576f31082bd71da95.tar.bz2
ENV/shared: handle untapped e.g. gcc48 formula.
In this case we need to handle the throwing on an exception when attempting to initialize the gcc48 Formula object. This initialization should be unnecessary if the core GCC is already installed and rescued if not.
-rw-r--r--Library/Homebrew/extend/ENV/shared.rb13
1 files changed, 9 insertions, 4 deletions
diff --git a/Library/Homebrew/extend/ENV/shared.rb b/Library/Homebrew/extend/ENV/shared.rb
index f4aac1d4e..31904c280 100644
--- a/Library/Homebrew/extend/ENV/shared.rb
+++ b/Library/Homebrew/extend/ENV/shared.rb
@@ -188,16 +188,21 @@ module SharedEnvExtension
def gcc_version_formula(version)
gcc_formula = Formulary.factory("gcc")
gcc_name = 'gcc' + version.delete('.')
- gcc_versions_formula = Formulary.factory(gcc_name)
if gcc_formula.opt_prefix.exist?
- gcc_formula
- elsif gcc_versions_formula.opt_prefix.exist?
+ return gcc_formula
+ end
+
+ gcc_versions_formula = Formulary.factory(gcc_name) rescue nil
+
+ if gcc_versions_formula && gcc_versions_formula.opt_prefix.exist?
gcc_versions_formula
elsif gcc_formula.version.to_s.include?(version)
gcc_formula
- else
+ elsif gcc_versions_formula
gcc_versions_formula
+ else
+ Formulary.factory(gcc_name)
end
end