aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/requirements.rb
diff options
context:
space:
mode:
authorMike McQuaid2017-12-23 16:38:06 +0000
committerMike McQuaid2017-12-23 16:53:25 +0000
commit38ce9940071351f7a41ad3b48a8dba021d0acbdf (patch)
tree5c2ec372c28ac0d730f99bbdc8d7d5c377c57377 /Library/Homebrew/requirements.rb
parent5b178c2892576c9f26fc54b4f07b45db48c387e9 (diff)
downloadbrew-38ce9940071351f7a41ad3b48a8dba021d0acbdf.tar.bz2
Deprecate more requirements.
These are ones that were either already deprecated due to audit rules or are just a simple `which` with a `default_formula` so should just be a dependency.
Diffstat (limited to 'Library/Homebrew/requirements.rb')
-rw-r--r--Library/Homebrew/requirements.rb114
1 files changed, 2 insertions, 112 deletions
diff --git a/Library/Homebrew/requirements.rb b/Library/Homebrew/requirements.rb
index d5992b88d..456dabd0a 100644
--- a/Library/Homebrew/requirements.rb
+++ b/Library/Homebrew/requirements.rb
@@ -1,7 +1,5 @@
require "requirement"
require "requirements/fortran_requirement"
-require "requirements/gpg2_requirement"
-require "requirements/language_module_requirement"
require "requirements/linux_requirement"
require "requirements/macos_requirement"
require "requirements/maximum_macos_requirement"
@@ -15,116 +13,8 @@ require "requirements/tuntap_requirement"
require "requirements/unsigned_kext_requirement"
require "requirements/x11_requirement"
require "requirements/emacs_requirement"
-
-class XcodeRequirement < Requirement
- fatal true
-
- satisfy(build_env: false) { xcode_installed_version }
-
- def initialize(tags)
- @version = tags.find { |tag| tags.delete(tag) if tag =~ /(\d\.)+\d/ }
- super
- end
-
- def xcode_installed_version
- return false unless MacOS::Xcode.installed?
- return true unless @version
- MacOS::Xcode.version >= @version
- end
-
- def message
- version = " #{@version}" if @version
- message = <<~EOS
- A full installation of Xcode.app#{version} is required to compile this software.
- Installing just the Command Line Tools is not sufficient.
- EOS
- if MacOS.version >= :lion
- message + <<~EOS
- Xcode can be installed from the App Store.
- EOS
- else
- message + <<~EOS
- Xcode can be installed from #{Formatter.url("https://developer.apple.com/download/more/")}.
- EOS
- end
- end
-
- def inspect
- "#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>"
- end
-end
-
-class MysqlRequirement < Requirement
- fatal true
- default_formula "mysql"
-
- satisfy { which "mysql_config" }
-end
-
-class PostgresqlRequirement < Requirement
- fatal true
- default_formula "postgresql"
-
- satisfy { which "pg_config" }
-end
-
-class RbenvRequirement < Requirement
- fatal true
- default_formula "rbenv"
-
- satisfy { which "rbenv" }
-end
-
-class TeXRequirement < Requirement
- fatal true
- cask "mactex"
- download "https://www.tug.org/mactex/"
-
- satisfy { which("tex") || which("latex") }
-
- def message
- s = <<~EOS
- A LaTeX distribution is required for Homebrew to install this formula.
-
- Make sure that "/usr/texbin", or the location you installed it to, is in
- your PATH before proceeding.
- EOS
- s += super
- s
- end
-end
-
-class ArchRequirement < Requirement
- fatal true
-
- def initialize(arch)
- @arch = arch.pop
- super
- end
-
- satisfy(build_env: false) do
- case @arch
- when :x86_64 then MacOS.prefer_64_bit?
- when :intel, :ppc then Hardware::CPU.type == @arch
- end
- end
-
- def message
- "This formula requires an #{@arch} architecture."
- end
-end
-
-class CVSRequirement < Requirement
- fatal true
- default_formula "cvs"
- satisfy { which "cvs" }
-end
-
-class MercurialRequirement < Requirement
- fatal true
- default_formula "mercurial"
- satisfy { which("hg") }
-end
+require "requirements/arch_requirement"
+require "requirements/xcode_requirement"
class GitRequirement < Requirement
fatal true