Handle boost component requirement.
This commit is contained in:
parent
ed94887536
commit
3cc91b8cb0
3 changed files with 21 additions and 0 deletions
|
@ -48,6 +48,7 @@ from buildlog_consultant.common import (
|
|||
MissingRubyFile,
|
||||
MissingAutoconfMacro,
|
||||
MissingValaPackage,
|
||||
MissingBoostComponents,
|
||||
MissingXfceDependency,
|
||||
MissingHaskellDependencies,
|
||||
MissingVagueDependency,
|
||||
|
@ -90,6 +91,7 @@ from .requirements import (
|
|||
CMakefileRequirement,
|
||||
HaskellPackageRequirement,
|
||||
MavenArtifactRequirement,
|
||||
BoostComponentRequirement,
|
||||
GnomeCommonRequirement,
|
||||
JDKFileRequirement,
|
||||
JDKRequirement,
|
||||
|
@ -133,6 +135,8 @@ def problem_to_upstream_requirement(problem): # noqa: C901
|
|||
return ValaPackageRequirement(problem.package)
|
||||
elif isinstance(problem, MissingGoPackage):
|
||||
return GoPackageRequirement(problem.package)
|
||||
elif isinstance(problem, MissingBoostComponents):
|
||||
return [BoostComponentRequirement(name) for name in problem.components]
|
||||
elif isinstance(problem, DhAddonLoadFailure):
|
||||
return DhAddonRequirement(problem.path)
|
||||
elif isinstance(problem, MissingPhpClass):
|
||||
|
|
|
@ -690,3 +690,12 @@ class PythonModuleRequirement(Requirement):
|
|||
return "%s(%r, python_version=%r, minimum_version=%r)" % (
|
||||
type(self).__name__, self.module, self.python_version,
|
||||
self.minimum_version)
|
||||
|
||||
|
||||
class BoostComponentRequirement(Requirement):
|
||||
|
||||
name: str
|
||||
|
||||
def __init__(self, name):
|
||||
super(BoostComponentRequirement, self).__init__("boost-component")
|
||||
self.name = name
|
||||
|
|
|
@ -47,6 +47,7 @@ from ..requirements import (
|
|||
NodeModuleRequirement,
|
||||
NodePackageRequirement,
|
||||
LibraryRequirement,
|
||||
BoostComponentRequirement,
|
||||
StaticLibraryRequirement,
|
||||
RubyFileRequirement,
|
||||
XmlEntityRequirement,
|
||||
|
@ -703,6 +704,12 @@ def resolve_apt_req(apt_mgr, req):
|
|||
return [req]
|
||||
|
||||
|
||||
def resolve_boost_component_req(apt_mgr, req):
|
||||
return find_reqs_simple(
|
||||
apt_mgr, ["/usr/lib/.*/libboost_%s" % re.escape(req.name)],
|
||||
regex=True)
|
||||
|
||||
|
||||
APT_REQUIREMENT_RESOLVERS = [
|
||||
(AptRequirement, resolve_apt_req),
|
||||
(BinaryRequirement, resolve_binary_req),
|
||||
|
@ -746,6 +753,7 @@ APT_REQUIREMENT_RESOLVERS = [
|
|||
(CertificateAuthorityRequirement, resolve_ca_req),
|
||||
(CargoCrateRequirement, resolve_cargo_crate_req),
|
||||
(IntrospectionTypelibRequirement, resolve_introspection_typelib_req),
|
||||
(BoostComponentRequirement, resolve_boost_component_req),
|
||||
]
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue