diff --git a/Library/Homebrew/bottles.rb b/Library/Homebrew/bottles.rb index 12679e2292..ad74c67106 100644 --- a/Library/Homebrew/bottles.rb +++ b/Library/Homebrew/bottles.rb @@ -56,11 +56,11 @@ def bottle_native_regex end def bottle_regex - /(\.[a-z]+\.bottle\.(\d+\.)?tar\.gz)$/ + Pathname::BOTTLE_EXTNAME_RX end def old_bottle_regex - /((\.[a-z]+)?[\.-]bottle\.tar\.gz)$/ + Pathname::OLD_BOTTLE_EXTNAME_RX end def bottle_base_url diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index 5edd8b6649..600e114a6d 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -1,11 +1,13 @@ require 'pathname' -require 'bottles' require 'mach' # we enhance pathname to make our code more readable class Pathname include MachO + BOTTLE_EXTNAME_RX = /(\.[a-z]+\.bottle\.(\d+\.)?tar\.gz)$/ + OLD_BOTTLE_EXTNAME_RX = /((\.[a-z]+)?[\.-]bottle\.tar\.gz)$/ + def install *sources results = [] sources.each do |src| @@ -122,8 +124,10 @@ class Pathname # extended to support common double extensions alias extname_old extname def extname - return $1 if to_s =~ bottle_regex - return $1 if to_s =~ old_bottle_regex + BOTTLE_EXTNAME_RX.match to_s + return $1 if $1 + OLD_BOTTLE_EXTNAME_RX.match to_s + return $1 if $1 /(\.(tar|cpio)\.(gz|bz2|xz|Z))$/.match to_s return $1 if $1 return File.extname(to_s)