58 lines
1.6 KiB
Ruby
Raw Normal View History

# typed: strict
# frozen_string_literal: true
2024-09-18 15:33:49 -07:00
module OS
module Linux
module Formula
extend T::Helpers
requires_ancestor { ::Formula }
sig { params(name: String, version: T.nilable(T.any(String, Integer))).returns(String) }
def shared_library(name, version = nil)
suffix = if version == "*" || (name == "*" && version.blank?)
"{,.*}"
elsif version.present?
".#{version}"
2024-09-13 12:22:52 -07:00
end
2024-09-18 15:33:49 -07:00
"#{name}.so#{suffix}"
end
2024-09-13 12:22:52 -07:00
2024-09-18 15:33:49 -07:00
sig { returns(String) }
def loader_path
"$ORIGIN"
end
2024-09-13 12:22:52 -07:00
2024-09-18 15:33:49 -07:00
sig { params(targets: T.nilable(T.any(Pathname, String))).void }
def deuniversalize_machos(*targets); end
sig { params(spec: SoftwareSpec).void }
def add_global_deps_to_spec(spec)
return unless ::DevelopmentTools.needs_build_formulae?
2024-09-18 15:33:49 -07:00
@global_deps ||= T.let(nil, T.nilable(T::Array[Dependency]))
2024-09-18 15:33:49 -07:00
@global_deps ||= begin
dependency_collector = spec.dependency_collector
related_formula_names = Set.new([
name,
*aliases,
*versioned_formulae_names,
])
[
dependency_collector.gcc_dep_if_needed(related_formula_names),
dependency_collector.glibc_dep_if_needed(related_formula_names),
].compact.freeze
2024-09-13 12:22:52 -07:00
end
2024-09-18 15:33:49 -07:00
@global_deps.each { |dep| spec.dependency_collector.add(dep) }
end
2024-09-13 12:22:52 -07:00
2024-09-18 15:33:49 -07:00
sig { returns(T::Boolean) }
def valid_platform?
requirements.none?(MacOSRequirement)
2024-09-13 12:22:52 -07:00
end
end
end
end
2024-09-05 19:56:32 -07:00
2024-09-18 15:33:49 -07:00
Formula.prepend(OS::Linux::Formula)