diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-08-17 12:23:44 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-08-17 12:23:44 +0100 |
commit | 4d6e1311ded368813dc93f130293f64148e22c45 (patch) | |
tree | 966c774d10cd502da9a136e2d595f430efb0850d /dev-python/mypy | |
parent | 2ca31eebd5b7496656193e0aa6ae39200d69a017 (diff) |
gentoo auto-resync : 17:08:2024 - 12:23:44
Diffstat (limited to 'dev-python/mypy')
-rw-r--r-- | dev-python/mypy/Manifest | 7 | ||||
-rw-r--r-- | dev-python/mypy/files/mypy-1.10.1-py313.patch | 153 | ||||
-rw-r--r-- | dev-python/mypy/mypy-1.10.1.ebuild | 133 | ||||
-rw-r--r-- | dev-python/mypy/mypy-1.11.0.ebuild | 126 | ||||
-rw-r--r-- | dev-python/mypy/mypy-1.11.1.ebuild | 2 |
5 files changed, 2 insertions, 419 deletions
diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest index e6518867d603..eb3c0960c0ad 100644 --- a/dev-python/mypy/Manifest +++ b/dev-python/mypy/Manifest @@ -1,8 +1,3 @@ -AUX mypy-1.10.1-py313.patch 5922 BLAKE2B 3dd0e1feb0351f9b83424c0b9e31ddee82134332c8610f9a211c815701019a3e760a0d3656eb9457f5de0a72d4d0bcfe1bec489462b905b739aa66e25c6c0765 SHA512 f944d7b3e44ed84a8bc7cf333e5806dedf9d9989bb5d356acca088209c0d425abd01c87bd88307771bb3a4e44d4e54124bdd1750dce5bde24ac02f64a02aef7d -DIST mypy-1.10.1.gh.tar.gz 3062383 BLAKE2B 326fb33e42ad8920a235e510b3d39663f333dc46d0dd3ffc59f4604e9a4f29f0be95f73bac42166aae00b53987d6a2a54446f1f58033dce389c43044dbaa9cdd SHA512 10d29ae145d71911dc7c9b4538371bf1caa64f333984ab3a4cbf9561d7c4e752c68380496489f56d0941f143d6684d84d28f157be578d6f55f1e81d3d47b204c -DIST mypy-1.11.0.gh.tar.gz 3121990 BLAKE2B 8c48580a01d0e2795a8aebcba3e6a6be707e411396dc607eeb1942958c993a504d57a778cb9d25b7a0d78921f577331018b3a425864fa764c71728e8cd6e1265 SHA512 87fded2b6cdbd77a0d34df14b4d6b1824ec84030602ceb655550ec34ded159eabc3c30ad0a2e151fa5a2389227e776f50a25c80dae42f1ae608af32098e5ea02 DIST mypy-1.11.1.gh.tar.gz 3122001 BLAKE2B 6b4db9a363190177b96ea807538f1582071b213eae816ff55723c22de098e7ff2745e433a8a174fe3ebb6a9ed66f8ac75917883dfa027bdd7bca750a7517478e SHA512 8baa916ffe7e37c54c6dac98241441cc615ea8f847ebe3d12f41912d4a596ca47068d4fb0460e3bfc4b020ad7d2580814422b9dc3a22830c9031cec4111e3aab -EBUILD mypy-1.10.1.ebuild 4085 BLAKE2B efcafe6d6c7e7f39bed5598762a8da52f23ae92d581379b5df79e334e47cf72f9cea2bb81f36bd90e6e8e36265390a6fbda18e693a8479e2fb37fa80c93a5ae6 SHA512 aaab3aac1a29923942dc0d7388bd4827ef1b49c6fc254d553b57d471e6bf522114658c1b3e2ad6f882896d2667c9833ae99c286eec63fb4f098214360e345f0f -EBUILD mypy-1.11.0.ebuild 3909 BLAKE2B 35f768540345e569c38fde1cd6f8bc463a36fb493757e8769135d9bc87f86f67c35fc000b41cff7d73da31c790831a99361d877d54f03aa7e944fa2f23c5347b SHA512 1b75547b7461cfcb885708ebbf564de37c938d12acbd185f816180da91da9e33fd947e3f2db789e0658dace34997e83d20a8b17ffb25e3f2a3673e426a701424 -EBUILD mypy-1.11.1.ebuild 3909 BLAKE2B 35f768540345e569c38fde1cd6f8bc463a36fb493757e8769135d9bc87f86f67c35fc000b41cff7d73da31c790831a99361d877d54f03aa7e944fa2f23c5347b SHA512 1b75547b7461cfcb885708ebbf564de37c938d12acbd185f816180da91da9e33fd947e3f2db789e0658dace34997e83d20a8b17ffb25e3f2a3673e426a701424 +EBUILD mypy-1.11.1.ebuild 3905 BLAKE2B 1150897e24c51af84c5f7af491ce109393090b835f78936aba7c98c77d513b550520c6a4e3fdde6161d34fa504c76e797792c07c8d41637bbf9e270ea337e13f SHA512 18b4170b35653647092c8bee866d201fe53743b2681651d422316258ec36ded52353001beabc464809d4a5716a1fbba6d91d9c8164733a4b57f325f55db7fe29 MISC metadata.xml 661 BLAKE2B df57cc2dfde5b112f8c26b51ca5cc9e7727d318ee274ea7e1abf448819daf0307f471aeb7c32b19f20e87ce1ccffd47a5529415003765c275523e1b5236f3bb1 SHA512 eddd19c4b0b5211f73f9619f388a799ced108b62bb43d852ed2d01d0b1717e7b9ef118d34b9d61db543c7b47080fb8058c3d35f7359cc456069636f357e080c9 diff --git a/dev-python/mypy/files/mypy-1.10.1-py313.patch b/dev-python/mypy/files/mypy-1.10.1-py313.patch deleted file mode 100644 index 5b9932852e19..000000000000 --- a/dev-python/mypy/files/mypy-1.10.1-py313.patch +++ /dev/null @@ -1,153 +0,0 @@ -From 29b4303e905f43556043efde95e19f32e04df9a5 Mon Sep 17 00:00:00 2001 -From: Jelle Zijlstra <jelle.zijlstra@gmail.com> -Date: Fri, 24 May 2024 21:00:17 -0700 -Subject: [PATCH] Fix stubgen for Python 3.13 - -__firstlineno__ and __static_attributes__ are new in 3.13. -__annotate__ will be new in 3.14, so we might as well add it now. ---- - mypy/stubgenc.py | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/mypy/stubgenc.py b/mypy/stubgenc.py -index 29b2636d39cc..7e3ef49c6e9a 100755 ---- a/mypy/stubgenc.py -+++ b/mypy/stubgenc.py -@@ -466,6 +466,9 @@ def is_skipped_attribute(self, attr: str) -> bool: - "__module__", - "__weakref__", - "__annotations__", -+ "__firstlineno__", -+ "__static_attributes__", -+ "__annotate__", - ) - or attr in self.IGNORED_DUNDERS - or is_pybind_skipped_attribute(attr) # For pickling -From 071e3f5f4685470f55dab7fc474e9f89a8e49fb9 Mon Sep 17 00:00:00 2001 -From: hauntsaninja <hauntsaninja@gmail.com> -Date: Fri, 17 May 2024 18:49:27 -0400 -Subject: [PATCH] stubtest: changes for py313 - -Technically it feels like we should be able to put the new dunders on -`type` or something, but that wasn't enough to make false positives go -away. But also we might not want to do that because it only applies to -pure Python types ---- - mypy/stubtest.py | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/mypy/stubtest.py b/mypy/stubtest.py -index dd43c472d67f..d78b71715159 100644 ---- a/mypy/stubtest.py -+++ b/mypy/stubtest.py -@@ -634,6 +634,10 @@ def strip_prefix(s: str, prefix: str) -> str: - if strip_prefix(stub_arg.variable.name, "__") == runtime_arg.name: - return - -+ nonspecific_names = {"object", "args"} -+ if runtime_arg.name in nonspecific_names: -+ return -+ - def names_approx_match(a: str, b: str) -> bool: - a = a.strip("_") - b = b.strip("_") -@@ -1455,6 +1459,8 @@ def verify_typealias( - "__getattr__", # resulting behaviour might be typed explicitly - "__setattr__", # defining this on a class can cause worse type checking - "__vectorcalloffset__", # undocumented implementation detail of the vectorcall protocol -+ "__firstlineno__", -+ "__static_attributes__", - # isinstance/issubclass hooks that type-checkers don't usually care about - "__instancecheck__", - "__subclasshook__", -diff --git a/mypy/plugins/dataclasses.py b/mypy/plugins/dataclasses.py -index dd2eceab217f..edfc6840fc37 100644 ---- a/mypy/plugins/dataclasses.py -+++ b/mypy/plugins/dataclasses.py -@@ -385,6 +385,9 @@ def transform(self) -> bool: - - self._add_dataclass_fields_magic_attribute() - self._add_internal_replace_method(attributes) -+ if self._api.options.python_version >= (3, 13): -+ self._add_dunder_replace(attributes) -+ - if "__post_init__" in info.names: - self._add_internal_post_init_method(attributes) - -@@ -395,6 +398,18 @@ def transform(self) -> bool: - - return True - -+ def _add_dunder_replace(self, attributes: list[DataclassAttribute]) -> None: -+ """Add a `__replace__` method to the class, which is used to replace attributes in the `copy` module.""" -+ args = [attr.to_argument(self._cls.info, of="replace") for attr in attributes] -+ type_vars = [tv for tv in self._cls.type_vars] -+ add_method_to_class( -+ self._api, -+ self._cls, -+ "__replace__", -+ args=args, -+ return_type=Instance(self._cls.info, type_vars), -+ ) -+ - def _add_internal_replace_method(self, attributes: list[DataclassAttribute]) -> None: - """ - Stashes the signature of 'dataclasses.replace(...)' for this specific dataclass -From 160a9c767324460e916978d49f8d770738572119 Mon Sep 17 00:00:00 2001 -From: hauntsaninja <hauntsaninja@gmail.com> -Date: Fri, 17 May 2024 18:23:01 -0400 -Subject: [PATCH 1/2] Support namedtuple.__replace__ in Python 3.13 - ---- - mypy/semanal_namedtuple.py | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/mypy/semanal_namedtuple.py b/mypy/semanal_namedtuple.py -index 9a0be9d9c14c..bdd633a60635 100644 ---- a/mypy/semanal_namedtuple.py -+++ b/mypy/semanal_namedtuple.py -@@ -599,6 +599,12 @@ def add_method( - ret=selftype, - args=[Argument(var, var.type, EllipsisExpr(), ARG_NAMED_OPT) for var in vars], - ) -+ if self.options.python_version >= (3, 13): -+ add_method( -+ "__replace__", -+ ret=selftype, -+ args=[Argument(var, var.type, EllipsisExpr(), ARG_NAMED_OPT) for var in vars], -+ ) - - def make_init_arg(var: Var) -> Argument: - default = default_items.get(var.name, None) - -From 9fcaedb9f757595486ed231dbdb9433151ec669d Mon Sep 17 00:00:00 2001 -From: hauntsaninja <hauntsaninja@gmail.com> -Date: Sat, 18 May 2024 18:40:09 -0400 -Subject: [PATCH 2/2] . - ---- - test-data/unit/check-namedtuple.test | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/test-data/unit/check-namedtuple.test b/test-data/unit/check-namedtuple.test -index 23e109e1af78..b2ba69abb045 100644 ---- a/test-data/unit/check-namedtuple.test -+++ b/test-data/unit/check-namedtuple.test -@@ -1376,3 +1376,17 @@ class Test3(NamedTuple, metaclass=type): # E: Unexpected keyword argument "meta - ... - [builtins fixtures/tuple.pyi] - [typing fixtures/typing-namedtuple.pyi] -+ -+ -+[case testNamedTupleDunderReplace] -+# flags: --python-version 3.13 -+from typing import NamedTuple -+ -+class A(NamedTuple): -+ x: int -+ -+A(x=0).__replace__(x=1) -+A(x=0).__replace__(x="asdf") # E: Argument "x" to "__replace__" of "A" has incompatible type "str"; expected "int" -+A(x=0).__replace__(y=1) # E: Unexpected keyword argument "y" for "__replace__" of "A" -+[builtins fixtures/tuple.pyi] -+[typing fixtures/typing-namedtuple.pyi] diff --git a/dev-python/mypy/mypy-1.10.1.ebuild b/dev-python/mypy/mypy-1.10.1.ebuild deleted file mode 100644 index 0505523cc39f..000000000000 --- a/dev-python/mypy/mypy-1.10.1.ebuild +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} ) - -inherit distutils-r1 - -DESCRIPTION="Optional static typing for Python" -HOMEPAGE=" - https://www.mypy-lang.org/ - https://github.com/python/mypy/ - https://pypi.org/project/mypy/ -" -SRC_URI=" - https://github.com/python/mypy/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86" -IUSE="+native-extensions" - -# stubgen collides with this package: https://bugs.gentoo.org/585594 -RDEPEND=" - !dev-util/stubgen - >=dev-python/psutil-4[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}] - >=dev-python/mypy_extensions-1.0.0[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/tomli[${PYTHON_USEDEP}] - ' 3.10) -" -BDEPEND=" - native-extensions? ( - ${RDEPEND} - dev-python/types-psutil[${PYTHON_USEDEP}] - dev-python/types-setuptools[${PYTHON_USEDEP}] - ) - test? ( - >=dev-python/attrs-18.0[${PYTHON_USEDEP}] - >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}] - >=dev-python/lxml-4.9.1[${PYTHON_USEDEP}] - ) -" - -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -PATCHES=( - # https://github.com/python/mypy/pull/17259 - # https://github.com/python/mypy/pull/17261 - # https://github.com/python/mypy/pull/17290 - "${FILESDIR}/${P}-py313.patch" -) - -# frustratingly, mypyc produces non-deterministic output. If ccache is enabled it will be a waste of time, -# but simultaneously it might trash your system and fill up the cache with a giant wave of non-reproducible -# test files (https://github.com/mypyc/mypyc/issues/1014) -export CCACHE_DISABLE=1 - -python_compile() { - local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0) - case ${EPYTHON} in - python3.13) - # https://github.com/mypyc/mypyc/issues/1056 - MYPY_USE_MYPYC=0 - ;; - esac - distutils-r1_python_compile -} - -python_test() { - local EPYTEST_DESELECT=( - # the majority of them require Internet (via pip) - mypy/test/testpep561.py - # known broken with assertions enabled - # https://github.com/python/mypy/issues/16043 - mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance - mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps - # these assume that types-docutils are not installed - mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testIgnoreImportIfNoPython3StubAvailable - mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testNoPython3StubAvailable - # TODO - mypy/test/meta/test_parse_data.py - mypy/test/meta/test_update_data.py - mypy/test/teststubtest.py::StubtestUnit::test_runtime_typing_objects - ) - case ${EPYTHON} in - python3.12) - EPYTEST_DESELECT+=( - # more assertions, sigh - mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps - mypyc/test/test_run.py::TestRun::run-i64.test::testI64BasicOps - mypyc/test/test_run.py::TestRun::run-i64.test::testI64DefaultArgValues - mypyc/test/test_run.py::TestRun::run-i64.test::testI64ErrorValuesAndUndefined - ) - ;; - python3.13) - EPYTEST_DESELECT+=( - # https://github.com/mypyc/mypyc/issues/1056 - mypyc/test - # requires typeshed update - mypy/test/teststubtest.py::StubtestUnit::test_type_alias - ) - ;; - esac - - # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests - # fail with high COLUMNS values - local -x COLUMNS=80 - - # The tests depend on having in-source compiled extensions if you want to - # test those compiled extensions. Various crucial test dependencies aren't - # installed. Even pyproject.toml is needed because that's where pytest args - # are in. Hack them into the build directory and delete them afterwards. - # See: https://github.com/python/mypy/issues/16143 - local -x MYPY_TEST_PREFIX="${S}" - cd "${BUILD_DIR}/install$(python_get_sitedir)" || die - cp -r "${S}"/{conftest.py,pyproject.toml} . || die - - local failed= - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - nonfatal epytest || failed=1 - - rm conftest.py pyproject.toml || die - - [[ ${failed} ]] && die "epytest failed with ${EPYTHON}" -} diff --git a/dev-python/mypy/mypy-1.11.0.ebuild b/dev-python/mypy/mypy-1.11.0.ebuild deleted file mode 100644 index 81a7e950a754..000000000000 --- a/dev-python/mypy/mypy-1.11.0.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} ) - -inherit distutils-r1 - -DESCRIPTION="Optional static typing for Python" -HOMEPAGE=" - https://www.mypy-lang.org/ - https://github.com/python/mypy/ - https://pypi.org/project/mypy/ -" -SRC_URI=" - https://github.com/python/mypy/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" -IUSE="+native-extensions" - -# stubgen collides with this package: https://bugs.gentoo.org/585594 -RDEPEND=" - !dev-util/stubgen - >=dev-python/psutil-4[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}] - >=dev-python/mypy_extensions-1.0.0[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/tomli[${PYTHON_USEDEP}] - ' 3.10) -" -BDEPEND=" - native-extensions? ( - ${RDEPEND} - dev-python/types-psutil[${PYTHON_USEDEP}] - dev-python/types-setuptools[${PYTHON_USEDEP}] - ) - test? ( - >=dev-python/attrs-18.0[${PYTHON_USEDEP}] - >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}] - >=dev-python/lxml-4.9.1[${PYTHON_USEDEP}] - ) -" - -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -# frustratingly, mypyc produces non-deterministic output. If ccache is enabled it will be a waste of time, -# but simultaneously it might trash your system and fill up the cache with a giant wave of non-reproducible -# test files (https://github.com/mypyc/mypyc/issues/1014) -export CCACHE_DISABLE=1 - -python_compile() { - local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0) - case ${EPYTHON} in - python3.13) - # https://github.com/mypyc/mypyc/issues/1056 - MYPY_USE_MYPYC=0 - ;; - esac - distutils-r1_python_compile -} - -python_test() { - local EPYTEST_DESELECT=( - # the majority of them require Internet (via pip) - mypy/test/testpep561.py - # known broken with assertions enabled - # https://github.com/python/mypy/issues/16043 - mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance - mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps - # these assume that types-docutils are not installed - mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testIgnoreImportIfNoPython3StubAvailable - mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testNoPython3StubAvailable - # TODO - mypy/test/meta/test_parse_data.py - mypy/test/meta/test_update_data.py - mypy/test/teststubtest.py::StubtestUnit::test_runtime_typing_objects - ) - case ${EPYTHON} in - python3.12) - EPYTEST_DESELECT+=( - # more assertions, sigh - mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps - mypyc/test/test_run.py::TestRun::run-i64.test::testI64BasicOps - mypyc/test/test_run.py::TestRun::run-i64.test::testI64DefaultArgValues - mypyc/test/test_run.py::TestRun::run-i64.test::testI64ErrorValuesAndUndefined - ) - ;; - python3.13) - EPYTEST_DESELECT+=( - # https://github.com/mypyc/mypyc/issues/1056 - mypyc/test - # requires typeshed update - mypy/test/teststubtest.py::StubtestUnit::test_type_alias - ) - ;; - esac - - # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests - # fail with high COLUMNS values - local -x COLUMNS=80 - - # The tests depend on having in-source compiled extensions if you want to - # test those compiled extensions. Various crucial test dependencies aren't - # installed. Even pyproject.toml is needed because that's where pytest args - # are in. Hack them into the build directory and delete them afterwards. - # See: https://github.com/python/mypy/issues/16143 - local -x MYPY_TEST_PREFIX="${S}" - cd "${BUILD_DIR}/install$(python_get_sitedir)" || die - cp -r "${S}"/{conftest.py,pyproject.toml} . || die - - local failed= - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - nonfatal epytest || failed=1 - - rm conftest.py pyproject.toml || die - - [[ ${failed} ]] && die "epytest failed with ${EPYTHON}" -} diff --git a/dev-python/mypy/mypy-1.11.1.ebuild b/dev-python/mypy/mypy-1.11.1.ebuild index 81a7e950a754..906b969de108 100644 --- a/dev-python/mypy/mypy-1.11.1.ebuild +++ b/dev-python/mypy/mypy-1.11.1.ebuild @@ -22,7 +22,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86" IUSE="+native-extensions" # stubgen collides with this package: https://bugs.gentoo.org/585594 |