diff options
| author | Mike McQuaid | 2016-04-25 18:01:15 +0100 |
|---|---|---|
| committer | Mike McQuaid | 2016-05-08 16:51:22 +0100 |
| commit | 9e7b8c61a99c4d4c69da36f95759e375b7a4e116 (patch) | |
| tree | a5709f42df44dc4db75ac0a4e5b57a68a12acac9 /Library/Homebrew/extend | |
| parent | e316cc9296079a212a72ab89c0c11e894b546ef9 (diff) | |
| download | brew-9e7b8c61a99c4d4c69da36f95759e375b7a4e116.tar.bz2 | |
Make config command cross-platform.
Closes #168.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Diffstat (limited to 'Library/Homebrew/extend')
| -rw-r--r-- | Library/Homebrew/extend/os/mac/system_config.rb | 56 | ||||
| -rw-r--r-- | Library/Homebrew/extend/os/system_config.rb | 5 |
2 files changed, 61 insertions, 0 deletions
diff --git a/Library/Homebrew/extend/os/mac/system_config.rb b/Library/Homebrew/extend/os/mac/system_config.rb new file mode 100644 index 000000000..4a06d07ef --- /dev/null +++ b/Library/Homebrew/extend/os/mac/system_config.rb @@ -0,0 +1,56 @@ +class SystemConfig + class << self + def xcode + if instance_variable_defined?(:@xcode) + @xcode + elsif MacOS::Xcode.installed? + @xcode = MacOS::Xcode.version + @xcode += " => #{MacOS::Xcode.prefix}" unless MacOS::Xcode.default_prefix? + @xcode + end + end + + def clt + if instance_variable_defined?(:@clt) + @clt + elsif MacOS::CLT.installed? && MacOS::Xcode.version >= "4.3" + @clt = MacOS::CLT.version + end + end + + def macports_or_fink + @ponk ||= MacOS.macports_or_fink + @ponk.join(", ") unless @ponk.empty? + end + + def describe_xquartz + return "N/A" unless MacOS::XQuartz.installed? + "#{MacOS::XQuartz.version} => #{describe_path(MacOS::XQuartz.prefix)}" + end + + def describe_system_ruby + s = "" + case RUBY_VERSION + when /^1\.[89]/, /^2\.0/ + s << "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" + else + s << RUBY_VERSION + end + + if RUBY_PATH.to_s !~ %r{^/System/Library/Frameworks/Ruby.framework/Versions/[12]\.[089]/usr/bin/ruby} + s << " => #{RUBY_PATH}" + end + s + end + + def dump_verbose_config(f = $stdout) + dump_generic_verbose_config(f) + f.puts "System Ruby: #{describe_system_ruby}" + f.puts "OS X: #{MacOS.full_version}-#{kernel}" + f.puts "Xcode: #{xcode ? xcode : "N/A"}" + f.puts "CLT: #{clt ? clt : "N/A"}" + f.puts "X11: #{describe_xquartz}" + f.puts "MacPorts/Fink: #{macports_or_fink}" if macports_or_fink + end + end +end diff --git a/Library/Homebrew/extend/os/system_config.rb b/Library/Homebrew/extend/os/system_config.rb new file mode 100644 index 000000000..cf7b69cb6 --- /dev/null +++ b/Library/Homebrew/extend/os/system_config.rb @@ -0,0 +1,5 @@ +require "system_config" + +if OS.mac? + require "extend/os/mac/system_config" +end |
