diff --git a/ognibuild/buildlog.py b/ognibuild/buildlog.py index af412f4..e8fcc7a 100644 --- a/ognibuild/buildlog.py +++ b/ognibuild/buildlog.py @@ -57,6 +57,7 @@ from buildlog_consultant.common import ( UnknownCertificateAuthority, MissingLibtool, MissingQt, + MissingX11, ) from .fix_build import BuildFixer @@ -92,6 +93,7 @@ from .requirements import ( CertificateAuthorityRequirement, NodeModuleRequirement, QTRequirement, + X11Requirement, LibtoolRequirement, VagueDependencyRequirement, ) @@ -153,6 +155,8 @@ def problem_to_upstream_requirement(problem): # noqa: C901 return JRERequirement() elif isinstance(problem, MissingQt): return QTRequirement() + elif isinstance(problem, MissingX11): + return X11Requirement() elif isinstance(problem, MissingLibtool): return LibtoolRequirement() elif isinstance(problem, UnknownCertificateAuthority): diff --git a/ognibuild/requirements.py b/ognibuild/requirements.py index 92c30f4..1e37a4d 100644 --- a/ognibuild/requirements.py +++ b/ognibuild/requirements.py @@ -458,6 +458,12 @@ class QTRequirement(Requirement): super(QTRequirement, self).__init__("qt") +class X11Requirement(Requirement): + + def __init__(self): + super(X11Requirement, self).__init__("x11") + + class CertificateAuthorityRequirement(Requirement): def __init__(self, url): diff --git a/ognibuild/resolver/apt.py b/ognibuild/resolver/apt.py index da332af..6b6f1d2 100644 --- a/ognibuild/resolver/apt.py +++ b/ognibuild/resolver/apt.py @@ -56,6 +56,7 @@ from ..requirements import ( JDKRequirement, JRERequirement, QTRequirement, + X11Requirement, PerlModuleRequirement, PerlFileRequirement, AutoconfMacroRequirement, @@ -451,6 +452,10 @@ def resolve_jre_req(apt_mgr, req): return [AptRequirement.simple('default-jre')] +def resolve_x11_req(apt_mgr, req): + return [AptRequirement.simple('libx11-dev')] + + def resolve_qt_req(apt_mgr, req): return find_reqs_simple(apt_mgr, ["/usr/lib/.*/qt[0-9]+/bin/qmake"], regex=True) @@ -570,6 +575,7 @@ APT_REQUIREMENT_RESOLVERS = [ (JDKRequirement, resolve_jdk_req), (JRERequirement, resolve_jre_req), (QTRequirement, resolve_qt_req), + (X11Requirement, resolve_x11_req), (LibtoolRequirement, resolve_libtool_req), (PerlModuleRequirement, resolve_perl_module_req), (PerlFileRequirement, resolve_perl_file_req),