Merge pull request #8557 from rolandwalker/incorporate_homebrew_fork_hardware

incorporate `hardware.rb` from homebrew-fork
This commit is contained in:
Roland Walker
2014-12-31 17:04:54 -05:00
6 changed files with 46 additions and 72 deletions
+2
View File
@@ -20,6 +20,7 @@ require 'cask/download_strategy'
require 'cask/dsl'
require 'cask/exceptions'
require 'cask/fetcher'
require 'cask/hardware'
require 'cask/installer'
require 'cask/locations'
require 'cask/macos'
@@ -49,6 +50,7 @@ class Cask
# todo: restrict visibility of this to the DSL
::MacOS = Cask::MacOS
::Hardware = Cask::Hardware
def self.init
# todo: Creating directories should be deferred until needed.
+3
View File
@@ -0,0 +1,3 @@
module Cask::Hardware; end
require 'cask/hardware/cpu'
+41
View File
@@ -0,0 +1,41 @@
# originally from Homebrew
module Cask::Hardware::CPU
extend self
def is_32_bit?
!is_64_bit?
end
def is_64_bit?
@capable ||= `/usr/sbin/sysctl -n hw.cpu64bit_capable 2>/dev/null`.to_i
@capable == 1
end
def intel?
type == :intel
end
def ppc?
type == :ppc
end
# sysctl is described in <mach/machine.h>
def type
@type ||= `/usr/sbin/sysctl -n hw.cputype 2>/dev/null`.to_i
case @type
when 7
:intel
when 18
:ppc
end
end
def cores
@cores ||= `/usr/sbin/sysctl -n hw.ncpu 2>/dev/null`.to_i
end
def bits
@bits ||= is_64_bit? ? 64 : 32
end
end
-50
View File
@@ -1,50 +0,0 @@
module Hardware
module CPU
extend self
def is_32_bit?
bits == 32
end
def is_64_bit?
bits == 64
end
def intel?
type == :intel
end
def ppc?
type == :ppc
end
# sysctl is described in <mach/machine.h>
def type
@type ||= `/usr/sbin/sysctl -n hw.cputype 2>/dev/null`.to_i
case @type
when 7
:intel
when 18
:ppc
end
end
def cores
@cores ||= `/usr/sbin/sysctl -n hw.ncpu 2>/dev/null`.to_i
end
def bits
@bits ||= sysctl_bool("hw.cpu64bit_capable") ? 64 : 32
end
protected
def sysctl_bool(property)
(@properties ||= {}).fetch(property) do
result = Utils.popen_read("/usr/sbin/sysctl", "-n", property, &:gets).to_i
# sysctl call succeded and printed 1
@properties[property] = $?.success? && result == 1
end
end
end
end
-20
View File
@@ -1,20 +0,0 @@
module Utils
def self.popen_read(*args, &block)
popen(args, "rb", &block)
end
def self.popen(args, mode)
IO.popen("-", mode) do |pipe|
if pipe
if block_given?
yield pipe
else
return pipe.read
end
else
STDERR.reopen("/dev/null", "w")
exec(*args)
end
end
end
end
-2
View File
@@ -1,7 +1,5 @@
require 'pathname'
require 'vendor/homebrew-fork/exceptions'
require 'vendor/homebrew-fork/hardware'
require 'vendor/homebrew-fork/popen'
def homebrew_fork_system cmd, *args
puts "#{cmd} #{args*' '}" if Cask.verbose