diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2020-11-22 04:28:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-22 04:28:19 +0200 |
commit | d27bad7d6d118cdb5a007d6efd743a8c9d48f683 (patch) | |
tree | 9a471cd5d458ed7b559efd6475d56c2bbab5c13a /mesonbuild | |
parent | 15bbf1ea7581a8a872296435b28d679c7e42a466 (diff) | |
parent | 5c602b5457bba915ad560f141e9c2b8c9ca1e7ec (diff) | |
download | meson-d27bad7d6d118cdb5a007d6efd743a8c9d48f683.zip meson-d27bad7d6d118cdb5a007d6efd743a8c9d48f683.tar.gz meson-d27bad7d6d118cdb5a007d6efd743a8c9d48f683.tar.bz2 |
Merge pull request #8011 from dcbaker/submit/post-python36-cleanups
Python 3.6 cleanups
Diffstat (limited to 'mesonbuild')
37 files changed, 37 insertions, 86 deletions
diff --git a/mesonbuild/_pathlib.py b/mesonbuild/_pathlib.py deleted file mode 100644 index aac2a1b..0000000 --- a/mesonbuild/_pathlib.py +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 2020 The Meson development team - -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at - -# http://www.apache.org/licenses/LICENSE-2.0 - -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import sys -import typing as T - -# Python 3.5 does not have the strict kwarg for resolve and always -# behaves like calling resolve with strict=True in Python 3.6+ -# -# This module emulates the behavior of Python 3.6+ by in Python 3.5 by -# overriding the resolve method with a bit of custom logic -# -# TODO: Drop this module as soon as Python 3.5 support is dropped - -if T.TYPE_CHECKING: - from pathlib import Path -else: - if sys.version_info.major <= 3 and sys.version_info.minor <= 5: - - # Inspired by https://codereview.stackexchange.com/questions/162426/subclassing-pathlib-path - import pathlib - import os - - # Can not directly inherit from pathlib.Path because the __new__ - # operator of pathlib.Path() returns a {Posix,Windows}Path object. - class Path(type(pathlib.Path())): - def resolve(self, strict: bool = False) -> 'Path': - try: - return super().resolve() - except FileNotFoundError: - if strict: - raise - return Path(os.path.normpath(str(self))) - - else: - from pathlib import Path - -from pathlib import PurePath, PureWindowsPath, PurePosixPath diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index a322d5f..b9f175a 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -14,7 +14,7 @@ from collections import OrderedDict from functools import lru_cache -from .._pathlib import Path +from pathlib import Path import enum import json import os diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 15218c1..f79e1f0 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -20,7 +20,7 @@ import subprocess from collections import OrderedDict from enum import Enum, unique import itertools -from .._pathlib import PurePath, Path +from pathlib import PurePath, Path from functools import lru_cache from . import backends diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py index 6edf36a..6d81e69 100644 --- a/mesonbuild/backend/vs2010backend.py +++ b/mesonbuild/backend/vs2010backend.py @@ -19,7 +19,7 @@ import xml.dom.minidom import xml.etree.ElementTree as ET import uuid import typing as T -from .._pathlib import Path, PurePath +from pathlib import Path, PurePath from . import backends from .. import build diff --git a/mesonbuild/cmake/client.py b/mesonbuild/cmake/client.py index 8f9456b..eeaab57 100644 --- a/mesonbuild/cmake/client.py +++ b/mesonbuild/cmake/client.py @@ -19,7 +19,7 @@ from .common import CMakeException, CMakeConfiguration, CMakeBuildFile from .. import mlog from contextlib import contextmanager from subprocess import Popen, PIPE, TimeoutExpired -from .._pathlib import Path +from pathlib import Path import typing as T import json diff --git a/mesonbuild/cmake/common.py b/mesonbuild/cmake/common.py index 4bcc4d9..0ec1698 100644 --- a/mesonbuild/cmake/common.py +++ b/mesonbuild/cmake/common.py @@ -17,7 +17,7 @@ from ..mesonlib import MesonException from .. import mlog -from .._pathlib import Path +from pathlib import Path import typing as T language_map = { diff --git a/mesonbuild/cmake/executor.py b/mesonbuild/cmake/executor.py index e11dbe9..19971e3 100644 --- a/mesonbuild/cmake/executor.py +++ b/mesonbuild/cmake/executor.py @@ -16,7 +16,7 @@ # or an interpreter-based tool. import subprocess as S -from .._pathlib import Path +from pathlib import Path from threading import Thread import typing as T import re diff --git a/mesonbuild/cmake/fileapi.py b/mesonbuild/cmake/fileapi.py index 1b6c30d..ce63219 100644 --- a/mesonbuild/cmake/fileapi.py +++ b/mesonbuild/cmake/fileapi.py @@ -15,7 +15,7 @@ from .common import CMakeException, CMakeBuildFile, CMakeConfiguration import typing as T from .. import mlog -from .._pathlib import Path +from pathlib import Path import json import re diff --git a/mesonbuild/cmake/interpreter.py b/mesonbuild/cmake/interpreter.py index e2f11a0..5797c0d 100644 --- a/mesonbuild/cmake/interpreter.py +++ b/mesonbuild/cmake/interpreter.py @@ -27,7 +27,7 @@ from ..mesondata import mesondata from ..compilers.compilers import lang_suffixes, header_suffixes, obj_suffixes, lib_suffixes, is_header from enum import Enum from functools import lru_cache -from .._pathlib import Path +from pathlib import Path import typing as T import re from os import environ diff --git a/mesonbuild/cmake/toolchain.py b/mesonbuild/cmake/toolchain.py index 52d1f10..1870445 100644 --- a/mesonbuild/cmake/toolchain.py +++ b/mesonbuild/cmake/toolchain.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from .._pathlib import Path +from pathlib import Path from ..envconfig import CMakeSkipCompilerTest from ..mesonlib import MachineChoice from .common import language_map diff --git a/mesonbuild/cmake/traceparser.py b/mesonbuild/cmake/traceparser.py index c6f2b9d..613b4b2 100644 --- a/mesonbuild/cmake/traceparser.py +++ b/mesonbuild/cmake/traceparser.py @@ -21,7 +21,7 @@ from .. import mlog from ..mesonlib import version_compare import typing as T -from .._pathlib import Path +from pathlib import Path import re import json import textwrap diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py index 036369a..db52951 100644 --- a/mesonbuild/compilers/fortran.py +++ b/mesonbuild/compilers/fortran.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from .._pathlib import Path +from pathlib import Path import typing as T import subprocess, os diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py index 3c2c53c..dca09ea 100644 --- a/mesonbuild/compilers/mixins/clike.py +++ b/mesonbuild/compilers/mixins/clike.py @@ -28,7 +28,7 @@ import os import re import subprocess import typing as T -from ..._pathlib import Path +from pathlib import Path from ... import arglist from ... import mesonlib diff --git a/mesonbuild/compilers/mixins/pgi.py b/mesonbuild/compilers/mixins/pgi.py index bc16cac..61dee8d 100644 --- a/mesonbuild/compilers/mixins/pgi.py +++ b/mesonbuild/compilers/mixins/pgi.py @@ -16,7 +16,7 @@ import typing as T import os -from ..._pathlib import Path +from pathlib import Path from ..compilers import clike_debug_args, clike_optimization_args diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py index 4dae12e..310174f 100644 --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py @@ -16,7 +16,7 @@ from . import mlog, mparser import pickle, os, uuid import sys from itertools import chain -from ._pathlib import PurePath +from pathlib import PurePath from collections import OrderedDict, defaultdict from .mesonlib import ( MesonException, EnvironmentException, MachineChoice, PerMachine, diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py index 11769c0..ebe5b62 100644 --- a/mesonbuild/dependencies/base.py +++ b/mesonbuild/dependencies/base.py @@ -27,7 +27,7 @@ import textwrap import platform import typing as T from enum import Enum -from .._pathlib import Path, PurePath +from pathlib import Path, PurePath from .. import mlog from .. import mesonlib diff --git a/mesonbuild/dependencies/boost.py b/mesonbuild/dependencies/boost.py index 404c279..370fa72 100644 --- a/mesonbuild/dependencies/boost.py +++ b/mesonbuild/dependencies/boost.py @@ -16,7 +16,7 @@ import os import re import functools import typing as T -from .._pathlib import Path +from pathlib import Path from .. import mlog from .. import mesonlib diff --git a/mesonbuild/dependencies/cuda.py b/mesonbuild/dependencies/cuda.py index 3b2612b..c04e2fc 100644 --- a/mesonbuild/dependencies/cuda.py +++ b/mesonbuild/dependencies/cuda.py @@ -16,7 +16,7 @@ import glob import re import os import typing as T -from .._pathlib import Path +from pathlib import Path from .. import mlog from .. import mesonlib diff --git a/mesonbuild/dependencies/hdf5.py b/mesonbuild/dependencies/hdf5.py index 0d3db39..21f4e71 100644 --- a/mesonbuild/dependencies/hdf5.py +++ b/mesonbuild/dependencies/hdf5.py @@ -19,7 +19,7 @@ import os import re import shutil import subprocess -from .._pathlib import Path +from pathlib import Path from ..mesonlib import OrderedSet, join_args from .base import ( diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py index f41abc8..15055aa 100644 --- a/mesonbuild/dependencies/misc.py +++ b/mesonbuild/dependencies/misc.py @@ -14,7 +14,7 @@ # This file contains the detection logic for miscellaneous external dependencies. -from .._pathlib import Path +from pathlib import Path import functools import re import sysconfig diff --git a/mesonbuild/dependencies/scalapack.py b/mesonbuild/dependencies/scalapack.py index f8b1ee1..0147e0b 100644 --- a/mesonbuild/dependencies/scalapack.py +++ b/mesonbuild/dependencies/scalapack.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from .._pathlib import Path +from pathlib import Path import functools import os import typing as T diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py index 7a6a646..db1041f 100644 --- a/mesonbuild/envconfig.py +++ b/mesonbuild/envconfig.py @@ -19,7 +19,7 @@ from enum import Enum from . import mesonlib from .mesonlib import EnvironmentException, MachineChoice, PerMachine, split_args from . import mlog -from ._pathlib import Path +from pathlib import Path _T = T.TypeVar('_T') diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index eaea267..5337984 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -36,7 +36,7 @@ from .modules import ModuleReturnValue, ExtensionModule from .cmake import CMakeInterpreter from .backend.backends import TestProtocol, Backend -from ._pathlib import Path, PurePath +from pathlib import Path, PurePath import os import shutil import uuid diff --git a/mesonbuild/mcompile.py b/mesonbuild/mcompile.py index aa6afb9..1e58207 100644 --- a/mesonbuild/mcompile.py +++ b/mesonbuild/mcompile.py @@ -21,7 +21,7 @@ import sys import shutil import typing as T from collections import defaultdict -from ._pathlib import Path +from pathlib import Path from . import mlog from . import mesonlib diff --git a/mesonbuild/mdist.py b/mesonbuild/mdist.py index f6ca0c0..6985ca9 100644 --- a/mesonbuild/mdist.py +++ b/mesonbuild/mdist.py @@ -21,7 +21,7 @@ import subprocess import hashlib import json from glob import glob -from ._pathlib import Path +from pathlib import Path from mesonbuild.environment import detect_ninja from mesonbuild.mesonlib import windows_proof_rmtree, MesonException from mesonbuild.wrap import wrap diff --git a/mesonbuild/mesondata.py b/mesonbuild/mesondata.py index b44b001..34c0fbd 100644 --- a/mesonbuild/mesondata.py +++ b/mesonbuild/mesondata.py @@ -20,7 +20,7 @@ # TODO: Remember to remove this also from tools/gen_data.py -from ._pathlib import Path +from pathlib import Path import typing as T if T.TYPE_CHECKING: diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py index 352c5ca..921a337 100644 --- a/mesonbuild/mesonlib.py +++ b/mesonbuild/mesonlib.py @@ -13,7 +13,7 @@ # limitations under the License. """A library of random helper functionality.""" -from ._pathlib import Path +from pathlib import Path import sys import stat import time @@ -1211,7 +1211,7 @@ def Popen_safe(args: T.List[str], write: T.Optional[str] = None, # up the console and ANSI colors will stop working on Windows. if 'stdin' not in kwargs: kwargs['stdin'] = subprocess.DEVNULL - if sys.version_info < (3, 6) or not sys.stdout.encoding or encoding.upper() != 'UTF-8': + if not sys.stdout.encoding or encoding.upper() != 'UTF-8': p, o, e = Popen_safe_legacy(args, write=write, stdout=stdout, stderr=stderr, **kwargs) else: p = subprocess.Popen(args, universal_newlines=True, close_fds=False, diff --git a/mesonbuild/minit.py b/mesonbuild/minit.py index 38954fa..4a38313 100644 --- a/mesonbuild/minit.py +++ b/mesonbuild/minit.py @@ -14,7 +14,7 @@ """Code that creates simple startup projects.""" -from ._pathlib import Path +from pathlib import Path from enum import Enum import subprocess import shutil diff --git a/mesonbuild/mintro.py b/mesonbuild/mintro.py index 924a103..d36927f 100644 --- a/mesonbuild/mintro.py +++ b/mesonbuild/mintro.py @@ -28,7 +28,7 @@ from . import mlog from .backend import backends from .mparser import BaseNode, FunctionNode, ArrayNode, ArgumentNode, StringNode from .interpreter import Interpreter -from ._pathlib import Path, PurePath +from pathlib import Path, PurePath import typing as T import os import argparse diff --git a/mesonbuild/mlog.py b/mesonbuild/mlog.py index 46e2de1..4369148 100644 --- a/mesonbuild/mlog.py +++ b/mesonbuild/mlog.py @@ -19,7 +19,7 @@ import time import platform import typing as T from contextlib import contextmanager -from ._pathlib import Path +from pathlib import Path """This is (mostly) a standalone module used to write logging information about Meson runs. Some output goes to screen, diff --git a/mesonbuild/modules/fs.py b/mesonbuild/modules/fs.py index 85088b7..5ba1e38 100644 --- a/mesonbuild/modules/fs.py +++ b/mesonbuild/modules/fs.py @@ -14,7 +14,7 @@ import typing as T import hashlib -from .._pathlib import Path, PurePath, PureWindowsPath +from pathlib import Path, PurePath, PureWindowsPath from .. import mlog from . import ExtensionModule diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py index 62e1c15..7e19d71 100644 --- a/mesonbuild/modules/pkgconfig.py +++ b/mesonbuild/modules/pkgconfig.py @@ -13,7 +13,7 @@ # limitations under the License. import os, types -from .._pathlib import PurePath +from pathlib import PurePath from .. import build from .. import dependencies diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py index bb61475..ff0df2f 100644 --- a/mesonbuild/modules/python.py +++ b/mesonbuild/modules/python.py @@ -17,7 +17,7 @@ import json import shutil import typing as T -from .._pathlib import Path +from pathlib import Path from .. import mesonlib from ..mesonlib import MachineChoice, MesonException from . import ExtensionModule diff --git a/mesonbuild/modules/unstable_external_project.py b/mesonbuild/modules/unstable_external_project.py index fdc5cbf..7bb761f 100644 --- a/mesonbuild/modules/unstable_external_project.py +++ b/mesonbuild/modules/unstable_external_project.py @@ -13,7 +13,7 @@ # limitations under the License. import os, subprocess, shlex -from .._pathlib import Path +from pathlib import Path import typing as T from . import ExtensionModule, ModuleReturnValue diff --git a/mesonbuild/msubprojects.py b/mesonbuild/msubprojects.py index 20639cb..4ab24d9 100755 --- a/mesonbuild/msubprojects.py +++ b/mesonbuild/msubprojects.py @@ -1,6 +1,6 @@ import os, subprocess import argparse -from ._pathlib import Path +from pathlib import Path from . import mlog from .mesonlib import quiet_git, verbose_git, GitException, Popen_safe, MesonException, windows_proof_rmtree diff --git a/mesonbuild/mtest.py b/mesonbuild/mtest.py index 5804303..04c1a57 100644 --- a/mesonbuild/mtest.py +++ b/mesonbuild/mtest.py @@ -14,7 +14,7 @@ # A tool to run tests in many different ways. -from ._pathlib import Path +from pathlib import Path from collections import deque, namedtuple from copy import deepcopy import argparse diff --git a/mesonbuild/wrap/wrap.py b/mesonbuild/wrap/wrap.py index 1eeb738..6d2b91a 100644 --- a/mesonbuild/wrap/wrap.py +++ b/mesonbuild/wrap/wrap.py @@ -28,7 +28,7 @@ import configparser import typing as T import textwrap -from .._pathlib import Path +from pathlib import Path from . import WrapMode from .. import coredata from ..mesonlib import quiet_git, GIT, ProgressBar, MesonException |