diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2021-06-15 19:55:36 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-15 19:55:36 +0300 |
commit | abf485ebc330ac49d4fbac3da548662e08251040 (patch) | |
tree | 3fa1d28ae1fb8c7a0080edb2f49340b0cc2749b4 | |
parent | f69962a4f70fddcc26ead5a3357091c5a931467b (diff) | |
parent | 0412bdd7535ec8d8d314f5ecf6120472534764ba (diff) | |
download | meson-abf485ebc330ac49d4fbac3da548662e08251040.zip meson-abf485ebc330ac49d4fbac3da548662e08251040.tar.gz meson-abf485ebc330ac49d4fbac3da548662e08251040.tar.bz2 |
Merge pull request #8878 from dcbaker/submit/dependency-type-fixes
Fix System dependencies setting type_name instead of name
-rw-r--r-- | mesonbuild/dependencies/base.py | 13 | ||||
-rw-r--r-- | mesonbuild/dependencies/boost.py | 5 | ||||
-rw-r--r-- | mesonbuild/dependencies/cmake.py | 4 | ||||
-rw-r--r-- | mesonbuild/dependencies/coarrays.py | 5 | ||||
-rw-r--r-- | mesonbuild/dependencies/configtool.py | 4 | ||||
-rw-r--r-- | mesonbuild/dependencies/cuda.py | 7 | ||||
-rw-r--r-- | mesonbuild/dependencies/dev.py | 17 | ||||
-rw-r--r-- | mesonbuild/dependencies/dub.py | 4 | ||||
-rw-r--r-- | mesonbuild/dependencies/factory.py | 13 | ||||
-rw-r--r-- | mesonbuild/dependencies/framework.py | 4 | ||||
-rw-r--r-- | mesonbuild/dependencies/misc.py | 20 | ||||
-rw-r--r-- | mesonbuild/dependencies/mpi.py | 9 | ||||
-rw-r--r-- | mesonbuild/dependencies/pkgconfig.py | 4 | ||||
-rw-r--r-- | mesonbuild/dependencies/platform.py | 4 | ||||
-rw-r--r-- | mesonbuild/dependencies/system.py | 29 | ||||
-rw-r--r-- | mesonbuild/dependencies/ui.py | 12 | ||||
-rw-r--r-- | mesonbuild/modules/python.py | 8 | ||||
-rwxr-xr-x | run_mypy.py | 4 | ||||
-rw-r--r-- | test cases/failing/68 wrong boost module/test.json | 2 |
19 files changed, 103 insertions, 65 deletions
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py index 2c5e24d..da8fc54 100644 --- a/mesonbuild/dependencies/base.py +++ b/mesonbuild/dependencies/base.py @@ -60,6 +60,9 @@ class DependencyMethods(Enum): DUB = 'dub' +DependencyTypeName = T.NewType('DependencyTypeName', str) + + class Dependency: @classmethod @@ -72,7 +75,7 @@ class Dependency: raise DependencyException("include_type may only be one of ['preserve', 'system', 'non-system']") return kwargs['include_type'] - def __init__(self, type_name: str, kwargs: T.Dict[str, T.Any]) -> None: + def __init__(self, type_name: DependencyTypeName, kwargs: T.Dict[str, T.Any]) -> None: self.name = "null" self.version: T.Optional[str] = None self.language: T.Optional[str] = None # None means C-like @@ -220,7 +223,7 @@ class InternalDependency(Dependency): link_args: T.List[str], libraries: T.List['BuildTarget'], whole_libraries: T.List['BuildTarget'], sources: T.List['FileOrString'], ext_deps: T.List[Dependency], variables: T.Dict[str, T.Any]): - super().__init__('internal', {}) + super().__init__(DependencyTypeName('internal'), {}) self.version = version self.is_found = True self.include_directories = incdirs @@ -307,7 +310,7 @@ class HasNativeKwarg: return MachineChoice.BUILD if kwargs.get('native', False) else MachineChoice.HOST class ExternalDependency(Dependency, HasNativeKwarg): - def __init__(self, type_name: str, environment: 'Environment', kwargs: T.Dict[str, T.Any], language: T.Optional[str] = None): + def __init__(self, type_name: DependencyTypeName, environment: 'Environment', kwargs: T.Dict[str, T.Any], language: T.Optional[str] = None): Dependency.__init__(self, type_name, kwargs) self.env = environment self.name = type_name # default @@ -392,7 +395,7 @@ class ExternalDependency(Dependency, HasNativeKwarg): class NotFoundDependency(Dependency): def __init__(self, environment: 'Environment') -> None: - super().__init__('not-found', {}) + super().__init__(DependencyTypeName('not-found'), {}) self.env = environment self.name = 'not-found' self.is_found = False @@ -406,7 +409,7 @@ class NotFoundDependency(Dependency): class ExternalLibrary(ExternalDependency): def __init__(self, name: str, link_args: T.List[str], environment: 'Environment', language: str, silent: bool = False) -> None: - super().__init__('library', environment, {}, language=language) + super().__init__(DependencyTypeName('library'), environment, {}, language=language) self.name = name self.language = language self.is_found = False diff --git a/mesonbuild/dependencies/boost.py b/mesonbuild/dependencies/boost.py index c8bc594..fabebfa 100644 --- a/mesonbuild/dependencies/boost.py +++ b/mesonbuild/dependencies/boost.py @@ -21,9 +21,10 @@ from .. import mlog from .. import mesonlib from ..environment import Environment -from .base import DependencyException, ExternalDependency +from .base import DependencyException from .pkgconfig import PkgConfigDependency from .misc import threads_factory +from .system import SystemDependency if T.TYPE_CHECKING: from ..environment import Properties @@ -340,7 +341,7 @@ class BoostLibraryFile(): def get_link_args(self) -> T.List[str]: return [self.path.as_posix()] -class BoostDependency(ExternalDependency): +class BoostDependency(SystemDependency): def __init__(self, environment: Environment, kwargs: T.Dict[str, T.Any]) -> None: super().__init__('boost', environment, kwargs, language='cpp') buildtype = environment.coredata.get_option(mesonlib.OptionKey('buildtype')) diff --git a/mesonbuild/dependencies/cmake.py b/mesonbuild/dependencies/cmake.py index 0ce8dbd..7dee62e 100644 --- a/mesonbuild/dependencies/cmake.py +++ b/mesonbuild/dependencies/cmake.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from .base import ExternalDependency, DependencyException, DependencyMethods +from .base import ExternalDependency, DependencyException, DependencyMethods, DependencyTypeName from ..mesonlib import is_windows, MesonException, OptionKey, PerMachine, stringlistify, extract_as_list from ..mesondata import mesondata from ..cmake import CMakeExecutor, CMakeTraceParser, CMakeException, CMakeToolchain, CMakeExecScope, check_cmake_args @@ -98,7 +98,7 @@ class CMakeDependency(ExternalDependency): # Ensure that the list is unique self.language_list = list(set(self.language_list)) - super().__init__('cmake', environment, kwargs, language=language) + super().__init__(DependencyTypeName('cmake'), environment, kwargs, language=language) self.name = name self.is_libtool = False # Store a copy of the CMake path on the object itself so it is diff --git a/mesonbuild/dependencies/coarrays.py b/mesonbuild/dependencies/coarrays.py index aa8c818..f2aa608 100644 --- a/mesonbuild/dependencies/coarrays.py +++ b/mesonbuild/dependencies/coarrays.py @@ -15,10 +15,11 @@ import functools import typing as T -from .base import DependencyMethods, ExternalDependency, detect_compiler +from .base import DependencyMethods, detect_compiler from .cmake import CMakeDependency from .pkgconfig import PkgConfigDependency from .factory import factory_methods +from .system import SystemDependency if T.TYPE_CHECKING: from . factory import DependencyGenerator @@ -52,7 +53,7 @@ def coarray_factory(env: 'Environment', return candidates -class CoarrayDependency(ExternalDependency): +class CoarrayDependency(SystemDependency): """ Coarrays are a Fortran 2008 feature. diff --git a/mesonbuild/dependencies/configtool.py b/mesonbuild/dependencies/configtool.py index ed339c7..dca519c 100644 --- a/mesonbuild/dependencies/configtool.py +++ b/mesonbuild/dependencies/configtool.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from .base import ExternalDependency, DependencyException, DependencyMethods +from .base import ExternalDependency, DependencyException, DependencyMethods, DependencyTypeName from ..mesonlib import listify, Popen_safe, split_args, version_compare, version_compare_many from ..programs import find_external_program from .. import mlog @@ -41,7 +41,7 @@ class ConfigToolDependency(ExternalDependency): __strip_version = re.compile(r'^[0-9][0-9.]+') def __init__(self, name: str, environment: 'Environment', kwargs: T.Dict[str, T.Any], language: T.Optional[str] = None): - super().__init__('config-tool', environment, kwargs, language=language) + super().__init__(DependencyTypeName('config-tool'), environment, kwargs, language=language) self.name = name # You may want to overwrite the class version in some cases self.tools = listify(kwargs.get('tools', self.tools)) diff --git a/mesonbuild/dependencies/cuda.py b/mesonbuild/dependencies/cuda.py index 42fdb09..d396dbe 100644 --- a/mesonbuild/dependencies/cuda.py +++ b/mesonbuild/dependencies/cuda.py @@ -18,11 +18,12 @@ import os import typing as T from pathlib import Path -from .. import mlog from .. import mesonlib +from .. import mlog from ..environment import detect_cpu_family +from .base import DependencyException +from .system import SystemDependency -from .base import (DependencyException, ExternalDependency) if T.TYPE_CHECKING: from ..environment import Environment @@ -30,7 +31,7 @@ if T.TYPE_CHECKING: TV_ResultTuple = T.Tuple[T.Optional[str], T.Optional[str], bool] -class CudaDependency(ExternalDependency): +class CudaDependency(SystemDependency): supported_languages = ['cuda', 'cpp', 'c'] # see also _default_language diff --git a/mesonbuild/dependencies/dev.py b/mesonbuild/dependencies/dev.py index 397ad0c..ab9e9e5 100644 --- a/mesonbuild/dependencies/dev.py +++ b/mesonbuild/dependencies/dev.py @@ -23,15 +23,16 @@ import shutil import typing as T from .. import mesonlib, mlog -from ..mesonlib import version_compare, stringlistify, extract_as_list, MachineChoice +from ..compilers import AppleClangCCompiler, AppleClangCPPCompiler from ..environment import get_llvm_tool_names -from .base import DependencyException, DependencyMethods, ExternalDependency, strip_system_libdirs +from ..mesonlib import version_compare, stringlistify, extract_as_list, MachineChoice +from .base import DependencyException, DependencyMethods, strip_system_libdirs from .cmake import CMakeDependency from .configtool import ConfigToolDependency -from .pkgconfig import PkgConfigDependency from .factory import DependencyFactory from .misc import threads_factory -from ..compilers import AppleClangCCompiler, AppleClangCPPCompiler +from .pkgconfig import PkgConfigDependency +from .system import SystemDependency if T.TYPE_CHECKING: from ..envconfig import MachineInfo @@ -50,7 +51,7 @@ def get_shared_library_suffix(environment: 'Environment', for_machine: MachineCh return '.so' -class GTestDependencySystem(ExternalDependency): +class GTestDependencySystem(SystemDependency): def __init__(self, name: str, environment: 'Environment', kwargs: T.Dict[str, T.Any]) -> None: super().__init__(name, environment, kwargs, language='cpp') self.main = kwargs.get('main', False) @@ -120,7 +121,7 @@ class GTestDependencyPC(PkgConfigDependency): super().__init__(name, environment, kwargs) -class GMockDependencySystem(ExternalDependency): +class GMockDependencySystem(SystemDependency): def __init__(self, name: str, environment: 'Environment', kwargs: T.Dict[str, T.Any]) -> None: super().__init__(name, environment, kwargs, language='cpp') self.main = kwargs.get('main', False) @@ -464,7 +465,7 @@ class ValgrindDependency(PkgConfigDependency): return [] -class ZlibSystemDependency(ExternalDependency): +class ZlibSystemDependency(SystemDependency): def __init__(self, name: str, environment: 'Environment', kwargs: T.Dict[str, T.Any]): super().__init__(name, environment, kwargs) @@ -513,7 +514,7 @@ class ZlibSystemDependency(ExternalDependency): return [DependencyMethods.SYSTEM] -class JDKSystemDependency(ExternalDependency): +class JDKSystemDependency(SystemDependency): def __init__(self, environment: 'Environment', kwargs: T.Dict[str, T.Any]): super().__init__('jdk', environment, kwargs) diff --git a/mesonbuild/dependencies/dub.py b/mesonbuild/dependencies/dub.py index d96825e..8dfb486 100644 --- a/mesonbuild/dependencies/dub.py +++ b/mesonbuild/dependencies/dub.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from .base import ExternalDependency, DependencyException, DependencyMethods +from .base import ExternalDependency, DependencyException, DependencyMethods, DependencyTypeName from .pkgconfig import PkgConfigDependency from ..mesonlib import Popen_safe from ..programs import ExternalProgram @@ -32,7 +32,7 @@ class DubDependency(ExternalDependency): class_dubbin = None def __init__(self, name: str, environment: 'Environment', kwargs: T.Dict[str, T.Any]): - super().__init__('dub', environment, kwargs, language='d') + super().__init__(DependencyTypeName('dub'), environment, kwargs, language='d') self.name = name self.module_path: T.Optional[str] = None diff --git a/mesonbuild/dependencies/factory.py b/mesonbuild/dependencies/factory.py index d0ecc5e..9ee5bfd 100644 --- a/mesonbuild/dependencies/factory.py +++ b/mesonbuild/dependencies/factory.py @@ -1,4 +1,5 @@ # Copyright 2013-2021 The Meson development team +# Copyright © 2021 Intel Corporation # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,15 +13,17 @@ # See the License for the specific language governing permissions and # limitations under the License. -from .base import Dependency, ExternalDependency +import functools +import typing as T + +from ..mesonlib import MachineChoice from .base import DependencyException, DependencyMethods +from .base import ExternalDependency from .base import process_method_kw from .cmake import CMakeDependency from .framework import ExtraFrameworkDependency from .pkgconfig import PkgConfigDependency -from ..mesonlib import MachineChoice -import functools -import typing as T +from .system import SystemDependency if T.TYPE_CHECKING: from ..environment import Environment @@ -78,7 +81,7 @@ class DependencyFactory: configtool_class: 'T.Optional[T.Type[ConfigToolDependency]]' = None, framework_name: T.Optional[str] = None, framework_class: 'T.Type[ExtraFrameworkDependency]' = ExtraFrameworkDependency, - system_class: 'T.Type[ExternalDependency]' = ExternalDependency): + system_class: 'T.Type[SystemDependency]' = SystemDependency): if DependencyMethods.CONFIG_TOOL in methods and not configtool_class: raise DependencyException('A configtool must have a custom class') diff --git a/mesonbuild/dependencies/framework.py b/mesonbuild/dependencies/framework.py index 2ef33c8..4822398 100644 --- a/mesonbuild/dependencies/framework.py +++ b/mesonbuild/dependencies/framework.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from .base import ExternalDependency, DependencyException, DependencyMethods +from .base import DependencyTypeName, ExternalDependency, DependencyException, DependencyMethods from ..mesonlib import MesonException, Version, stringlistify from .. import mlog from pathlib import Path @@ -26,7 +26,7 @@ class ExtraFrameworkDependency(ExternalDependency): def __init__(self, name: str, env: 'Environment', kwargs: T.Dict[str, T.Any], language: T.Optional[str] = None) -> None: paths = stringlistify(kwargs.get('paths', [])) - super().__init__('extraframeworks', env, kwargs, language=language) + super().__init__(DependencyTypeName('extraframeworks'), env, kwargs, language=language) self.name = name # Full path to framework directory self.framework_path: T.Optional[str] = None diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py index 1dadb51..eb712b1 100644 --- a/mesonbuild/dependencies/misc.py +++ b/mesonbuild/dependencies/misc.py @@ -20,15 +20,15 @@ import re import sysconfig import typing as T -from .. import mlog from .. import mesonlib +from .. import mlog from ..environment import detect_cpu_family - -from .base import DependencyException, DependencyMethods, ExternalDependency +from .base import DependencyException, DependencyMethods from .cmake import CMakeDependency from .configtool import ConfigToolDependency -from .pkgconfig import PkgConfigDependency from .factory import DependencyFactory, factory_methods +from .pkgconfig import PkgConfigDependency +from .system import SystemDependency if T.TYPE_CHECKING: from ..environment import Environment, MachineChoice @@ -60,7 +60,7 @@ def netcdf_factory(env: 'Environment', return candidates -class OpenMPDependency(ExternalDependency): +class OpenMPDependency(SystemDependency): # Map date of specification release (which is the macro value) to a version. VERSIONS = { '201811': '5.0', @@ -112,7 +112,7 @@ class OpenMPDependency(ExternalDependency): mlog.log(mlog.yellow('WARNING:'), 'OpenMP found but omp.h missing.') -class ThreadDependency(ExternalDependency): +class ThreadDependency(SystemDependency): def __init__(self, name: str, environment: 'Environment', kwargs: T.Dict[str, T.Any]) -> None: super().__init__(name, environment, kwargs) self.is_found = True @@ -130,7 +130,7 @@ class ThreadDependency(ExternalDependency): return [DependencyMethods.AUTO, DependencyMethods.CMAKE] -class BlocksDependency(ExternalDependency): +class BlocksDependency(SystemDependency): def __init__(self, environment: 'Environment', kwargs: T.Dict[str, T.Any]) -> None: super().__init__('blocks', environment, kwargs) self.name = 'blocks' @@ -163,7 +163,7 @@ class BlocksDependency(ExternalDependency): self.is_found = True -class Python3DependencySystem(ExternalDependency): +class Python3DependencySystem(SystemDependency): def __init__(self, name: str, environment: 'Environment', kwargs: T.Dict[str, T.Any]) -> None: super().__init__(name, environment, kwargs) @@ -379,7 +379,7 @@ class GpgmeDependencyConfigTool(ConfigToolDependency): return [DependencyMethods.PKGCONFIG, DependencyMethods.CONFIG_TOOL] -class ShadercDependency(ExternalDependency): +class ShadercDependency(SystemDependency): def __init__(self, environment: 'Environment', kwargs: T.Dict[str, T.Any]): super().__init__('shaderc', environment, kwargs) @@ -428,7 +428,7 @@ class CursesConfigToolDependency(ConfigToolDependency): self.link_args = self.get_config_value(['--libs'], 'link_args') -class CursesSystemDependency(ExternalDependency): +class CursesSystemDependency(SystemDependency): """Curses dependency the hard way. diff --git a/mesonbuild/dependencies/mpi.py b/mesonbuild/dependencies/mpi.py index f0533b5..8985b79 100644 --- a/mesonbuild/dependencies/mpi.py +++ b/mesonbuild/dependencies/mpi.py @@ -17,11 +17,12 @@ import typing as T import os import re -from .base import DependencyMethods, detect_compiler, ExternalDependency +from ..environment import detect_cpu_family +from .base import DependencyMethods, detect_compiler from .configtool import ConfigToolDependency -from .pkgconfig import PkgConfigDependency from .factory import factory_methods -from ..environment import detect_cpu_family +from .pkgconfig import PkgConfigDependency +from .system import SystemDependency if T.TYPE_CHECKING: from .factory import DependencyGenerator @@ -200,7 +201,7 @@ class OpenMPIConfigToolDependency(_MPIConfigToolDependency): return out -class MSMPIDependency(ExternalDependency): +class MSMPIDependency(SystemDependency): """The Microsoft MPI.""" diff --git a/mesonbuild/dependencies/pkgconfig.py b/mesonbuild/dependencies/pkgconfig.py index 64150e8..be5412e 100644 --- a/mesonbuild/dependencies/pkgconfig.py +++ b/mesonbuild/dependencies/pkgconfig.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from .base import ExternalDependency, DependencyException, DependencyMethods, sort_libpaths +from .base import ExternalDependency, DependencyException, DependencyMethods, sort_libpaths, DependencyTypeName from ..mesonlib import LibType, MachineChoice, OptionKey, OrderedSet, PerMachine, Popen_safe from ..programs import find_external_program, ExternalProgram from .. import mlog @@ -36,7 +36,7 @@ class PkgConfigDependency(ExternalDependency): ] = {} def __init__(self, name: str, environment: 'Environment', kwargs: T.Dict[str, T.Any], language: T.Optional[str] = None) -> None: - super().__init__('pkgconfig', environment, kwargs, language=language) + super().__init__(DependencyTypeName('pkgconfig'), environment, kwargs, language=language) self.name = name self.is_libtool = False # Store a copy of the pkg-config path on the object itself so it is diff --git a/mesonbuild/dependencies/platform.py b/mesonbuild/dependencies/platform.py index 816e32f..7759b0f 100644 --- a/mesonbuild/dependencies/platform.py +++ b/mesonbuild/dependencies/platform.py @@ -15,7 +15,7 @@ # This file contains the detection logic for external dependencies that are # platform-specific (generally speaking). -from .base import ExternalDependency, DependencyException +from .base import DependencyTypeName, ExternalDependency, DependencyException from ..mesonlib import MesonException import typing as T @@ -24,7 +24,7 @@ if T.TYPE_CHECKING: class AppleFrameworks(ExternalDependency): def __init__(self, env: 'Environment', kwargs: T.Dict[str, T.Any]) -> None: - super().__init__('appleframeworks', env, kwargs) + super().__init__(DependencyTypeName('appleframeworks'), env, kwargs) modules = kwargs.get('modules', []) if isinstance(modules, str): modules = [modules] diff --git a/mesonbuild/dependencies/system.py b/mesonbuild/dependencies/system.py new file mode 100644 index 0000000..afde872 --- /dev/null +++ b/mesonbuild/dependencies/system.py @@ -0,0 +1,29 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright © 2021 Intel Corporation + +from .base import DependencyTypeName, ExternalDependency, DependencyMethods +import typing as T + +if T.TYPE_CHECKING: + from ..environment import Environment + +__all__ = [ + 'SystemDependency', +] + + +class SystemDependency(ExternalDependency): + + """Dependency base for System type dependencies.""" + + def __init__(self, name: str, env: 'Environment', kwargs: T.Dict[str, T.Any], + language: T.Optional[str] = None) -> None: + super().__init__(DependencyTypeName('system'), env, kwargs, language=language) + self.name = name + + @staticmethod + def get_methods() -> T.List[DependencyMethods]: + return [DependencyMethods.SYSTEM] + + def log_tried(self) -> str: + return 'system' diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py index 4eefd6e..1646ddf 100644 --- a/mesonbuild/dependencies/ui.py +++ b/mesonbuild/dependencies/ui.py @@ -25,16 +25,16 @@ from ..mesonlib import ( ) from ..environment import detect_cpu_family -from .base import DependencyException, DependencyMethods -from .base import ExternalDependency +from .base import DependencyException, DependencyMethods, DependencyTypeName from .configtool import ConfigToolDependency from .factory import DependencyFactory +from .system import SystemDependency if T.TYPE_CHECKING: from ..environment import Environment -class GLDependencySystem(ExternalDependency): +class GLDependencySystem(SystemDependency): def __init__(self, name: str, environment: 'Environment', kwargs: T.Dict[str, T.Any]) -> None: super().__init__(name, environment, kwargs) @@ -196,7 +196,7 @@ class WxDependency(ConfigToolDependency): return candidates -class VulkanDependencySystem(ExternalDependency): +class VulkanDependencySystem(SystemDependency): def __init__(self, name: str, environment: 'Environment', kwargs: T.Dict[str, T.Any], language: T.Optional[str] = None) -> None: super().__init__(name, environment, kwargs, language=language) @@ -233,7 +233,8 @@ class VulkanDependencySystem(ExternalDependency): if not os.path.isfile(header): raise DependencyException('VULKAN_SDK point to invalid directory (no include)') - self.type_name = 'vulkan_sdk' + # XXX: this is very odd, and may deserve being removed + self.type_name = DependencyTypeName('vulkan_sdk') self.is_found = True self.compile_args.append('-I' + inc_path) self.link_args.append('-L' + lib_path) @@ -246,7 +247,6 @@ class VulkanDependencySystem(ExternalDependency): # simply try to guess it, usually works on linux libs = self.clib_compiler.find_library('vulkan', environment, []) if libs is not None and self.clib_compiler.has_header('vulkan/vulkan.h', '', environment, disable_cache=True)[0]: - self.type_name = 'system' self.is_found = True for lib in libs: self.link_args.append(lib) diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py index 0e3df9b..94e100b 100644 --- a/mesonbuild/modules/python.py +++ b/mesonbuild/modules/python.py @@ -30,17 +30,15 @@ from ..interpreter import ExternalProgramHolder, extract_required_kwarg, permitt from ..build import known_shmod_kwargs from .. import mlog from ..environment import detect_cpu_family -from ..dependencies import ( - DependencyMethods, ExternalDependency, - PkgConfigDependency, NotFoundDependency -) +from ..dependencies import DependencyMethods, PkgConfigDependency, NotFoundDependency +from ..dependencies.system import SystemDependency from ..programs import ExternalProgram, NonExistingExternalProgram mod_kwargs = {'subdir'} mod_kwargs.update(known_shmod_kwargs) mod_kwargs -= {'name_prefix', 'name_suffix'} -class PythonDependency(ExternalDependency): +class PythonDependency(SystemDependency): def __init__(self, python_holder, environment, kwargs): super().__init__('python', environment, kwargs) diff --git a/run_mypy.py b/run_mypy.py index 79651d9..00daac6 100755 --- a/run_mypy.py +++ b/run_mypy.py @@ -58,8 +58,8 @@ def check_mypy() -> None: print('Failed import mypy') sys.exit(1) from mypy.version import __version__ as mypy_version - if not version_compare(mypy_version, '>=0.902'): - print('mypy >=0.902 is required, older versions report spurious errors') + if not version_compare(mypy_version, '>=0.812'): + print('mypy >=0.812 is required, older versions report spurious errors') sys.exit(1) def main() -> int: diff --git a/test cases/failing/68 wrong boost module/test.json b/test cases/failing/68 wrong boost module/test.json index 9ef1b0f..9edd452 100644 --- a/test cases/failing/68 wrong boost module/test.json +++ b/test cases/failing/68 wrong boost module/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/68 wrong boost module/meson.build:9:0: ERROR: Dependency \"boost\" not found" + "line": "test cases/failing/68 wrong boost module/meson.build:9:0: ERROR: Dependency \"boost\" not found, tried system" } ] } |