From dc9a521a73e81a63e5bcfe0abb2622391f066f7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jelmer=20Vernoo=C4=B3?= Date: Tue, 30 Mar 2021 18:23:31 +0100 Subject: [PATCH] R: Handle minimum versions and LinkingTo field. --- ognibuild/buildsystem.py | 3 +++ ognibuild/resolver/apt.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ognibuild/buildsystem.py b/ognibuild/buildsystem.py index f33dd59..a0352a2 100644 --- a/ognibuild/buildsystem.py +++ b/ognibuild/buildsystem.py @@ -709,6 +709,9 @@ class R(BuildSystem): if "Imports" in description: for s in parse_list(description["Imports"]): yield "build", RPackageRequirement.from_str(s) + if "LinkingTo" in description: + for s in parse_list(description["LinkingTo"]): + yield "build", RPackageRequirement.from_str(s) def get_declared_outputs(self, session, fixers=None): description = self._read_description() diff --git a/ognibuild/resolver/apt.py b/ognibuild/resolver/apt.py index 375f161..c290273 100644 --- a/ognibuild/resolver/apt.py +++ b/ognibuild/resolver/apt.py @@ -396,7 +396,7 @@ def resolve_r_package_req(apt_mgr, req): paths = [ posixpath.join("/usr/lib/R/site-library/.*/R/%s$" % re.escape(req.package)) ] - return find_reqs_simple(apt_mgr, paths, regex=True) + return find_reqs_simple(apt_mgr, paths, regex=True, minimum_version=req.minimum_version) def resolve_node_module_req(apt_mgr, req):