aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMaxim Belkin2018-02-16 10:41:14 -0600
committerMaxim Belkin2018-02-16 10:41:14 -0600
commit444b292df9d60b355895c9b024522d01b9e30771 (patch)
treeb8d11b450457dd2b99b59b44bc076b2189628322 /Library
parentef1924e1f3f2becefe68e4ee6c3967eeee998fcf (diff)
downloadbrew-444b292df9d60b355895c9b024522d01b9e30771.tar.bz2
zip and bzip2 dependencies when needed
On some systems identified as Linux, zip and bzip2 might not be available. Therefore, on such platforms we add them unconditionally as dependencies when required. On Mac, these dependencies are always satisfied.
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/dependency_collector.rb10
-rw-r--r--Library/Homebrew/extend/os/dependency_collector.rb1
-rw-r--r--Library/Homebrew/extend/os/linux/dependency_collector.rb27
-rw-r--r--Library/Homebrew/extend/os/mac/dependency_collector.rb5
4 files changed, 43 insertions, 0 deletions
diff --git a/Library/Homebrew/dependency_collector.rb b/Library/Homebrew/dependency_collector.rb
index 03a86d661..9e6d6ab0b 100644
--- a/Library/Homebrew/dependency_collector.rb
+++ b/Library/Homebrew/dependency_collector.rb
@@ -72,6 +72,14 @@ class DependencyCollector
def ld64_dep_if_needed(*); end
+ def zip_dep_if_needed(tags)
+ return
+ end
+
+ def bzip2_dep_if_needed(tags)
+ return
+ end
+
def self.tar_needs_xz_dependency?
!new.xz_dep_if_needed([]).nil?
end
@@ -162,6 +170,8 @@ class DependencyCollector
when ".lz" then Dependency.new("lzip", tags)
when ".rar" then Dependency.new("unrar", tags)
when ".7z" then Dependency.new("p7zip", tags)
+ when ".zip" then zip_dep_if_needed(tags)
+ when ".bz2" then bzip2_dep_if_needed(tags)
end
end
end
diff --git a/Library/Homebrew/extend/os/dependency_collector.rb b/Library/Homebrew/extend/os/dependency_collector.rb
index 56fcad31d..fffec1c99 100644
--- a/Library/Homebrew/extend/os/dependency_collector.rb
+++ b/Library/Homebrew/extend/os/dependency_collector.rb
@@ -1,2 +1,3 @@
require "dependency_collector"
require "extend/os/mac/dependency_collector" if OS.mac?
+require "extend/os/linux/dependency_collector" if OS.linux?
diff --git a/Library/Homebrew/extend/os/linux/dependency_collector.rb b/Library/Homebrew/extend/os/linux/dependency_collector.rb
new file mode 100644
index 000000000..13ea1ab33
--- /dev/null
+++ b/Library/Homebrew/extend/os/linux/dependency_collector.rb
@@ -0,0 +1,27 @@
+class DependencyCollector
+
+ def git_dep_if_needed(tags)
+ Dependency.new("git", tags)
+ end
+
+ def cvs_dep_if_needed(tags)
+ Dependency.new("cvs", tags)
+ end
+
+ def xz_dep_if_needed(tags)
+ Dependency.new("xz", tags)
+ end
+
+ def ld64_dep_if_needed(*)
+ return
+ end
+
+ def zip_dep_if_needed(tags)
+ Dependency.new("zip", tags)
+ end
+
+ def bzip2_dep_if_needed(tags)
+ Dependency.new("bzip2", tags)
+ end
+
+end
diff --git a/Library/Homebrew/extend/os/mac/dependency_collector.rb b/Library/Homebrew/extend/os/mac/dependency_collector.rb
index 108b6ccb2..116286879 100644
--- a/Library/Homebrew/extend/os/mac/dependency_collector.rb
+++ b/Library/Homebrew/extend/os/mac/dependency_collector.rb
@@ -23,4 +23,9 @@ class DependencyCollector
return if MacOS.version > :tiger
LD64Dependency.new
end
+
+ def zip_dep_if_needed(tags); end
+
+ def bzip2_dep_if_needed(tags); end
+
end