summaryrefslogtreecommitdiff
path: root/dev-python/mypy
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-08-17 12:23:44 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-08-17 12:23:44 +0100
commit4d6e1311ded368813dc93f130293f64148e22c45 (patch)
tree966c774d10cd502da9a136e2d595f430efb0850d /dev-python/mypy
parent2ca31eebd5b7496656193e0aa6ae39200d69a017 (diff)
gentoo auto-resync : 17:08:2024 - 12:23:44
Diffstat (limited to 'dev-python/mypy')
-rw-r--r--dev-python/mypy/Manifest7
-rw-r--r--dev-python/mypy/files/mypy-1.10.1-py313.patch153
-rw-r--r--dev-python/mypy/mypy-1.10.1.ebuild133
-rw-r--r--dev-python/mypy/mypy-1.11.0.ebuild126
-rw-r--r--dev-python/mypy/mypy-1.11.1.ebuild2
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