aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorJack Nagel2014-04-06 12:34:42 -0500
committerJack Nagel2014-04-06 12:35:54 -0500
commitd460fa3f01bd7dbac0df050d267dba2f06a37e72 (patch)
tree5276b9b420df52af5282e1093861cc1b8d031211 /Library/Homebrew
parent7398b7278370900fcfbd2e468ed49ea965a191c9 (diff)
downloadhomebrew-d460fa3f01bd7dbac0df050d267dba2f06a37e72.tar.bz2
Recognize and extract xar files
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/download_strategy.rb5
-rw-r--r--Library/Homebrew/extend/pathname.rb4
2 files changed, 3 insertions, 6 deletions
diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb
index 29212323e..3d5f2ade1 100644
--- a/Library/Homebrew/download_strategy.rb
+++ b/Library/Homebrew/download_strategy.rb
@@ -172,9 +172,8 @@ class CurlDownloadStrategy < AbstractDownloadStrategy
when :lzip
with_system_path { safe_system "#{lzippath} -dc \"#{tarball_path}\" | tar xf -" }
chdir
- when :pkg
- safe_system '/usr/sbin/pkgutil', '--expand', tarball_path, basename_without_params
- chdir
+ when :xar
+ safe_system "/usr/bin/xar", "-xf", tarball_path
when :rar
quiet_safe_system 'unrar', 'x', {:quiet_flag => '-inul'}, tarball_path
when :p7zip
diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb
index 40f182614..13b882b0f 100644
--- a/Library/Homebrew/extend/pathname.rb
+++ b/Library/Homebrew/extend/pathname.rb
@@ -206,9 +206,6 @@ class Pathname
when ".jar", ".war"
# Don't treat jars or wars as compressed
return
- when ".pkg"
- # OS X installer package
- return :pkg
when ".gz"
# If the filename ends with .gz not preceded by .tar
# then we want to gunzip but not tar
@@ -230,6 +227,7 @@ class Pathname
when /^LZIP/n then :lzip
when /^Rar!/n then :rar
when /^7z\xBC\xAF\x27\x1C/n then :p7zip
+ when /^xar!/n then :xar
else
# This code so that bad-tarballs and zips produce good error messages
# when they don't unarchive properly.