Use new requirement syntax

This commit is contained in:
Jack Nagel 2013-01-19 20:45:59 -06:00
parent 452e79cf68
commit a03bbf5797

View File

@ -8,9 +8,7 @@ class LanguageModuleDependency < Requirement
@import_name = import_name || module_name @import_name = import_name || module_name
end end
def satisfied? satisfy { quiet_system(*the_test) }
quiet_system(*the_test)
end
def message; <<-EOS.undent def message; <<-EOS.undent
Unsatisfied dependency: #{@module_name} Unsatisfied dependency: #{@module_name}
@ -65,8 +63,8 @@ class X11Dependency < Requirement
super super
end end
def satisfied? satisfy :build_env => false do
MacOS::XQuartz.installed? and (@min_version.nil? or @min_version <= MacOS::XQuartz.version) MacOS::XQuartz.installed? && (@min_version.nil? || @min_version <= MacOS::XQuartz.version)
end end
def message; <<-EOS.undent def message; <<-EOS.undent
@ -121,12 +119,7 @@ class MPIDependency < Requirement
quiet_system compiler, '--version' quiet_system compiler, '--version'
end end
def satisfied? satisfy do
# we have to assure the ENV is (almost) as during the build
require 'superenv'
ENV.with_build_environment do
ENV.userpaths!
@lang_list.each do |lang| @lang_list.each do |lang|
case lang case lang
when :cc, :cxx, :f90, :f77 when :cc, :cxx, :f90, :f77
@ -136,7 +129,6 @@ class MPIDependency < Requirement
@unknown_langs << lang.to_s @unknown_langs << lang.to_s
end end
end end
end
@unknown_langs.empty? and @non_functional.empty? @unknown_langs.empty? and @non_functional.empty?
end end
@ -204,7 +196,7 @@ class ConflictRequirement < Requirement
message message
end end
def satisfied? satisfy :build_env => false do
keg = Formula.factory(@formula).prefix keg = Formula.factory(@formula).prefix
not keg.exist? && Keg.new(keg).linked? not keg.exist? && Keg.new(keg).linked?
end end
@ -213,9 +205,7 @@ end
class XcodeDependency < Requirement class XcodeDependency < Requirement
fatal true fatal true
def satisfied? satisfy(:build_env => false) { MacOS::Xcode.installed? }
MacOS::Xcode.installed?
end
def message; <<-EOS.undent def message; <<-EOS.undent
A full installation of Xcode.app is required to compile this software. A full installation of Xcode.app is required to compile this software.
@ -226,10 +216,9 @@ end
class MysqlInstalled < Requirement class MysqlInstalled < Requirement
fatal true fatal true
env :userpaths
def satisfied? satisfy { which 'mysql_config' }
which 'mysql_config'
end
def message; <<-EOS.undent def message; <<-EOS.undent
MySQL is required to install. MySQL is required to install.
@ -249,10 +238,9 @@ end
class PostgresqlInstalled < Requirement class PostgresqlInstalled < Requirement
fatal true fatal true
env :userpaths
def satisfied? satisfy { which 'pg_config' }
which 'pg_config'
end
def message def message
<<-EOS.undent <<-EOS.undent
@ -271,11 +259,7 @@ class TeXInstalled < Requirement
fatal true fatal true
env :userpaths env :userpaths
def satisfied? satisfy { which('tex') || which('latex') }
tex = which 'tex'
latex = which 'latex'
not tex.nil? and not latex.nil?
end
def message; <<-EOS.undent def message; <<-EOS.undent
A LaTeX distribution is required to install. A LaTeX distribution is required to install.