From 444b292df9d60b355895c9b024522d01b9e30771 Mon Sep 17 00:00:00 2001 From: Maxim Belkin Date: Fri, 16 Feb 2018 10:41:14 -0600 Subject: [PATCH] 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. --- Library/Homebrew/dependency_collector.rb | 10 +++++++ .../extend/os/dependency_collector.rb | 1 + .../extend/os/linux/dependency_collector.rb | 27 +++++++++++++++++++ .../extend/os/mac/dependency_collector.rb | 5 ++++ 4 files changed, 43 insertions(+) create mode 100644 Library/Homebrew/extend/os/linux/dependency_collector.rb diff --git a/Library/Homebrew/dependency_collector.rb b/Library/Homebrew/dependency_collector.rb index 03a86d661e..9e6d6ab0b9 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 56fcad31d0..fffec1c999 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 0000000000..13ea1ab334 --- /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 108b6ccb2b..1162868794 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