From a3f7f8ba211c7231751a5c48762ace4ef48928a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jelmer=20Vernoo=C4=B3?= Date: Fri, 19 Mar 2021 15:00:35 +0000 Subject: [PATCH] Support Suggests/Depends/Imports in DESCRIPTION. --- ognibuild/buildsystem.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/ognibuild/buildsystem.py b/ognibuild/buildsystem.py index 7a03938..8767951 100644 --- a/ognibuild/buildsystem.py +++ b/ognibuild/buildsystem.py @@ -449,6 +449,8 @@ class Gradle(BuildSystem): class R(BuildSystem): + # https://r-pkgs.org/description.html + name = "R" def __init__(self, path): @@ -481,11 +483,17 @@ class R(BuildSystem): return BytesParser().parse(f) def get_declared_dependencies(self, session, fixers=None): + def parse_list(t): + return [s.strip() for s in t.split(',') if s.strip()] description = self._read_description() if 'Suggests' in description: - suggests = [s.strip() for s in description['Suggests'].split(',') if s.strip()] - for s in suggests: - # TODO(jelmer): Look at version + for s in parse_list(description['Suggests']): + yield "build", RPackageRequirement.from_str(s) + if 'Depends' in description: + for s in parse_list(description['Depends']): + yield "build", RPackageRequirement.from_str(s) + if 'Imports' in description: + for s in parse_list(description['Imports']): yield "build", RPackageRequirement.from_str(s) def get_declared_outputs(self, session, fixers=None):