aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2013-12-03 22:16:37 -0600
committerJack Nagel2013-12-03 22:16:37 -0600
commit65a00e213b15b503375db43adee048ffabe0464a (patch)
tree0a2d29dfad50fea2a5f3c1852ba6336d843229b7
parentfa5b633650953ed1378edf6f5e82d0c944a58bcf (diff)
downloadbrew-65a00e213b15b503375db43adee048ffabe0464a.tar.bz2
Make CompilerSelectionError an InstallationError
Fixes Homebrew/homebrew#19962.
-rw-r--r--Library/Homebrew/compilers.rb2
-rw-r--r--Library/Homebrew/exceptions.rb7
-rw-r--r--Library/Homebrew/extend/ENV/shared.rb6
3 files changed, 6 insertions, 9 deletions
diff --git a/Library/Homebrew/compilers.rb b/Library/Homebrew/compilers.rb
index 6f5b570b0..9561fc0fb 100644
--- a/Library/Homebrew/compilers.rb
+++ b/Library/Homebrew/compilers.rb
@@ -73,7 +73,7 @@ class CompilerSelector
end while @f.fails_with?(cc)
if cc.nil?
- raise CompilerSelectionError
+ raise CompilerSelectionError.new(@f)
else
cc.name
end
diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb
index 2a808ae3e..1e1ec89db 100644
--- a/Library/Homebrew/exceptions.rb
+++ b/Library/Homebrew/exceptions.rb
@@ -218,9 +218,10 @@ end
# raised by CompilerSelector if the formula fails with all of
# the compilers available on the user's system
-class CompilerSelectionError < StandardError
- def message; <<-EOS.undent
- This formula cannot be built with any available compilers.
+class CompilerSelectionError < Homebrew::InstallationError
+ def initialize f
+ super f, <<-EOS.undent
+ #{f.name} cannot be built with any available compilers.
To install this formula, you may need to:
brew install apple-gcc42
EOS
diff --git a/Library/Homebrew/extend/ENV/shared.rb b/Library/Homebrew/extend/ENV/shared.rb
index 71b5107ee..fd4b78e13 100644
--- a/Library/Homebrew/extend/ENV/shared.rb
+++ b/Library/Homebrew/extend/ENV/shared.rb
@@ -116,11 +116,7 @@ module SharedEnvExtension
# If no valid compiler is found, raises an exception.
def validate_cc!(formula)
if formula.fails_with? ENV.compiler
- begin
- send CompilerSelector.new(formula).compiler
- rescue CompilerSelectionError => e
- raise e.message
- end
+ send CompilerSelector.new(formula).compiler
end
end