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.
This commit is contained in:
Maxim Belkin 2018-02-16 10:41:14 -06:00
parent ef1924e1f3
commit 444b292df9
No known key found for this signature in database
GPG Key ID: AC71560D4C5F2338
4 changed files with 43 additions and 0 deletions

View File

@ -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

View File

@ -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?

View File

@ -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

View File

@ -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