repo/gentoo:master commit in: dev-python/mypy/
MichaŠGórny <[email protected]>
| Newsgroups | gmane.linux.gentoo.cvs |
|---|---|
| Message-ID | <1786777641.dd47348bd2029ceca3496d31942508d3a405c9e6.mgorny@gentoo> |
commit: dd47348bd2029ceca3496d31942508d3a405c9e6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 15 05:07:05 2026 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 15 07:07:21 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd47348b
dev-python/mypy: Bump to 2.3.1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/mypy/Manifest | 1 +
dev-python/mypy/mypy-2.3.1.ebuild | 148 ++++++++++++++++++++++++++++++++++++++
2 files changed, 149 insertions(+)
diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest
index cb694adf9a4c..d8c5adfb88d5 100644
--- a/dev-python/mypy/Manifest
+++ b/dev-python/mypy/Manifest
@@ -1,3 +1,4 @@
DIST mypy-1.20.2.gh.tar.gz 3837137 BLAKE2B cc28ad8a145d27dd4f6f395496e44ed80859df634e89fe7d584975107534cf063db97817b5b94665e2b7629ca1fa67c75c0ed2978237f10d68606c33bc6e79d3 SHA512 55affb5d086b18ea16b5cc9fd4bb2fbc99987d444f2c0b6c64aaa9dd87a7790f99385b922eb6afbd5fe0c0ff0a5da9f69ab03bb3d8aac350aa5b2f85174fc130
DIST mypy-2.2.0.gh.tar.gz 3970949 BLAKE2B 975d59c31ad9127be7d490a706c9bceb06b9eb0c19e96ed9112f35626c0a615edd51f83ddd4c1a30188c58572b45768dfbdd3f3c65c670972de46f96c3427cd3 SHA512 6f8d3be955df2e3de1495c67931ec813f62c05b68969108a2ba1a978221924e860bc03b48eddf51f4efca1c8f684e2708637004f6ce457489ba6fdea31582fdb
DIST mypy-2.3.0.gh.tar.gz 4005925 BLAKE2B 72d9e55459d11729fe75e299c36dee981acb0576925bc4c4273f688bf7859736e17ccebf349bcf345f3cd1939353e1bbfe81ad655c3ba99cc08f11d3cf89cf78 SHA512 6457a9372149cb7154ea772bc3981838a7f7a51d652fefe2caa56015d7b1c1389ea069cfae6086e9840e317a97eb980548089b70b3135f5d1b1e6580298dfcbe
+DIST mypy-2.3.1.gh.tar.gz 4008667 BLAKE2B db4a2d68e4211421ef3bc308417d7aad7703507d6647793f29ef0b562e88549cfd7135249aebd279f59ca75ae0aea8cb4da39c0b8971cb0f555ce462d2e2a6df SHA512 2418744d3868aedd7fac232346cc5986eb064422168020d3428f95cbbf524e872f5977eb602d8b163a108bae7f4056545fb2ced4e1f1b5299d310e100b439922
diff --git a/dev-python/mypy/mypy-2.3.1.ebuild b/dev-python/mypy/mypy-2.3.1.ebuild
new file mode 100644
index 000000000000..2b139b6fd100
--- /dev/null
+++ b/dev-python/mypy/mypy-2.3.1.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2026 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_{12..15} python3_{14,15}t )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 optfeature
+
+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 ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="native-extensions"
+
+# stubgen collides with this package: https://bugs.gentoo.org/585594
+RDEPEND="
+ !dev-util/stubgen
+ <dev-python/ast-serialize-1[${PYTHON_USEDEP}]
+ >=dev-python/ast-serialize-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/librt-0.13.0[${PYTHON_USEDEP}]
+ >=dev-python/mypy-extensions-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+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_PLUGINS=()
+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
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.14.0-no-werror.patch
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # don't force pytest-xdist, in case user asked for EPYTEST_JOBS=1
+ sed -i -e '/addopts/s:-nauto::' pyproject.toml || die
+}
+
+python_compile() {
+ local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0)
+ 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_external.py::TestExternal::test_c_unit_test
+ mypyc/test/test_run.py::TestRun::run-async.test::testRunAsyncMiscTypesInEnvironment
+ mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps
+ mypyc/test/test_run.py::TestRun::run-classes.test::testDelException
+ mypyc/test/test_run.py::TestRun::run-classes.test::testDelForDictSubclass
+ mypyc/test/test_run.py::TestRun::run-classes.test::testSubclassDict
+ mypyc/test/test_run.py::TestRun::run-dicts.test::testDictIterationMethodsRun
+ mypyc/test/test_run.py::TestRun::run-dicts.test::testDictMethods
+ mypyc/test/test_run.py::TestRun::run-dunders.test::testDundersContainer
+ mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps
+ 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
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance
+ mypyc/test/test_run.py::TestRun::run-librt-strings.test::testLibrtStrings_librt
+ mypyc/test/test_run.py::TestRun::run-vecs-i64.test::testVecI64BasicOps_librt
+ mypyc/test/test_run.py::TestRun::run-vecs-i64.test::testVecI64BasicOps_librt_experimental
+ mypyc/test/test_run.py::TestRun::run-vecs-misc.test::testVecMiscBasicOps_librt
+ mypyc/test/test_run.py::TestRun::run-vecs-nested.test::testVecNestedBasicOps_librt
+ mypyc/test/test_run.py::TestRun::run-vecs-t.test::testVecTBasicOps_librt
+ mypyc/test/test_run.py::TestRun::run-vecs-t.test::testVecTBasicOps_librt_experimental
+ mypyc/test/test_run.py::TestRunStrictDunderTyping::run-dunders.test::testDundersContainer_dunder_typing
+ mypyc/test/test_run.py::TestRunStrictDunderTyping::run-floats.test::testFloatOps_dunder_typing
+ # 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
+ # Unknown SIGBUS, bug #967850
+ mypyc/test/test_run.py::TestRun::run-classes.test::testBufferRoundTrip_native_libs
+ )
+
+ case ${EPYTHON} in
+ python3.1[45]*)
+ EPYTEST_DESELECT+=(
+ mypyc/test/test_run.py::TestRun::run-async.test::testRunAsyncRefCounting
+ mypyc/test/test_run.py::TestRun::run-tuples.test::testNamedTupleClassSyntax
+ )
+ ;;
+ 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=
+ nonfatal epytest || failed=1
+
+ rm -r conftest.py pyproject.toml .mypy_cache || die
+
+ [[ ${failed} ]] && die "epytest failed with ${EPYTHON}"
+}
+
+pkg_postinst() {
+ optfeature "dmypy status -v support for memory use" dev-python/psutil
+}