diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2020-10-06 13:19:30 -0400 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2020-10-06 19:15:59 -0400 |
commit | 8b20852b0ff35a9e19b3b26c04decdef35036fd5 (patch) | |
tree | 761d70bf322d040750b183bbc82063fb701d030c /mesonbuild | |
parent | 88fecedc7759239c0c694182d756ba80e4d01e9d (diff) | |
download | meson-8b20852b0ff35a9e19b3b26c04decdef35036fd5.zip meson-8b20852b0ff35a9e19b3b26c04decdef35036fd5.tar.gz meson-8b20852b0ff35a9e19b3b26c04decdef35036fd5.tar.bz2 |
python.dependency() is not respecting 'required' kwarg
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/modules/python.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py index 87dfc33..bb61475 100644 --- a/mesonbuild/modules/python.py +++ b/mesonbuild/modules/python.py @@ -34,7 +34,7 @@ from ..environment import detect_cpu_family from ..dependencies.base import ( DependencyMethods, ExternalDependency, ExternalProgram, PkgConfigDependency, - NonExistingExternalProgram + NonExistingExternalProgram, NotFoundDependency ) mod_kwargs = set(['subdir']) @@ -356,7 +356,14 @@ class PythonInstallation(ExternalProgramHolder): 'positional arguments. It always returns a Python ' 'dependency. This will become an error in the future.', location=self.interpreter.current_node) - dep = PythonDependency(self, self.interpreter.environment, kwargs) + disabled, required, feature = extract_required_kwarg(kwargs, self.subproject) + if disabled: + mlog.log('Dependency', mlog.bold('python'), 'skipped: feature', mlog.bold(feature), 'disabled') + dep = NotFoundDependency(self.interpreter.environment) + else: + dep = PythonDependency(self, self.interpreter.environment, kwargs) + if required and not dep.found(): + raise mesonlib.MesonException('Python dependency not found') return self.interpreter.holderify(dep) @permittedKwargs(['pure', 'subdir']) |