Miscellaneous bottle code cleanup.
This commit is contained in:
		
							parent
							
								
									82d1310800
								
							
						
					
					
						commit
						67f78074f9
					
				@ -1,4 +1,5 @@
 | 
			
		||||
require 'tab'
 | 
			
		||||
require 'macos'
 | 
			
		||||
require 'extend/ARGV'
 | 
			
		||||
 | 
			
		||||
def bottle_filename f, bottle_version=nil
 | 
			
		||||
@ -11,7 +12,7 @@ end
 | 
			
		||||
def install_bottle? f
 | 
			
		||||
  return true if ARGV.include? '--install-bottle'
 | 
			
		||||
  not ARGV.build_from_source? \
 | 
			
		||||
    and ARGV.bottles_supported? \
 | 
			
		||||
    and MacOS.bottles_supported? \
 | 
			
		||||
    and ARGV.used_options(f).empty? \
 | 
			
		||||
    and bottle_current?(f)
 | 
			
		||||
end
 | 
			
		||||
@ -25,12 +26,15 @@ def built_as_bottle? f
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
def bottle_current? f
 | 
			
		||||
  f.bottle and f.bottle.url && !f.bottle.checksum.empty? && f.bottle.version == f.stable.version
 | 
			
		||||
  f.bottle and f.bottle.url \
 | 
			
		||||
    and (not f.bottle.checksum.empty?) \
 | 
			
		||||
    and (f.bottle.version == f.stable.version)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
def bottle_file_outdated? f, file
 | 
			
		||||
  filename = file.basename.to_s
 | 
			
		||||
  return nil unless (filename.match(bottle_regex) or filename.match(old_bottle_regex)) and f.bottle and f.bottle.url
 | 
			
		||||
  return nil unless f.bottle and f.bottle.url \
 | 
			
		||||
    and (filename.match(bottle_regex) or filename.match(old_bottle_regex))
 | 
			
		||||
 | 
			
		||||
  bottle_ext = filename.match(bottle_native_regex).captures.first rescue nil
 | 
			
		||||
  bottle_ext ||= filename.match(old_bottle_regex).captures.first rescue nil
 | 
			
		||||
 | 
			
		||||
@ -51,7 +51,7 @@ module Homebrew extend self
 | 
			
		||||
 | 
			
		||||
    specs = []
 | 
			
		||||
    stable = "stable #{f.stable.version}" if f.stable
 | 
			
		||||
    stable += " (bottled)" if f.bottle and bottles_supported?
 | 
			
		||||
    stable += " (bottled)" if f.bottle and MacOS.bottles_supported?
 | 
			
		||||
    specs << stable if stable
 | 
			
		||||
    specs << "devel #{f.devel.version}" if f.devel
 | 
			
		||||
    specs << "HEAD" if f.head
 | 
			
		||||
 | 
			
		||||
@ -124,16 +124,8 @@ module HomebrewArgvExtension
 | 
			
		||||
    include? '--32-bit'
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def bottles_supported?
 | 
			
		||||
    # Snow Leopard was the only version of OS X that supported
 | 
			
		||||
    # both 64-bit and 32-bit processors and kernels.
 | 
			
		||||
    (Hardware.is_64_bit? or not MacOS.snow_leopard?) \
 | 
			
		||||
      and HOMEBREW_PREFIX.to_s == '/usr/local' \
 | 
			
		||||
      and HOMEBREW_CELLAR.to_s == '/usr/local/Cellar' \
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def build_bottle?
 | 
			
		||||
    include? '--build-bottle' and bottles_supported?
 | 
			
		||||
    include? '--build-bottle' and MacOS.bottles_supported?
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def build_from_source?
 | 
			
		||||
 | 
			
		||||
@ -215,6 +215,13 @@ module MacOS extend self
 | 
			
		||||
  def pkgutil_info id
 | 
			
		||||
    `pkgutil --pkg-info #{id} 2>/dev/null`.strip
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def bottles_supported?
 | 
			
		||||
    # We support bottles on all versions of OS X except 32-bit Snow Leopard.
 | 
			
		||||
    (Hardware.is_64_bit? or not MacOS.snow_leopard?) \
 | 
			
		||||
      and HOMEBREW_PREFIX.to_s == '/usr/local' \
 | 
			
		||||
      and HOMEBREW_CELLAR.to_s == '/usr/local/Cellar' \
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
require 'macos/xcode'
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user