
It's not used on enough configurations now that there's little point in keeping it around. See e.g. `:autoconf` for prior art.
44 lines
1.2 KiB
Ruby
44 lines
1.2 KiB
Ruby
require "dependency_collector"
|
|
|
|
class DependencyCollector
|
|
alias _parse_symbol_spec parse_symbol_spec
|
|
|
|
def parse_symbol_spec(spec, tags)
|
|
case spec
|
|
when :clt
|
|
odeprecated "'depends_on :clt'"
|
|
when :autoconf, :automake, :bsdmake, :libtool
|
|
output_deprecation(spec, tags)
|
|
autotools_dep(spec, tags)
|
|
when :cairo, :fontconfig, :freetype, :libpng, :pixman
|
|
output_deprecation(spec, tags)
|
|
Dependency.new(spec.to_s, tags)
|
|
when :apr
|
|
# TODO: reenable in future when we've fixed a few of the audits.
|
|
# output_deprecation(spec, tags, "apr-util")
|
|
Dependency.new("apr-util", tags)
|
|
when :libltdl
|
|
tags << :run
|
|
output_deprecation("libtool", tags)
|
|
Dependency.new("libtool", tags)
|
|
else
|
|
_parse_symbol_spec(spec, tags)
|
|
end
|
|
end
|
|
|
|
def autotools_dep(spec, tags)
|
|
tags << :build unless tags.include? :run
|
|
Dependency.new(spec.to_s, tags)
|
|
end
|
|
|
|
def output_deprecation(dependency, tags, new_dependency = dependency)
|
|
tags_string = if tags.length > 1
|
|
" => [:#{tags.join ", :"}]"
|
|
elsif tags.length == 1
|
|
" => :#{tags.first}"
|
|
end
|
|
odeprecated "'depends_on :#{dependency}'",
|
|
"'depends_on \"#{new_dependency}\"#{tags_string}'"
|
|
end
|
|
end
|