From 1751dc47015163cc5d14e2e8753163f7904c0aad Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Mon, 6 Dec 2021 14:32:05 -0800 Subject: interpreterobjects: use typed_kwargs for dependency.get_pkgconfig_variable --- mesonbuild/interpreter/interpreterobjects.py | 14 ++++++++++++-- mesonbuild/interpreter/kwargs.py | 6 ++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py index 309318119..19cb0210f 100644 --- a/mesonbuild/interpreter/interpreterobjects.py +++ b/mesonbuild/interpreter/interpreterobjects.py @@ -461,9 +461,19 @@ class DependencyHolder(ObjectHolder[Dependency]): @FeatureDeprecated('dependency.get_pkgconfig_variable', '0.56.0', 'use dependency.get_variable(pkgconfig : ...) instead') - @permittedKwargs({'define_variable', 'default'}) @typed_pos_args('dependency.get_pkgconfig_variable', str) - def pkgconfig_method(self, args: T.Tuple[str], kwargs: TYPE_kwargs) -> str: + @typed_kwargs( + 'dependency.get_pkgconfig_variable', + KwargInfo('default', (str, NoneType)), + KwargInfo( + 'define_variable', + ContainerTypeInfo(list, str, pairs=True), + default=[], + listify=True, + validator=lambda x: 'must be of length 2 or empty' if len(x) not in {0, 2} else None, + ), + ) + def pkgconfig_method(self, args: T.Tuple[str], kwargs: 'kwargs.DependencyPkgConfigVar') -> str: return self.held_object.get_pkgconfig_variable(args[0], **kwargs) @FeatureNew('dependency.get_configtool_variable', '0.44.0') diff --git a/mesonbuild/interpreter/kwargs.py b/mesonbuild/interpreter/kwargs.py index 439e866c6..37e12e9a6 100644 --- a/mesonbuild/interpreter/kwargs.py +++ b/mesonbuild/interpreter/kwargs.py @@ -244,3 +244,9 @@ class RunCommand(TypedDict): class FeatureOptionRequire(TypedDict): error_message: T.Optional[str] + + +class DependencyPkgConfigVar(TypedDict): + + default: T.Optional[str] + define_variable: T.List[str] -- cgit v1.3