From 0f1d491d81125151f7a609a2c8c962268fb508de Mon Sep 17 00:00:00 2001 From: Adam Vandenberg Date: Sun, 23 Jun 2013 18:35:20 -0700 Subject: [PATCH] Add :fortran requirement --- Library/Homebrew/dependency_collector.rb | 1 + Library/Homebrew/requirements.rb | 5 ++-- .../requirements/fortran_dependency.rb | 24 +++++++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 Library/Homebrew/requirements/fortran_dependency.rb diff --git a/Library/Homebrew/dependency_collector.rb b/Library/Homebrew/dependency_collector.rb index 50dffaab6f..7eb05172a0 100644 --- a/Library/Homebrew/dependency_collector.rb +++ b/Library/Homebrew/dependency_collector.rb @@ -93,6 +93,7 @@ class DependencyCollector when :macos then MinimumMacOSRequirement.new(tags) when :mysql then MysqlDependency.new(tags) when :postgresql then PostgresqlDependency.new(tags) + when :fortran then FortranRequired.new(tags) when :tex then TeXDependency.new(tags) when :clt then CLTDependency.new(tags) when :arch then ArchRequirement.new(tags) diff --git a/Library/Homebrew/requirements.rb b/Library/Homebrew/requirements.rb index 627fb1f9ed..355fad26dc 100644 --- a/Library/Homebrew/requirements.rb +++ b/Library/Homebrew/requirements.rb @@ -1,9 +1,10 @@ require 'requirement' +require 'requirements/fortran_dependency' require 'requirements/language_module_dependency' -require 'requirements/x11_dependency' +require 'requirements/macos_requirement' require 'requirements/mpi_dependency' require 'requirements/python_dependency' -require 'requirements/macos_requirement' +require 'requirements/x11_dependency' class XcodeDependency < Requirement fatal true diff --git a/Library/Homebrew/requirements/fortran_dependency.rb b/Library/Homebrew/requirements/fortran_dependency.rb new file mode 100644 index 0000000000..0de239e4ed --- /dev/null +++ b/Library/Homebrew/requirements/fortran_dependency.rb @@ -0,0 +1,24 @@ +require 'requirement' + +class FortranRequired < Requirement + fatal true + + default_formula 'gfortran' + + env { ENV.fortran } + + satisfy :build_env => false do + (ENV['FC'] || which('gfortran')) ? true : false + end + + def message; <<-EOS.undent + Fortran is required to install. + + You can install this with Homebrew using: + brew install gfortran + + Or you can use an external compiler by setting: + FC= + EOS + end +end