diff options
-rw-r--r-- | mesonbuild/coredata.py | 6 | ||||
-rw-r--r-- | mesonbuild/wrap/wrap.py | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py index e5c0287..fa20a66 100644 --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py @@ -43,6 +43,9 @@ if T.TYPE_CHECKING: KeyedOptionDictType = T.Union[T.Dict['OptionKey', 'UserOption[T.Any]'], OptionOverrideProxy] CompilerCheckCacheKey = T.Tuple[T.Tuple[str, ...], str, FileOrString, T.Tuple[str, ...], str] + # typeshed + StrOrBytesPath = T.Union[str, bytes, os.PathLike[str], os.PathLike[bytes]] + # Check major_versions_differ() if changing versioning scheme. # # Pip requires that RCs are named like this: '0.1.0.rc1' @@ -895,6 +898,9 @@ class CmdLineFileParser(configparser.ConfigParser): # storing subproject options like "subproject:option=value" super().__init__(delimiters=['='], interpolation=None) + def read(self, filenames: T.Union['StrOrBytesPath', T.Iterable['StrOrBytesPath']], encoding: str ='utf-8') -> T.List[str]: + return super().read(filenames, encoding) + def optionxform(self, option: str) -> str: # Don't call str.lower() on keys return option diff --git a/mesonbuild/wrap/wrap.py b/mesonbuild/wrap/wrap.py index 62ccc14..a42a734 100644 --- a/mesonbuild/wrap/wrap.py +++ b/mesonbuild/wrap/wrap.py @@ -121,7 +121,7 @@ class PackageDefinition: def parse_wrap(self) -> None: try: config = configparser.ConfigParser(interpolation=None) - config.read(self.filename) + config.read(self.filename, encoding='utf-8') except configparser.Error as e: raise WrapException(f'Failed to parse {self.basename}: {e!s}') self.parse_wrap_section(config) |