From 041c9c193f0d5ff19a9881086c9b135239ce5840 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Fri, 18 Jan 2013 19:30:43 -0600 Subject: [PATCH] Use fatal DSL method in requirements --- Formula/appledoc.rb | 5 ++--- Formula/avian.rb | 6 ++---- Formula/cmu-sphinxbase.rb | 5 ++--- Formula/coq.rb | 5 ++--- Formula/cvs2svn.rb | 6 ++---- Formula/diffpdf.rb | 6 ++---- Formula/elixir.rb | 6 ++---- Formula/hyperestraier.rb | 6 ++---- Formula/mongodb.rb | 4 ++-- Formula/mupdf.rb | 6 ++---- Formula/mysql-connector-odbc.rb | 5 ++--- Formula/nu.rb | 5 ++--- Formula/pdf2svg.rb | 6 ++---- Formula/shocco.rb | 6 ++---- Formula/signing-party.rb | 6 ++---- Formula/squid.rb | 8 +++----- Formula/subversion.rb | 18 ++++++------------ Formula/uwsgi.rb | 6 ++---- Formula/wxmac.rb | 3 ++- 19 files changed, 43 insertions(+), 75 deletions(-) diff --git a/Formula/appledoc.rb b/Formula/appledoc.rb index 4f4814fcfe0..eecde22e067 100644 --- a/Formula/appledoc.rb +++ b/Formula/appledoc.rb @@ -1,12 +1,11 @@ require 'formula' class LionOrNewer < Requirement + fatal true + def satisfied? MacOS.version >= :lion end - def fatal? - true - end def message "Appledoc requires Mac OS X 10.7 (Lion) or newer." end diff --git a/Formula/avian.rb b/Formula/avian.rb index 0b1dd627cd1..7d37eacd125 100644 --- a/Formula/avian.rb +++ b/Formula/avian.rb @@ -1,6 +1,8 @@ require 'formula' class JdkInstalled < Requirement + fatal true + def message; <<-EOS.undent A JDK is required. @@ -12,10 +14,6 @@ class JdkInstalled < Requirement def satisfied? which 'javac' end - - def fatal? - true - end end class Avian < Formula diff --git a/Formula/cmu-sphinxbase.rb b/Formula/cmu-sphinxbase.rb index b947dd94676..2258fb64664 100644 --- a/Formula/cmu-sphinxbase.rb +++ b/Formula/cmu-sphinxbase.rb @@ -1,6 +1,8 @@ require 'formula' class HomebrewedPython < Requirement + fatal true + def message; <<-EOS.undent Compiling against the system-provided Python will likely fail. The system-provided Python includes PPC support, which will cause a compiler @@ -12,9 +14,6 @@ class HomebrewedPython < Requirement def satisfied? Formula.factory('python').installed? end - def fatal? - false - end end class CmuSphinxbase < Formula diff --git a/Formula/coq.rb b/Formula/coq.rb index 4505fa9dabe..1a163844b81 100644 --- a/Formula/coq.rb +++ b/Formula/coq.rb @@ -1,6 +1,8 @@ require 'formula' class TransitionalMode < Requirement + fatal true + def message; <<-EOS.undent camlp5 must be compiled in transitional mode (instead of --strict mode): brew install camlp5 @@ -12,9 +14,6 @@ class TransitionalMode < Requirement # If installed, make sure it is transitional instead of strict. `camlp5 -pmode 2>&1`.chomp == 'transitional' end - def fatal? - true - end end class Coq < Formula diff --git a/Formula/cvs2svn.rb b/Formula/cvs2svn.rb index 2f47a8ea4d8..e6bf2394369 100644 --- a/Formula/cvs2svn.rb +++ b/Formula/cvs2svn.rb @@ -1,6 +1,8 @@ require 'formula' class PythonWithGdbm < Requirement + fatal true + def message; <<-EOS.undent The Python being used does not include gdbm support, but it is required to build this formula: @@ -14,10 +16,6 @@ class PythonWithGdbm < Requirement def satisfied? quiet_system "python", "-c", "import gdbm" end - - def fatal? - true - end end class Cvs2svn < Formula diff --git a/Formula/diffpdf.rb b/Formula/diffpdf.rb index 3082a1b2b4f..15775363fcb 100644 --- a/Formula/diffpdf.rb +++ b/Formula/diffpdf.rb @@ -1,15 +1,13 @@ require 'formula' class PopplerQt4 < Requirement + fatal true + def satisfied? poppler = Tab.for_formula 'poppler' poppler.installed_with? '--with-qt4' end - def fatal? - true - end - def message; <<-EOS.undent DiffPDF requires the Poppler-Qt4 bindings but Poppler was not installed with support for Qt. Please reinstall Poppler using the `--with-qt4` diff --git a/Formula/elixir.rb b/Formula/elixir.rb index eac245a3e99..96c196cbd6f 100644 --- a/Formula/elixir.rb +++ b/Formula/elixir.rb @@ -1,6 +1,8 @@ require 'formula' class ErlangInstalled < Requirement + fatal true + def message; <<-EOS.undent Erlang is required to install. @@ -15,10 +17,6 @@ class ErlangInstalled < Requirement def satisfied? which 'erl' end - - def fatal? - true - end end class Elixir < Formula diff --git a/Formula/hyperestraier.rb b/Formula/hyperestraier.rb index 3f44f627e77..932ebc1003d 100644 --- a/Formula/hyperestraier.rb +++ b/Formula/hyperestraier.rb @@ -1,6 +1,8 @@ require 'formula' class EucjpMecabIpadic < Requirement + fatal true + def initialize @mecab_ipadic_installed = Formula.factory('mecab-ipadic').installed? end @@ -9,10 +11,6 @@ class EucjpMecabIpadic < Requirement @mecab_ipadic_installed && mecab_dic_charset == 'euc' end - def fatal? - true - end - def message if @mecab_ipadic_installed <<-EOS.undent diff --git a/Formula/mongodb.rb b/Formula/mongodb.rb index 5aaedf95b82..6f74fc18ab4 100644 --- a/Formula/mongodb.rb +++ b/Formula/mongodb.rb @@ -1,12 +1,12 @@ require 'formula' class SixtyFourBitRequired < Requirement + fatal true + def satisfied? MacOS.prefer_64_bit? end - def fatal?; true end - def message; <<-EOS.undent 32-bit MongoDB binaries are no longer available. diff --git a/Formula/mupdf.rb b/Formula/mupdf.rb index 360f7b3f941..07c4fb64d44 100644 --- a/Formula/mupdf.rb +++ b/Formula/mupdf.rb @@ -1,14 +1,12 @@ require 'formula' class NeedsSnowLeopard < Requirement + fatal true + def satisfied? MacOS.version >= :snow_leopard end - def fatal? - true - end - def message; <<-EOS.undent The version of Freetype that comes with Leopard is too old to build MuPDF against. It is possible to get MuPDF working on Leopard using the Freetype diff --git a/Formula/mysql-connector-odbc.rb b/Formula/mysql-connector-odbc.rb index 51eeea237e6..5bcf3bc8871 100644 --- a/Formula/mysql-connector-odbc.rb +++ b/Formula/mysql-connector-odbc.rb @@ -1,6 +1,8 @@ require 'formula' class MySqlInstalled < Requirement + fatal true + def message; <<-EOS.undent MySQL is required to install. @@ -18,9 +20,6 @@ class MySqlInstalled < Requirement def satisfied? which 'mysql_config' end - def fatal? - true - end end class MysqlConnectorOdbc < Formula diff --git a/Formula/nu.rb b/Formula/nu.rb index 20f0eadb3a3..0dcb9575b6e 100644 --- a/Formula/nu.rb +++ b/Formula/nu.rb @@ -1,15 +1,14 @@ require 'formula' class NeedsLion < Requirement + fatal true + def satisfied? MacOS.version >= :lion end def message "Nu requires Mac OS X 10.7 or newer" end - def fatal? - true - end end class Nu < Formula diff --git a/Formula/pdf2svg.rb b/Formula/pdf2svg.rb index 65bb295b972..a3657547758 100644 --- a/Formula/pdf2svg.rb +++ b/Formula/pdf2svg.rb @@ -1,15 +1,13 @@ require 'formula' class PopplerGlib < Requirement + fatal true + def satisfied? poppler = Tab.for_formula 'poppler' poppler.installed_with? '--with-glib' end - def fatal? - true - end - def message; <<-EOS.undent pdf2svg requires the Poppler-Glib bindings but Poppler was not installed with support for glib. Please reinstall Poppler using the `--with-glib` diff --git a/Formula/shocco.rb b/Formula/shocco.rb index 09b92203cc6..b13c443ffa5 100644 --- a/Formula/shocco.rb +++ b/Formula/shocco.rb @@ -9,6 +9,8 @@ class Pygments < Formula end class MarkdownProvider < Requirement + fatal true + def message; <<-EOS.undent shocco requires a `markdown` command. @@ -23,10 +25,6 @@ class MarkdownProvider < Requirement def satisfied? which 'markdown' end - - def fatal? - true - end end class Shocco < Formula diff --git a/Formula/signing-party.rb b/Formula/signing-party.rb index 4420ebfb4f9..4dfd321a58a 100644 --- a/Formula/signing-party.rb +++ b/Formula/signing-party.rb @@ -1,6 +1,8 @@ require 'formula' class GnupgInstalled < Requirement + fatal true + def message; <<-EOS.undent Gnupg is required to use these tools. @@ -16,10 +18,6 @@ class GnupgInstalled < Requirement def satisfied? which 'gpg' or which 'gpg2' end - - def fatal? - false - end end class SigningParty < Formula diff --git a/Formula/squid.rb b/Formula/squid.rb index 70d1454c401..cf461aad1b4 100644 --- a/Formula/squid.rb +++ b/Formula/squid.rb @@ -1,6 +1,9 @@ require 'formula' class NoBdb5 < Requirement + # Not fatal in case Squid starts working with a newer version of BDB. + fatal false + def message; <<-EOS.undent This software can fail to compile when Berkeley-DB 5.x is installed. You may need to try: @@ -14,11 +17,6 @@ class NoBdb5 < Requirement f = Formula.factory("berkeley-db") not f.installed? end - - # Not fatal in case Squid starts working with a newer version of BDB. - def fatal? - false - end end class Squid < Formula diff --git a/Formula/subversion.rb b/Formula/subversion.rb index a9097fdedcc..8d9514da8d8 100644 --- a/Formula/subversion.rb +++ b/Formula/subversion.rb @@ -7,16 +7,14 @@ def build_ruby?; build.include? "ruby"; end def with_unicode_path?; build.include? "unicode-path"; end class UniversalNeon < Requirement + fatal true + def message; <<-EOS.undent A universal build was requested, but neon was already built for a single arch. You will need to `brew rm neon` first. EOS end - def fatal? - true - end - def satisfied? f = Formula.factory('neon') !f.installed? || archs_for_command(f.lib+'libneon.dylib').universal? @@ -24,16 +22,14 @@ class UniversalNeon < Requirement end class UniversalSqlite < Requirement + fatal true + def message; <<-EOS.undent A universal build was requested, but sqlite was already built for a single arch. You will need to `brew rm sqlite` first. EOS end - def fatal? - true - end - def satisfied? f = Formula.factory('sqlite') !f.installed? || archs_for_command(f.lib+'libsqlite3.dylib').universal? @@ -41,16 +37,14 @@ class UniversalSqlite < Requirement end class UniversalSerf < Requirement + fatal true + def message; <<-EOS.undent A universal build was requested, but serf was already built for a single arch. You will need to `brew rm serf` first. EOS end - def fatal? - true - end - def satisfied? f = Formula.factory('serf') !f.installed? || archs_for_command(f.lib+'libserf-1.0.0.0.dylib').universal? diff --git a/Formula/uwsgi.rb b/Formula/uwsgi.rb index 5c2d6879036..255a2da2bd7 100644 --- a/Formula/uwsgi.rb +++ b/Formula/uwsgi.rb @@ -1,6 +1,8 @@ require 'formula' class UniversalPcre < Requirement + fatal true + def message; <<-EOS.undent pcre must be build universal for uwsgi to work. You will need to: @@ -9,10 +11,6 @@ class UniversalPcre < Requirement EOS end - def fatal? - true - end - def satisfied? f = Formula.factory('pcre') f.installed? && archs_for_command(f.lib/'libpcre.dylib').universal? diff --git a/Formula/wxmac.rb b/Formula/wxmac.rb index 7947416d65f..09af04e832b 100644 --- a/Formula/wxmac.rb +++ b/Formula/wxmac.rb @@ -1,6 +1,8 @@ require 'formula' class FrameworkPython < Requirement + fatal true + def message; <<-EOS.undent Python needs to be built as a framework. EOS @@ -9,7 +11,6 @@ class FrameworkPython < Requirement q = `python -c "import distutils.sysconfig as c; print(c.get_config_var('PYTHONFRAMEWORK'))"` not q.chomp.empty? end - def fatal?; true; end end class Wxmac < Formula