mirror of
https://github.com/wavetermdev/homebrew-cask.git
synced 2026-08-05 13:43:24 -07:00
Merge pull request #8557 from rolandwalker/incorporate_homebrew_fork_hardware
incorporate `hardware.rb` from homebrew-fork
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
module Cask::Hardware; end
|
||||
|
||||
require 'cask/hardware/cpu'
|
||||
@@ -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
|
||||
Vendored
-50
@@ -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
|
||||
Vendored
-20
@@ -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
|
||||
Vendored
-2
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user