public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-python/mypy/files/, dev-python/mypy/
@ 2020-12-22 20:06 Michał Górny
  0 siblings, 0 replies; 5+ messages in thread
From: Michał Górny @ 2020-12-22 20:06 UTC (permalink / raw
  To: gentoo-commits

commit:     c92eb6ba79949e0e51d4d2a7879c3dd7eae059ba
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 22 19:29:01 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Dec 22 20:06:00 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c92eb6ba

dev-python/mypy: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/mypy/Manifest                          |   1 -
 dev-python/mypy/files/mypy-0.782-conftest.patch   |  24 ---
 dev-python/mypy/files/mypy-0.782-py39-fixes.patch | 138 --------------
 dev-python/mypy/files/mypy-0.782-pytest-6.patch   | 210 ----------------------
 dev-python/mypy/mypy-0.782.ebuild                 |  58 ------
 5 files changed, 431 deletions(-)

diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest
index 75ba045782b..c0fe8427dd1 100644
--- a/dev-python/mypy/Manifest
+++ b/dev-python/mypy/Manifest
@@ -1,3 +1,2 @@
-DIST mypy-0.782.tar.gz 2529814 BLAKE2B c75771fb40524c2c8675236eaaddd6e39d13b4fd4f6f15f279b2e0be75eb0630987cb90f31bd7c65c4a322de4915d3a260e8f6f375b49157fea4b6362316f333 SHA512 f94433f79ea76b53ebb70589ca04ba3f39847050f73cf6deac00a3db13d742613a8ecb1a11fb84a878458025c6776b236b074e93e577c1b597e31d1300974767
 DIST mypy-0.790.tar.gz 2082487 BLAKE2B f8efcb701b4b7533306948721968c9a01ab6c6e56ec99fe6c36e35aca50b52f29f518aee2268a628539a372b8024094ef2d4d87da580b4dd667f41133351596e SHA512 be670456bb64cd197bb6a73832b7e0fd6439ae4af128212328a41cd93d9f644a82e79ffb05bf4695e99bd9788244a24916bf765cf30a6f162cf3b471f45c25b8
 DIST mypy-typeshed-5be9c91.tar.gz 583006 BLAKE2B 08ab2b6d479ccc66493524482051e825c65c0a94ea5cac8e56a8ea1dca85eda6104e4ed3188b7d5ce1ea99058019d66a21a7e270e3ad9df694be67ea1e6a7ce9 SHA512 2912bcf66e0f550941eb9c1f34979644857448a4bec478cfc0d662e9a401ade93ccfb2f57b5348504b4d6f0f23e576da609167f1ec3a0861414fc9c7dea80243

diff --git a/dev-python/mypy/files/mypy-0.782-conftest.patch b/dev-python/mypy/files/mypy-0.782-conftest.patch
deleted file mode 100644
index 08da1b1b690..00000000000
--- a/dev-python/mypy/files/mypy-0.782-conftest.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/conftest.py b/conftest.py
-new file mode 100644
-index 00000000..83a6689f
---- /dev/null
-+++ b/conftest.py
-@@ -0,0 +1,18 @@
-+import os.path
-+
-+pytest_plugins = [
-+    'mypy.test.data',
-+]
-+
-+
-+def pytest_configure(config):
-+    mypy_source_root = os.path.dirname(os.path.abspath(__file__))
-+    if os.getcwd() != mypy_source_root:
-+        os.chdir(mypy_source_root)
-+
-+
-+# This function name is special to pytest.  See
-+# http://doc.pytest.org/en/latest/writing_plugins.html#initialization-command-line-and-configuration-hooks
-+def pytest_addoption(parser) -> None:
-+    parser.addoption('--bench', action='store_true', default=False,
-+                     help='Enable the benchmark test runs')

diff --git a/dev-python/mypy/files/mypy-0.782-py39-fixes.patch b/dev-python/mypy/files/mypy-0.782-py39-fixes.patch
deleted file mode 100644
index 16c12daecae..00000000000
--- a/dev-python/mypy/files/mypy-0.782-py39-fixes.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From 13ae58ffe8bedb7da9f4c657297f0d61e681d671 Mon Sep 17 00:00:00 2001
-From: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
-Date: Sun, 30 Aug 2020 18:11:57 -0700
-Subject: [PATCH] mypy: get CI green for py39 (#9376)
-
-Due to Python 3.9's new parser, this has a different (and better) error
-message on Python 3.9.
-
-This is effectively a test of typed_ast / ast, so I don't think it
-matters too much. I'm happy to alternatively just get rid of the test
-altogether, or if people feel strongly, come up with a way to run the
-test when run with older Pythons.
-
-Co-authored-by: hauntsaninja <>
----
- .travis.yml                        | 3 ---
- mypy/test/testcheck.py             | 2 ++
- test-data/unit/check-kwargs.test   | 7 -------
- test-data/unit/check-python39.test | 9 +++++++++
- 4 files changed, 11 insertions(+), 10 deletions(-)
- create mode 100644 test-data/unit/check-python39.test
-
-diff --git a/mypy/test/testcheck.py b/mypy/test/testcheck.py
-index 49a85861b6..39a35c7280 100644
---- a/mypy/test/testcheck.py
-+++ b/mypy/test/testcheck.py
-@@ -94,6 +94,8 @@
- # Tests that use Python 3.8-only AST features (like expression-scoped ignores):
- if sys.version_info >= (3, 8):
-     typecheck_files.append('check-python38.test')
-+if sys.version_info >= (3, 9):
-+    typecheck_files.append('check-python39.test')
- 
- # Special tests for platforms with case-insensitive filesystems.
- if sys.platform in ('darwin', 'win32'):
-diff --git a/test-data/unit/check-kwargs.test b/test-data/unit/check-kwargs.test
-index 1dd450caae..a587be3e06 100644
---- a/test-data/unit/check-kwargs.test
-+++ b/test-data/unit/check-kwargs.test
-@@ -53,13 +53,6 @@ f(b=[], a=A())
- class A: pass
- [builtins fixtures/list.pyi]
- 
--[case testGivingSameKeywordArgumentTwice]
--import typing
--def f(a: 'A', b: 'B') -> None: pass
--f(a=A(), b=B(), a=A()) # E: keyword argument repeated
--class A: pass
--class B: pass
--
- [case testGivingArgumentAsPositionalAndKeywordArg]
- import typing
- def f(a: 'A', b: 'B' = None) -> None: pass
-diff --git a/test-data/unit/check-python39.test b/test-data/unit/check-python39.test
-new file mode 100644
-index 0000000000..0e9ec683ae
---- /dev/null
-+++ b/test-data/unit/check-python39.test
-@@ -0,0 +1,9 @@
-+[case testGivingSameKeywordArgumentTwice]
-+# This test was originally in check-kwargs.test
-+# Python 3.9's new parser started producing a different error message here. Since this isn't the
-+# most important test, to deal with this we'll only run this test with Python 3.9 and later.
-+import typing
-+def f(a: 'A', b: 'B') -> None: pass
-+f(a=A(), b=B(), a=A()) # E: "f" gets multiple values for keyword argument "a"
-+class A: pass
-+class B: pass
-From da4430119255ac9205c96d54deb2e2ebed0ce8ce Mon Sep 17 00:00:00 2001
-From: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
-Date: Fri, 31 Jul 2020 09:58:15 -0700
-Subject: [PATCH] mypyc: ignore deprecation (#9107)
-
-PyUnicode_AsUnicodeAndSize has been deprecated since 3.3
-
-Python 3.9 has compiler warnings for this deprecated function, and we
-compile with Werror, causing Python 3.9 builds to fail.
-
-I've just copied over the relevant deprecation ignoring code from the
-original getargs.c (including the TODO, but I can remove that)
-
-Co-authored-by: hauntsaninja <>
----
- mypyc/lib-rt/getargs.c | 27 +++++++++++++++++++++++++++
- 1 file changed, 27 insertions(+)
-
-diff --git a/mypyc/lib-rt/getargs.c b/mypyc/lib-rt/getargs.c
-index 32b387c8ab..e6b1a0c937 100644
---- a/mypyc/lib-rt/getargs.c
-+++ b/mypyc/lib-rt/getargs.c
-@@ -18,6 +18,29 @@
-  *    and is responsible for decrefing them.
-  */
- 
-+// These macro definitions are copied from pyport.h in Python 3.9 and later
-+// https://bugs.python.org/issue19569
-+#if defined(__clang__)
-+#define _Py_COMP_DIAG_PUSH _Pragma("clang diagnostic push")
-+#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS \
-+    _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"")
-+#define _Py_COMP_DIAG_POP _Pragma("clang diagnostic pop")
-+#elif defined(__GNUC__) \
-+    && ((__GNUC__ >= 5) || (__GNUC__ == 4) && (__GNUC_MINOR__ >= 6))
-+#define _Py_COMP_DIAG_PUSH _Pragma("GCC diagnostic push")
-+#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS \
-+    _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
-+#define _Py_COMP_DIAG_POP _Pragma("GCC diagnostic pop")
-+#elif defined(_MSC_VER)
-+#define _Py_COMP_DIAG_PUSH __pragma(warning(push))
-+#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS __pragma(warning(disable: 4996))
-+#define _Py_COMP_DIAG_POP __pragma(warning(pop))
-+#else
-+#define _Py_COMP_DIAG_PUSH
-+#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS
-+#define _Py_COMP_DIAG_POP
-+#endif
-+
- #include "Python.h"
- #include "pythonsupport.h"
- 
-@@ -756,6 +779,9 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags,
-     case 'u': /* raw unicode buffer (Py_UNICODE *) */
-     case 'Z': /* raw unicode buffer or None */
-     {
-+        // TODO: Raise DeprecationWarning
-+_Py_COMP_DIAG_PUSH
-+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
-         Py_UNICODE **p = va_arg(*p_va, Py_UNICODE **);
- 
-         if (*format == '#') {
-@@ -795,6 +821,7 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags,
-                                   arg, msgbuf, bufsize);
-         }
-         break;
-+_Py_COMP_DIAG_POP
-     }
- 
-     case 'e': {/* encoded string */

diff --git a/dev-python/mypy/files/mypy-0.782-pytest-6.patch b/dev-python/mypy/files/mypy-0.782-pytest-6.patch
deleted file mode 100644
index 0252d113880..00000000000
--- a/dev-python/mypy/files/mypy-0.782-pytest-6.patch
+++ /dev/null
@@ -1,210 +0,0 @@
-From 3e77959eacf3d445a0cb4db5a4bc6dcf606fc040 Mon Sep 17 00:00:00 2001
-From: Lawrence Chan <llchan@users.noreply.github.com>
-Date: Tue, 4 Aug 2020 18:14:55 -0500
-Subject: [PATCH] Use pytest Node.from_parent if available (#9263)
-
-* Use pytest Node.from_parent if available
-
-* Use pytest Node.from_parent unconditionally (requires pytest 5.4+)
-
-* Bump pytest test requirements
-
-* Require pytest 6.0 and remove unused type ignores
-
-* Make flake8 happy
----
- mypy/test/data.py            | 37 ++++++++++++++++++++++--------------
- mypy/test/helpers.py         |  2 +-
- mypy/test/testfinegrained.py |  2 +-
- mypy/test/testipc.py         |  2 +-
- mypy/test/testparse.py       |  2 +-
- mypy/test/testpep561.py      |  2 +-
- mypy/test/testpythoneval.py  |  2 +-
- mypyc/test/testutil.py       |  2 +-
- pytest.ini                   |  3 +--
- test-requirements.txt        |  9 ++++-----
- 10 files changed, 35 insertions(+), 28 deletions(-)
-
-diff --git a/mypy/test/data.py b/mypy/test/data.py
-index 5484fd99e9..a4f2d798b1 100644
---- a/mypy/test/data.py
-+++ b/mypy/test/data.py
-@@ -9,7 +9,7 @@
- from abc import abstractmethod
- import sys
- 
--import pytest  # type: ignore  # no pytest in typeshed
-+import pytest
- from typing import List, Tuple, Set, Optional, Iterator, Any, Dict, NamedTuple, Union
- 
- from mypy.test.config import test_data_prefix, test_temp_dir, PREFIX
-@@ -160,9 +160,12 @@ def parse_test_case(case: 'DataDrivenTestCase') -> None:
-     case.expected_fine_grained_targets = targets
- 
- 
--class DataDrivenTestCase(pytest.Item):  # type: ignore  # inheriting from Any
-+class DataDrivenTestCase(pytest.Item):
-     """Holds parsed data-driven test cases, and handles directory setup and teardown."""
- 
-+    # Override parent member type
-+    parent = None  # type: DataSuiteCollector
-+
-     input = None  # type: List[str]
-     output = None  # type: List[str]  # Output for the first pass
-     output2 = None  # type: Dict[int, List[str]]  # Output for runs 2+, indexed by run number
-@@ -266,7 +269,7 @@ def repr_failure(self, excinfo: Any, style: Optional[Any] = None) -> str:
-             # call exit() and they already print out a stack trace.
-             excrepr = excinfo.exconly()
-         else:
--            self.parent._prunetraceback(excinfo)
-+            self.parent._prunetraceback(excinfo)  # type: ignore[no-untyped-call]
-             excrepr = excinfo.getrepr(style='short')
- 
-         return "data: {}:{}:\n{}".format(self.file, self.line, excrepr)
-@@ -510,7 +513,9 @@ def pytest_pycollect_makeitem(collector: Any, name: str,
-             # Non-None result means this obj is a test case.
-             # The collect method of the returned DataSuiteCollector instance will be called later,
-             # with self.obj being obj.
--            return DataSuiteCollector(name, parent=collector)
-+            return DataSuiteCollector.from_parent(  # type: ignore[no-untyped-call]
-+                parent=collector, name=name
-+            )
-     return None
- 
- 
-@@ -535,19 +540,23 @@ def split_test_cases(parent: 'DataSuiteCollector', suite: 'DataSuite',
-     for i in range(1, len(cases), 6):
-         name, writescache, only_when, platform_flag, skip, data = cases[i:i + 6]
-         platform = platform_flag[1:] if platform_flag else None
--        yield DataDrivenTestCase(parent, suite, file,
--                                 name=add_test_name_suffix(name, suite.test_name_suffix),
--                                 writescache=bool(writescache),
--                                 only_when=only_when,
--                                 platform=platform,
--                                 skip=bool(skip),
--                                 data=data,
--                                 line=line_no)
-+        yield DataDrivenTestCase.from_parent(
-+            parent=parent,
-+            suite=suite,
-+            file=file,
-+            name=add_test_name_suffix(name, suite.test_name_suffix),
-+            writescache=bool(writescache),
-+            only_when=only_when,
-+            platform=platform,
-+            skip=bool(skip),
-+            data=data,
-+            line=line_no,
-+        )
-         line_no += data.count('\n') + 1
- 
- 
--class DataSuiteCollector(pytest.Class):  # type: ignore  # inheriting from Any
--    def collect(self) -> Iterator[pytest.Item]:  # type: ignore
-+class DataSuiteCollector(pytest.Class):
-+    def collect(self) -> Iterator[pytest.Item]:
-         """Called by pytest on each of the object returned from pytest_pycollect_makeitem"""
- 
-         # obj is the object for which pytest_pycollect_makeitem returned self.
-diff --git a/mypy/test/helpers.py b/mypy/test/helpers.py
-index 46c01114c4..91c5ff6ab2 100644
---- a/mypy/test/helpers.py
-+++ b/mypy/test/helpers.py
-@@ -10,7 +10,7 @@
- from mypy import defaults
- import mypy.api as api
- 
--import pytest  # type: ignore  # no pytest in typeshed
-+import pytest
- 
- # Exporting Suite as alias to TestCase for backwards compatibility
- # TODO: avoid aliasing - import and subclass TestCase directly
-diff --git a/mypy/test/testfinegrained.py b/mypy/test/testfinegrained.py
-index 596391da44..d4ed18cab0 100644
---- a/mypy/test/testfinegrained.py
-+++ b/mypy/test/testfinegrained.py
-@@ -35,7 +35,7 @@
- from mypy.config_parser import parse_config_file
- from mypy.find_sources import create_source_list
- 
--import pytest  # type: ignore  # no pytest in typeshed
-+import pytest
- 
- # Set to True to perform (somewhat expensive) checks for duplicate AST nodes after merge
- CHECK_CONSISTENCY = False
-diff --git a/mypy/test/testipc.py b/mypy/test/testipc.py
-index 1d4829d561..7dd829a590 100644
---- a/mypy/test/testipc.py
-+++ b/mypy/test/testipc.py
-@@ -3,7 +3,7 @@
- 
- from mypy.ipc import IPCClient, IPCServer
- 
--import pytest  # type: ignore
-+import pytest
- import sys
- import time
- 
-diff --git a/mypy/test/testparse.py b/mypy/test/testparse.py
-index e990a403a5..e9ff6839bc 100644
---- a/mypy/test/testparse.py
-+++ b/mypy/test/testparse.py
-@@ -2,7 +2,7 @@
- 
- import sys
- 
--from pytest import skip  # type: ignore[import]
-+from pytest import skip
- 
- from mypy import defaults
- from mypy.test.helpers import assert_string_arrays_equal, parse_options
-diff --git a/mypy/test/testpep561.py b/mypy/test/testpep561.py
-index a8eabd7702..aadf01ae5f 100644
---- a/mypy/test/testpep561.py
-+++ b/mypy/test/testpep561.py
-@@ -1,6 +1,6 @@
- from contextlib import contextmanager
- import os
--import pytest  # type: ignore
-+import pytest
- import re
- import subprocess
- from subprocess import PIPE
-diff --git a/mypy/test/testpythoneval.py b/mypy/test/testpythoneval.py
-index 7586a3854e..e7e9f16183 100644
---- a/mypy/test/testpythoneval.py
-+++ b/mypy/test/testpythoneval.py
-@@ -18,7 +18,7 @@
- import sys
- from tempfile import TemporaryDirectory
- 
--import pytest  # type: ignore  # no pytest in typeshed
-+import pytest
- 
- from typing import List
- 
-diff --git a/mypyc/test/testutil.py b/mypyc/test/testutil.py
-index 18ab39a103..c1ce8626ba 100644
---- a/mypyc/test/testutil.py
-+++ b/mypyc/test/testutil.py
-@@ -7,7 +7,7 @@
- import shutil
- from typing import List, Callable, Iterator, Optional, Tuple
- 
--import pytest  # type: ignore[import]
-+import pytest
- 
- from mypy import build
- from mypy.errors import CompileError
-diff --git a/pytest.ini b/pytest.ini
-index 81586a2370..ed76809091 100644
---- a/pytest.ini
-+++ b/pytest.ini
-@@ -1,6 +1,5 @@
- [pytest]
--# testpaths is new in 2.8
--minversion = 2.8
-+minversion = 6.0.0
- 
- testpaths = mypy/test mypyc/test
- 

diff --git a/dev-python/mypy/mypy-0.782.ebuild b/dev-python/mypy/mypy-0.782.ebuild
deleted file mode 100644
index c5290e4f5d9..00000000000
--- a/dev-python/mypy/mypy-0.782.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-inherit distutils-r1
-
-DESCRIPTION="Optional static typing for Python"
-HOMEPAGE="http://www.mypy-lang.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ia64 x86"
-
-# stubgen collides with this package: https://bugs.gentoo.org/585594
-RDEPEND="
-	!dev-util/stubgen
-	>=dev-python/psutil-4[${PYTHON_USEDEP}]
-	>=dev-python/typed-ast-1.4.0[${PYTHON_USEDEP}]
-	<dev-python/typed-ast-1.5.0[${PYTHON_USEDEP}]
-	>=dev-python/typing-extensions-3.7.4[${PYTHON_USEDEP}]
-	>=dev-python/mypy_extensions-0.4.3[${PYTHON_USEDEP}]
-	<dev-python/mypy_extensions-0.5.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
-	test? (
-			>=dev-python/attrs-18.0[${PYTHON_USEDEP}]
-			>=dev-python/lxml-4.4.0[${PYTHON_USEDEP}]
-			>=dev-python/pytest-6.0.0[${PYTHON_USEDEP}]
-			>=dev-python/pytest-xdist-1.18[${PYTHON_USEDEP}]
-			>=dev-python/py-1.5.2[${PYTHON_USEDEP}]
-			>=dev-python/virtualenv-16.0.0[${PYTHON_USEDEP}]
-	)
-"
-
-PATCHES=(
-	# The first two patches are backports from upstream commits
-	# They should be removed during the next bump
-	"${FILESDIR}/${P}-py39-fixes.patch"
-	"${FILESDIR}/${P}-pytest-6.patch"
-	# Needed to collect all tests
-	# https://github.com/python/mypy/pull/9543
-	"${FILESDIR}/${P}-conftest.patch"
-)
-
-distutils_enable_sphinx docs/source dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-python_prepare_all() {
-	# https://github.com/python/mypy/commit/2f291f2e312dd3bf2c05c45da0b032b240bfd7ab
-	# Avoid a big patch by deleting the file manually
-	rm test-data/samples/crawl.py || die
-	distutils-r1_python_prepare_all
-}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/mypy/files/, dev-python/mypy/
@ 2021-02-26 16:48 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2021-02-26 16:48 UTC (permalink / raw
  To: gentoo-commits

commit:     18ccda1e517a9a9237dbeebdfe8ae5a2eb4d4d9a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 26 16:46:36 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Feb 26 16:48:17 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18ccda1e

dev-python/mypy: "Remove old"

This reverts commit 2d14e70d597d62cdf758f83ed19fc5126179350a.

Bug: https://bugs.gentoo.org/772491
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-python/mypy/Manifest                          |   2 +
 dev-python/mypy/files/mypy-0.790-py39-fixes.patch | 161 ++++++++++++++++++++++
 dev-python/mypy/mypy-0.790.ebuild                 |  76 ++++++++++
 3 files changed, 239 insertions(+)

diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest
index 161f8763256..aa88d3040ca 100644
--- a/dev-python/mypy/Manifest
+++ b/dev-python/mypy/Manifest
@@ -1,4 +1,6 @@
+DIST mypy-0.790.tar.gz 2082487 BLAKE2B f8efcb701b4b7533306948721968c9a01ab6c6e56ec99fe6c36e35aca50b52f29f518aee2268a628539a372b8024094ef2d4d87da580b4dd667f41133351596e SHA512 be670456bb64cd197bb6a73832b7e0fd6439ae4af128212328a41cd93d9f644a82e79ffb05bf4695e99bd9788244a24916bf765cf30a6f162cf3b471f45c25b8
 DIST mypy-0.800.tar.gz 2119165 BLAKE2B 48ead6c893f7055f4b1c0167f61e07b647a15f3a13688e1a93f11ebfdfe70ec3ccba3678bb5cf0e61af8dacfa64c241e5b79f28af55e8bfc5ce0a81c409deca9 SHA512 e267fa288f9c538e5c1d0a115b353aabbfbbd46a372dbaefbf43abeae1e6b88cc1b3e0bb301881f20e20b4e69eeeff4be22cf330bf58eaad09b4ea152ab02c12
 DIST mypy-0.812.tar.gz 2122474 BLAKE2B 3bfbfe3010798d49bcf00aa1d926ffa8a54be50fb2e88f4ffc3cde3edba80a9b74853de17126394dc1806c07b740b5f8e7775f2fe4b2312e0a85134b446a690b SHA512 ee89f56a7a01214540f9b727f153a075a097b161b7f654d926d1080ae540ec68303629a4fe691fcb53d37c3eb08924bf01d22cdf1c3761b414a3bc40af3363e6
+DIST mypy-typeshed-5be9c91.tar.gz 583006 BLAKE2B 08ab2b6d479ccc66493524482051e825c65c0a94ea5cac8e56a8ea1dca85eda6104e4ed3188b7d5ce1ea99058019d66a21a7e270e3ad9df694be67ea1e6a7ce9 SHA512 2912bcf66e0f550941eb9c1f34979644857448a4bec478cfc0d662e9a401ade93ccfb2f57b5348504b4d6f0f23e576da609167f1ec3a0861414fc9c7dea80243
 DIST typeshed-8cad322a8ccf4b104cafbac2c798413edaa4f327.tar.gz 600618 BLAKE2B acc4397fba21db1bcc7b3ca0922fb561d19161579062e1ee506cadfbbb1de952e36fab6ce552bdca932757274c882a90a948e9dfc257905d7f2e90de9f22bf55 SHA512 728808a568074310bd700a6fe3d667ced01a36f4a6ed2fa6df9d7a784e3167e2c96f7b91dcca1f99d50e325165f3ddea6bbafeab2469a9105c1cb217f16beded
 DIST typeshed-add4d92f050fb11d3901c6f0ee579a122d4a7a98.tar.gz 600241 BLAKE2B 2bf91ba7bfa2ed3e2369d70ab76ce152e00f321e79f36ef7c264d477e350579eaade222e8347b4105fb93b847d944ce0aa182466ce636649098a2df69c09ee5d SHA512 8497ee9719e162f84556407296d383e0b7e695cf6cd60bbf7f34c1d7aada3926fd5516ce7ea3863e11b3bcb87f12617733082f020718610e467877872f0b4487

diff --git a/dev-python/mypy/files/mypy-0.790-py39-fixes.patch b/dev-python/mypy/files/mypy-0.790-py39-fixes.patch
new file mode 100644
index 00000000000..a7a581ea896
--- /dev/null
+++ b/dev-python/mypy/files/mypy-0.790-py39-fixes.patch
@@ -0,0 +1,161 @@
+From 13ae58ffe8bedb7da9f4c657297f0d61e681d671 Mon Sep 17 00:00:00 2001
+From: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
+Date: Sun, 30 Aug 2020 18:11:57 -0700
+Subject: [PATCH] mypy: get CI green for py39 (#9376)
+
+Due to Python 3.9's new parser, this has a different (and better) error
+message on Python 3.9.
+
+This is effectively a test of typed_ast / ast, so I don't think it
+matters too much. I'm happy to alternatively just get rid of the test
+altogether, or if people feel strongly, come up with a way to run the
+test when run with older Pythons.
+
+Co-authored-by: hauntsaninja <>
+---
+ .travis.yml                        | 3 ---
+ mypy/test/testcheck.py             | 2 ++
+ test-data/unit/check-kwargs.test   | 7 -------
+ test-data/unit/check-python39.test | 9 +++++++++
+ 4 files changed, 11 insertions(+), 10 deletions(-)
+ create mode 100644 test-data/unit/check-python39.test
+
+diff --git a/mypy/test/testcheck.py b/mypy/test/testcheck.py
+index 49a85861b6..39a35c7280 100644
+--- a/mypy/test/testcheck.py
++++ b/mypy/test/testcheck.py
+@@ -94,6 +94,8 @@
+ # Tests that use Python 3.8-only AST features (like expression-scoped ignores):
+ if sys.version_info >= (3, 8):
+     typecheck_files.append('check-python38.test')
++if sys.version_info >= (3, 9):
++    typecheck_files.append('check-python39.test')
+ 
+ # Special tests for platforms with case-insensitive filesystems.
+ if sys.platform in ('darwin', 'win32'):
+diff --git a/test-data/unit/check-kwargs.test b/test-data/unit/check-kwargs.test
+index 1dd450caae..a587be3e06 100644
+--- a/test-data/unit/check-kwargs.test
++++ b/test-data/unit/check-kwargs.test
+@@ -53,13 +53,6 @@ f(b=[], a=A())
+ class A: pass
+ [builtins fixtures/list.pyi]
+ 
+-[case testGivingSameKeywordArgumentTwice]
+-import typing
+-def f(a: 'A', b: 'B') -> None: pass
+-f(a=A(), b=B(), a=A()) # E: keyword argument repeated
+-class A: pass
+-class B: pass
+-
+ [case testGivingArgumentAsPositionalAndKeywordArg]
+ import typing
+ def f(a: 'A', b: 'B' = None) -> None: pass
+diff --git a/test-data/unit/check-python39.test b/test-data/unit/check-python39.test
+new file mode 100644
+index 0000000000..0e9ec683ae
+--- /dev/null
++++ b/test-data/unit/check-python39.test
+@@ -0,0 +1,9 @@
++[case testGivingSameKeywordArgumentTwice]
++# This test was originally in check-kwargs.test
++# Python 3.9's new parser started producing a different error message here. Since this isn't the
++# most important test, to deal with this we'll only run this test with Python 3.9 and later.
++import typing
++def f(a: 'A', b: 'B') -> None: pass
++f(a=A(), b=B(), a=A()) # E: "f" gets multiple values for keyword argument "a"
++class A: pass
++class B: pass
+From ab1bd98cc8a6415398121a47c687ede6f4cca4fd Mon Sep 17 00:00:00 2001
+From: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
+Date: Thu, 8 Oct 2020 11:18:18 -0700
+Subject: [PATCH] py39: fix mypyc complaint (#9552)
+
+I was trying to build wheels for Python 3.9 as part of #9536, but ran
+into this issue. You'll notice a couple hundred lines up msullivan
+points out that mypyc can't handle conditional method definition, so
+that's not an option here.
+
+Co-authored-by: hauntsaninja <>
+---
+ mypy/fastparse.py | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/mypy/fastparse.py b/mypy/fastparse.py
+index 2dafbf4e14..0b72214100 100644
+--- a/mypy/fastparse.py
++++ b/mypy/fastparse.py
+@@ -1257,11 +1257,13 @@ def visit_Slice(self, n: ast3.Slice) -> SliceExpr:
+ 
+     # ExtSlice(slice* dims)
+     def visit_ExtSlice(self, n: ast3.ExtSlice) -> TupleExpr:
+-        return TupleExpr(self.translate_expr_list(n.dims))
++        # cast for mypyc's benefit on Python 3.9
++        return TupleExpr(self.translate_expr_list(cast(Any, n.dims)))
+ 
+     # Index(expr value)
+     def visit_Index(self, n: Index) -> Node:
+-        return self.visit(n.value)
++        # cast for mypyc's benefit on Python 3.9
++        return self.visit(cast(Any, n.value))
+ 
+ 
+ class TypeConverter:
+From ffed88fb95fcbfdd1363f0f719bd3e13f8fe20e9 Mon Sep 17 00:00:00 2001
+From: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
+Date: Thu, 8 Oct 2020 15:00:42 -0700
+Subject: [PATCH] py39: fix mypyc complaints part 2 (#9562)
+
+Necessary because I previously didn't actually fix mypyc's complaint +
+mypyc has more complaints.
+The sys.version_info aliasing works around us hitting
+https://github.com/python/mypy/blob/08f207ef4a09f56d710d63775771ae921c41d4bc/mypyc/irbuild/expression.py#L44
+
+Co-authored-by: hauntsaninja <>
+---
+ mypy/fastparse.py | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/mypy/fastparse.py b/mypy/fastparse.py
+index 0b72214100..3319cd6489 100644
+--- a/mypy/fastparse.py
++++ b/mypy/fastparse.py
+@@ -169,7 +169,9 @@ def parse(source: Union[str, bytes],
+         tree.path = fnam
+         tree.is_stub = is_stub_file
+     except SyntaxError as e:
+-        if sys.version_info < (3, 9) and e.filename == "<fstring>":
++        # alias to please mypyc
++        is_py38_or_earlier = sys.version_info < (3, 9)
++        if is_py38_or_earlier and e.filename == "<fstring>":
+             # In Python 3.8 and earlier, syntax errors in f-strings have lineno relative to the
+             # start of the f-string. This would be misleading, as mypy will report the error as the
+             # lineno within the file.
+@@ -1210,9 +1212,11 @@ def visit_Attribute(self, n: Attribute) -> Union[MemberExpr, SuperExpr]:
+     def visit_Subscript(self, n: ast3.Subscript) -> IndexExpr:
+         e = IndexExpr(self.visit(n.value), self.visit(n.slice))
+         self.set_line(e, n)
++        # alias to please mypyc
++        is_py38_or_earlier = sys.version_info < (3, 9)
+         if (
+             isinstance(n.slice, ast3.Slice) or
+-            (sys.version_info < (3, 9) and isinstance(n.slice, ast3.ExtSlice))
++            (is_py38_or_earlier and isinstance(n.slice, ast3.ExtSlice))
+         ):
+             # Before Python 3.9, Slice has no line/column in the raw ast. To avoid incompatibility
+             # visit_Slice doesn't set_line, even in Python 3.9 on.
+@@ -1258,12 +1262,12 @@ def visit_Slice(self, n: ast3.Slice) -> SliceExpr:
+     # ExtSlice(slice* dims)
+     def visit_ExtSlice(self, n: ast3.ExtSlice) -> TupleExpr:
+         # cast for mypyc's benefit on Python 3.9
+-        return TupleExpr(self.translate_expr_list(cast(Any, n.dims)))
++        return TupleExpr(self.translate_expr_list(cast(Any, n).dims))
+ 
+     # Index(expr value)
+     def visit_Index(self, n: Index) -> Node:
+         # cast for mypyc's benefit on Python 3.9
+-        return self.visit(cast(Any, n.value))
++        return self.visit(cast(Any, n).value)
+ 
+ 
+ class TypeConverter:

diff --git a/dev-python/mypy/mypy-0.790.ebuild b/dev-python/mypy/mypy-0.790.ebuild
new file mode 100644
index 00000000000..35743fc5204
--- /dev/null
+++ b/dev-python/mypy/mypy-0.790.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="Optional static typing for Python"
+HOMEPAGE="http://www.mypy-lang.org/"
+# One module is missing from the PyPI tarball
+# https://github.com/python/mypy/pull/9587
+# conftest.py is missing at the moment
+# https://github.com/python/mypy/pull/9543
+TYPESHED_COMMIT="5be9c91"
+SRC_URI="
+	https://github.com/python/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+	https://api.github.com/repos/python/typeshed/tarball/${TYPESHED_COMMIT} -> mypy-typeshed-${TYPESHED_COMMIT}.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 sparc x86"
+
+# stubgen collides with this package: https://bugs.gentoo.org/585594
+RDEPEND="
+	!dev-util/stubgen
+	>=dev-python/psutil-4[${PYTHON_USEDEP}]
+	>=dev-python/typed-ast-1.4.0[${PYTHON_USEDEP}]
+	<dev-python/typed-ast-1.5.0[${PYTHON_USEDEP}]
+	>=dev-python/typing-extensions-3.7.4[${PYTHON_USEDEP}]
+	>=dev-python/mypy_extensions-0.4.3[${PYTHON_USEDEP}]
+	<dev-python/mypy_extensions-0.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+	test? (
+		>=dev-python/attrs-18.0[${PYTHON_USEDEP}]
+		>=dev-python/lxml-4.4.0[${PYTHON_USEDEP}]
+		>=dev-python/pytest-6.0.0[${PYTHON_USEDEP}]
+		>=dev-python/pytest-xdist-1.18[${PYTHON_USEDEP}]
+		>=dev-python/py-1.5.2[${PYTHON_USEDEP}]
+		>=dev-python/virtualenv-16.0.0[${PYTHON_USEDEP}]
+	)
+"
+
+PATCHES=(
+	# https://github.com/python/mypy/commit/13ae58ffe8bedb7da9f4c657297f0d61e681d671
+	# https://github.com/python/mypy/commit/ab1bd98cc8a6415398121a47c687ede6f4cca4fd
+	# https://github.com/python/mypy/commit/ffed88fb95fcbfdd1363f0f719bd3e13f8fe20e9
+	"${FILESDIR}/${P}-py39-fixes.patch"
+)
+
+distutils_enable_sphinx docs/source dev-python/sphinx_rtd_theme
+distutils_enable_tests pytest
+
+src_unpack() {
+	unpack ${A}
+	rmdir "${S}/mypy/typeshed" || die
+	mv "${WORKDIR}/python-typeshed-${TYPESHED_COMMIT}" "${S}/mypy/typeshed"
+}
+
+python_prepare_all() {
+	# https://github.com/python/mypy/commit/2f291f2e312dd3bf2c05c45da0b032b240bfd7ab
+	# Avoid a big patch by deleting the file manually
+	rm test-data/samples/crawl.py || die
+	distutils-r1_python_prepare_all
+}
+
+python_test() {
+	# Some mypy/test/testcmdline.py::PythonCmdlineSuite tests
+	# fail with high COLUMNS values
+	local -x COLUMNS=80
+	pytest -vv || die "Tests fail with ${EPYTHON}"
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/mypy/files/, dev-python/mypy/
@ 2021-03-26 20:34 Michał Górny
  0 siblings, 0 replies; 5+ messages in thread
From: Michał Górny @ 2021-03-26 20:34 UTC (permalink / raw
  To: gentoo-commits

commit:     a61685a33575a2405d97c77381514ac4dbcdad07
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 26 19:45:00 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 26 20:34:17 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a61685a3

dev-python/mypy: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/mypy/Manifest                          |   4 -
 dev-python/mypy/files/mypy-0.790-py39-fixes.patch | 161 ----------------------
 dev-python/mypy/mypy-0.790.ebuild                 |  76 ----------
 dev-python/mypy/mypy-0.800.ebuild                 |  64 ---------
 4 files changed, 305 deletions(-)

diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest
index aa88d3040ca..8da5c972c5e 100644
--- a/dev-python/mypy/Manifest
+++ b/dev-python/mypy/Manifest
@@ -1,6 +1,2 @@
-DIST mypy-0.790.tar.gz 2082487 BLAKE2B f8efcb701b4b7533306948721968c9a01ab6c6e56ec99fe6c36e35aca50b52f29f518aee2268a628539a372b8024094ef2d4d87da580b4dd667f41133351596e SHA512 be670456bb64cd197bb6a73832b7e0fd6439ae4af128212328a41cd93d9f644a82e79ffb05bf4695e99bd9788244a24916bf765cf30a6f162cf3b471f45c25b8
-DIST mypy-0.800.tar.gz 2119165 BLAKE2B 48ead6c893f7055f4b1c0167f61e07b647a15f3a13688e1a93f11ebfdfe70ec3ccba3678bb5cf0e61af8dacfa64c241e5b79f28af55e8bfc5ce0a81c409deca9 SHA512 e267fa288f9c538e5c1d0a115b353aabbfbbd46a372dbaefbf43abeae1e6b88cc1b3e0bb301881f20e20b4e69eeeff4be22cf330bf58eaad09b4ea152ab02c12
 DIST mypy-0.812.tar.gz 2122474 BLAKE2B 3bfbfe3010798d49bcf00aa1d926ffa8a54be50fb2e88f4ffc3cde3edba80a9b74853de17126394dc1806c07b740b5f8e7775f2fe4b2312e0a85134b446a690b SHA512 ee89f56a7a01214540f9b727f153a075a097b161b7f654d926d1080ae540ec68303629a4fe691fcb53d37c3eb08924bf01d22cdf1c3761b414a3bc40af3363e6
-DIST mypy-typeshed-5be9c91.tar.gz 583006 BLAKE2B 08ab2b6d479ccc66493524482051e825c65c0a94ea5cac8e56a8ea1dca85eda6104e4ed3188b7d5ce1ea99058019d66a21a7e270e3ad9df694be67ea1e6a7ce9 SHA512 2912bcf66e0f550941eb9c1f34979644857448a4bec478cfc0d662e9a401ade93ccfb2f57b5348504b4d6f0f23e576da609167f1ec3a0861414fc9c7dea80243
-DIST typeshed-8cad322a8ccf4b104cafbac2c798413edaa4f327.tar.gz 600618 BLAKE2B acc4397fba21db1bcc7b3ca0922fb561d19161579062e1ee506cadfbbb1de952e36fab6ce552bdca932757274c882a90a948e9dfc257905d7f2e90de9f22bf55 SHA512 728808a568074310bd700a6fe3d667ced01a36f4a6ed2fa6df9d7a784e3167e2c96f7b91dcca1f99d50e325165f3ddea6bbafeab2469a9105c1cb217f16beded
 DIST typeshed-add4d92f050fb11d3901c6f0ee579a122d4a7a98.tar.gz 600241 BLAKE2B 2bf91ba7bfa2ed3e2369d70ab76ce152e00f321e79f36ef7c264d477e350579eaade222e8347b4105fb93b847d944ce0aa182466ce636649098a2df69c09ee5d SHA512 8497ee9719e162f84556407296d383e0b7e695cf6cd60bbf7f34c1d7aada3926fd5516ce7ea3863e11b3bcb87f12617733082f020718610e467877872f0b4487

diff --git a/dev-python/mypy/files/mypy-0.790-py39-fixes.patch b/dev-python/mypy/files/mypy-0.790-py39-fixes.patch
deleted file mode 100644
index a7a581ea896..00000000000
--- a/dev-python/mypy/files/mypy-0.790-py39-fixes.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-From 13ae58ffe8bedb7da9f4c657297f0d61e681d671 Mon Sep 17 00:00:00 2001
-From: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
-Date: Sun, 30 Aug 2020 18:11:57 -0700
-Subject: [PATCH] mypy: get CI green for py39 (#9376)
-
-Due to Python 3.9's new parser, this has a different (and better) error
-message on Python 3.9.
-
-This is effectively a test of typed_ast / ast, so I don't think it
-matters too much. I'm happy to alternatively just get rid of the test
-altogether, or if people feel strongly, come up with a way to run the
-test when run with older Pythons.
-
-Co-authored-by: hauntsaninja <>
----
- .travis.yml                        | 3 ---
- mypy/test/testcheck.py             | 2 ++
- test-data/unit/check-kwargs.test   | 7 -------
- test-data/unit/check-python39.test | 9 +++++++++
- 4 files changed, 11 insertions(+), 10 deletions(-)
- create mode 100644 test-data/unit/check-python39.test
-
-diff --git a/mypy/test/testcheck.py b/mypy/test/testcheck.py
-index 49a85861b6..39a35c7280 100644
---- a/mypy/test/testcheck.py
-+++ b/mypy/test/testcheck.py
-@@ -94,6 +94,8 @@
- # Tests that use Python 3.8-only AST features (like expression-scoped ignores):
- if sys.version_info >= (3, 8):
-     typecheck_files.append('check-python38.test')
-+if sys.version_info >= (3, 9):
-+    typecheck_files.append('check-python39.test')
- 
- # Special tests for platforms with case-insensitive filesystems.
- if sys.platform in ('darwin', 'win32'):
-diff --git a/test-data/unit/check-kwargs.test b/test-data/unit/check-kwargs.test
-index 1dd450caae..a587be3e06 100644
---- a/test-data/unit/check-kwargs.test
-+++ b/test-data/unit/check-kwargs.test
-@@ -53,13 +53,6 @@ f(b=[], a=A())
- class A: pass
- [builtins fixtures/list.pyi]
- 
--[case testGivingSameKeywordArgumentTwice]
--import typing
--def f(a: 'A', b: 'B') -> None: pass
--f(a=A(), b=B(), a=A()) # E: keyword argument repeated
--class A: pass
--class B: pass
--
- [case testGivingArgumentAsPositionalAndKeywordArg]
- import typing
- def f(a: 'A', b: 'B' = None) -> None: pass
-diff --git a/test-data/unit/check-python39.test b/test-data/unit/check-python39.test
-new file mode 100644
-index 0000000000..0e9ec683ae
---- /dev/null
-+++ b/test-data/unit/check-python39.test
-@@ -0,0 +1,9 @@
-+[case testGivingSameKeywordArgumentTwice]
-+# This test was originally in check-kwargs.test
-+# Python 3.9's new parser started producing a different error message here. Since this isn't the
-+# most important test, to deal with this we'll only run this test with Python 3.9 and later.
-+import typing
-+def f(a: 'A', b: 'B') -> None: pass
-+f(a=A(), b=B(), a=A()) # E: "f" gets multiple values for keyword argument "a"
-+class A: pass
-+class B: pass
-From ab1bd98cc8a6415398121a47c687ede6f4cca4fd Mon Sep 17 00:00:00 2001
-From: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
-Date: Thu, 8 Oct 2020 11:18:18 -0700
-Subject: [PATCH] py39: fix mypyc complaint (#9552)
-
-I was trying to build wheels for Python 3.9 as part of #9536, but ran
-into this issue. You'll notice a couple hundred lines up msullivan
-points out that mypyc can't handle conditional method definition, so
-that's not an option here.
-
-Co-authored-by: hauntsaninja <>
----
- mypy/fastparse.py | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/mypy/fastparse.py b/mypy/fastparse.py
-index 2dafbf4e14..0b72214100 100644
---- a/mypy/fastparse.py
-+++ b/mypy/fastparse.py
-@@ -1257,11 +1257,13 @@ def visit_Slice(self, n: ast3.Slice) -> SliceExpr:
- 
-     # ExtSlice(slice* dims)
-     def visit_ExtSlice(self, n: ast3.ExtSlice) -> TupleExpr:
--        return TupleExpr(self.translate_expr_list(n.dims))
-+        # cast for mypyc's benefit on Python 3.9
-+        return TupleExpr(self.translate_expr_list(cast(Any, n.dims)))
- 
-     # Index(expr value)
-     def visit_Index(self, n: Index) -> Node:
--        return self.visit(n.value)
-+        # cast for mypyc's benefit on Python 3.9
-+        return self.visit(cast(Any, n.value))
- 
- 
- class TypeConverter:
-From ffed88fb95fcbfdd1363f0f719bd3e13f8fe20e9 Mon Sep 17 00:00:00 2001
-From: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
-Date: Thu, 8 Oct 2020 15:00:42 -0700
-Subject: [PATCH] py39: fix mypyc complaints part 2 (#9562)
-
-Necessary because I previously didn't actually fix mypyc's complaint +
-mypyc has more complaints.
-The sys.version_info aliasing works around us hitting
-https://github.com/python/mypy/blob/08f207ef4a09f56d710d63775771ae921c41d4bc/mypyc/irbuild/expression.py#L44
-
-Co-authored-by: hauntsaninja <>
----
- mypy/fastparse.py | 12 ++++++++----
- 1 file changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/mypy/fastparse.py b/mypy/fastparse.py
-index 0b72214100..3319cd6489 100644
---- a/mypy/fastparse.py
-+++ b/mypy/fastparse.py
-@@ -169,7 +169,9 @@ def parse(source: Union[str, bytes],
-         tree.path = fnam
-         tree.is_stub = is_stub_file
-     except SyntaxError as e:
--        if sys.version_info < (3, 9) and e.filename == "<fstring>":
-+        # alias to please mypyc
-+        is_py38_or_earlier = sys.version_info < (3, 9)
-+        if is_py38_or_earlier and e.filename == "<fstring>":
-             # In Python 3.8 and earlier, syntax errors in f-strings have lineno relative to the
-             # start of the f-string. This would be misleading, as mypy will report the error as the
-             # lineno within the file.
-@@ -1210,9 +1212,11 @@ def visit_Attribute(self, n: Attribute) -> Union[MemberExpr, SuperExpr]:
-     def visit_Subscript(self, n: ast3.Subscript) -> IndexExpr:
-         e = IndexExpr(self.visit(n.value), self.visit(n.slice))
-         self.set_line(e, n)
-+        # alias to please mypyc
-+        is_py38_or_earlier = sys.version_info < (3, 9)
-         if (
-             isinstance(n.slice, ast3.Slice) or
--            (sys.version_info < (3, 9) and isinstance(n.slice, ast3.ExtSlice))
-+            (is_py38_or_earlier and isinstance(n.slice, ast3.ExtSlice))
-         ):
-             # Before Python 3.9, Slice has no line/column in the raw ast. To avoid incompatibility
-             # visit_Slice doesn't set_line, even in Python 3.9 on.
-@@ -1258,12 +1262,12 @@ def visit_Slice(self, n: ast3.Slice) -> SliceExpr:
-     # ExtSlice(slice* dims)
-     def visit_ExtSlice(self, n: ast3.ExtSlice) -> TupleExpr:
-         # cast for mypyc's benefit on Python 3.9
--        return TupleExpr(self.translate_expr_list(cast(Any, n.dims)))
-+        return TupleExpr(self.translate_expr_list(cast(Any, n).dims))
- 
-     # Index(expr value)
-     def visit_Index(self, n: Index) -> Node:
-         # cast for mypyc's benefit on Python 3.9
--        return self.visit(cast(Any, n.value))
-+        return self.visit(cast(Any, n).value)
- 
- 
- class TypeConverter:

diff --git a/dev-python/mypy/mypy-0.790.ebuild b/dev-python/mypy/mypy-0.790.ebuild
deleted file mode 100644
index 35743fc5204..00000000000
--- a/dev-python/mypy/mypy-0.790.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-inherit distutils-r1
-
-DESCRIPTION="Optional static typing for Python"
-HOMEPAGE="http://www.mypy-lang.org/"
-# One module is missing from the PyPI tarball
-# https://github.com/python/mypy/pull/9587
-# conftest.py is missing at the moment
-# https://github.com/python/mypy/pull/9543
-TYPESHED_COMMIT="5be9c91"
-SRC_URI="
-	https://github.com/python/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
-	https://api.github.com/repos/python/typeshed/tarball/${TYPESHED_COMMIT} -> mypy-typeshed-${TYPESHED_COMMIT}.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 sparc x86"
-
-# stubgen collides with this package: https://bugs.gentoo.org/585594
-RDEPEND="
-	!dev-util/stubgen
-	>=dev-python/psutil-4[${PYTHON_USEDEP}]
-	>=dev-python/typed-ast-1.4.0[${PYTHON_USEDEP}]
-	<dev-python/typed-ast-1.5.0[${PYTHON_USEDEP}]
-	>=dev-python/typing-extensions-3.7.4[${PYTHON_USEDEP}]
-	>=dev-python/mypy_extensions-0.4.3[${PYTHON_USEDEP}]
-	<dev-python/mypy_extensions-0.5.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
-	test? (
-		>=dev-python/attrs-18.0[${PYTHON_USEDEP}]
-		>=dev-python/lxml-4.4.0[${PYTHON_USEDEP}]
-		>=dev-python/pytest-6.0.0[${PYTHON_USEDEP}]
-		>=dev-python/pytest-xdist-1.18[${PYTHON_USEDEP}]
-		>=dev-python/py-1.5.2[${PYTHON_USEDEP}]
-		>=dev-python/virtualenv-16.0.0[${PYTHON_USEDEP}]
-	)
-"
-
-PATCHES=(
-	# https://github.com/python/mypy/commit/13ae58ffe8bedb7da9f4c657297f0d61e681d671
-	# https://github.com/python/mypy/commit/ab1bd98cc8a6415398121a47c687ede6f4cca4fd
-	# https://github.com/python/mypy/commit/ffed88fb95fcbfdd1363f0f719bd3e13f8fe20e9
-	"${FILESDIR}/${P}-py39-fixes.patch"
-)
-
-distutils_enable_sphinx docs/source dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-src_unpack() {
-	unpack ${A}
-	rmdir "${S}/mypy/typeshed" || die
-	mv "${WORKDIR}/python-typeshed-${TYPESHED_COMMIT}" "${S}/mypy/typeshed"
-}
-
-python_prepare_all() {
-	# https://github.com/python/mypy/commit/2f291f2e312dd3bf2c05c45da0b032b240bfd7ab
-	# Avoid a big patch by deleting the file manually
-	rm test-data/samples/crawl.py || die
-	distutils-r1_python_prepare_all
-}
-
-python_test() {
-	# Some mypy/test/testcmdline.py::PythonCmdlineSuite tests
-	# fail with high COLUMNS values
-	local -x COLUMNS=80
-	pytest -vv || die "Tests fail with ${EPYTHON}"
-}

diff --git a/dev-python/mypy/mypy-0.800.ebuild b/dev-python/mypy/mypy-0.800.ebuild
deleted file mode 100644
index 98c055ca766..00000000000
--- a/dev-python/mypy/mypy-0.800.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-inherit distutils-r1
-
-DESCRIPTION="Optional static typing for Python"
-HOMEPAGE="http://www.mypy-lang.org/"
-# One module is missing from the PyPI tarball
-# https://github.com/python/mypy/pull/9587
-# conftest.py is missing at the moment
-# https://github.com/python/mypy/pull/9543
-TYPESHED_COMMIT="8cad322a8ccf4b104cafbac2c798413edaa4f327"
-SRC_URI="
-	https://github.com/python/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
-	https://github.com/python/typeshed/archive/${TYPESHED_COMMIT}.tar.gz
-		-> typeshed-${TYPESHED_COMMIT}.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-# stubgen collides with this package: https://bugs.gentoo.org/585594
-RDEPEND="
-	!dev-util/stubgen
-	>=dev-python/psutil-4[${PYTHON_USEDEP}]
-	>=dev-python/typed-ast-1.4.0[${PYTHON_USEDEP}]
-	<dev-python/typed-ast-1.5.0[${PYTHON_USEDEP}]
-	>=dev-python/typing-extensions-3.7.4[${PYTHON_USEDEP}]
-	>=dev-python/mypy_extensions-0.4.3[${PYTHON_USEDEP}]
-	<dev-python/mypy_extensions-0.5.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
-	test? (
-		>=dev-python/attrs-18.0[${PYTHON_USEDEP}]
-		>=dev-python/lxml-4.4.0[${PYTHON_USEDEP}]
-		>=dev-python/pytest-6.1.0[${PYTHON_USEDEP}]
-		>=dev-python/pytest-xdist-1.18[${PYTHON_USEDEP}]
-		>=dev-python/py-1.5.2[${PYTHON_USEDEP}]
-		>=dev-python/virtualenv-16.0.0[${PYTHON_USEDEP}]
-	)
-"
-
-distutils_enable_sphinx docs/source dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-src_unpack() {
-	default
-	rmdir "${S}/mypy/typeshed" || die
-	mv "${WORKDIR}/typeshed-${TYPESHED_COMMIT}" "${S}/mypy/typeshed" || die
-}
-
-python_test() {
-	# Some mypy/test/testcmdline.py::PythonCmdlineSuite tests
-	# fail with high COLUMNS values
-	local -x COLUMNS=80
-	pytest -vv -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" ||
-		die "Tests failed with ${EPYTHON}"
-}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/mypy/files/, dev-python/mypy/
@ 2021-08-25  0:04 Louis Sautier
  0 siblings, 0 replies; 5+ messages in thread
From: Louis Sautier @ 2021-08-25  0:04 UTC (permalink / raw
  To: gentoo-commits

commit:     150b60befae35cc7c1f017a561d928391f5e35f2
Author:     Louis Sautier <sbraz <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 24 22:58:59 2021 +0000
Commit:     Louis Sautier <sbraz <AT> gentoo <DOT> org>
CommitDate: Wed Aug 25 00:00:59 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=150b60be

dev-python/mypy: enable py3.10, explicitly inherit multiprocessing

Also remove an unused variable and comment failing tests.

Signed-off-by: Louis Sautier <sbraz <AT> gentoo.org>

 .../mypy/files/mypy-0.910-py3.10-tests.patch       | 51 ++++++++++++++++++++++
 dev-python/mypy/mypy-0.910.ebuild                  | 27 +++++++-----
 2 files changed, 68 insertions(+), 10 deletions(-)

diff --git a/dev-python/mypy/files/mypy-0.910-py3.10-tests.patch b/dev-python/mypy/files/mypy-0.910-py3.10-tests.patch
new file mode 100644
index 00000000000..16e85049cc1
--- /dev/null
+++ b/dev-python/mypy/files/mypy-0.910-py3.10-tests.patch
@@ -0,0 +1,51 @@
+diff --git a/mypyc/test-data/run-misc.test b/mypyc/test-data/run-misc.test
+index 431efc228..0c1a26c1b 100644
+--- a/mypyc/test-data/run-misc.test
++++ b/mypyc/test-data/run-misc.test
+@@ -13,8 +13,7 @@ async def g() -> int:
+ async def f() -> int:
+     return await g()
+ 
+-loop = asyncio.get_event_loop()
+-result = loop.run_until_complete(f())
++result = asyncio.run(f())
+ assert result == 1
+ 
+ [typing fixtures/typing-full.pyi]
+@@ -22,8 +21,8 @@ assert result == 1
+ [file driver.py]
+ from native import f
+ import asyncio
+-loop = asyncio.get_event_loop()
+-result = loop.run_until_complete(f())
++
++result = asyncio.run(f())
+ assert result == 1
+ 
+ [case testMaybeUninitVar]
+diff --git a/test-data/stdlib-samples/3.2/random.py b/test-data/stdlib-samples/3.2/random.py
+index 7eecdfe04..82bda03f7 100644
+--- a/test-data/stdlib-samples/3.2/random.py
++++ b/test-data/stdlib-samples/3.2/random.py
+@@ -41,7 +41,7 @@ from types import MethodType as _MethodType, BuiltinMethodType as _BuiltinMethod
+ from math import log as _log, exp as _exp, pi as _pi, e as _e, ceil as _ceil
+ from math import sqrt as _sqrt, acos as _acos, cos as _cos, sin as _sin
+ from os import urandom as _urandom
+-from collections import Set as _Set, Sequence as _Sequence
++from collections.abc import Set as _Set, Sequence as _Sequence
+ from hashlib import sha512 as _sha512
+ 
+ from typing import (
+diff --git a/test-data/unit/cmdline.test b/test-data/unit/cmdline.test
+index 92ef7e069..87d04f3c4 100644
+--- a/test-data/unit/cmdline.test
++++ b/test-data/unit/cmdline.test
+@@ -791,7 +791,7 @@ c.py:2: error: Argument 1 to "bar" has incompatible type "str"; expected "int"
+ [case testSrcPEP420Packages]
+ # cmd: mypy -p anamespace --namespace-packages
+ [file mypy.ini]
+-\[mypy]]
++\[mypy]
+ mypy_path = src
+ [file src/setup.cfg]
+ [file src/anamespace/foo/__init__.py]

diff --git a/dev-python/mypy/mypy-0.910.ebuild b/dev-python/mypy/mypy-0.910.ebuild
index 3d67ec72646..c1cf4858510 100644
--- a/dev-python/mypy/mypy-0.910.ebuild
+++ b/dev-python/mypy/mypy-0.910.ebuild
@@ -3,15 +3,12 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python3_{8..9} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1 multiprocessing
 
 DESCRIPTION="Optional static typing for Python"
 HOMEPAGE="http://www.mypy-lang.org/"
-TYPESHED_COMMIT="add4d92f050fb11d3901c6f0ee579a122d4a7a98"
-SRC_URI="
-	https://github.com/python/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
-"
+SRC_URI="https://github.com/python/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
 
 LICENSE="MIT"
 SLOT="0"
@@ -41,18 +38,28 @@ BDEPEND="
 distutils_enable_sphinx docs/source dev-python/sphinx_rtd_theme
 distutils_enable_tests pytest
 
+PATCHES=(
+	# https://github.com/python/mypy/pull/11017
+	"${FILESDIR}/${P}-py3.10-tests.patch"
+)
+
 # this requires packaging a lot of type stubs
 export MYPY_USE_MYPYC=0
 
 python_test() {
-	local deselect=(
-		# TODO
+	local EPYTEST_DESELECT=(
+		# Fails with pytest-xdist 2.3.0
+		# https://github.com/python/mypy/issues/11019
 		mypy/test/teststubtest.py
 	)
 
+	[[ "${EPYTHON}" == "python3.10" ]] && EPYTEST_DESELECT+=(
+		# https://github.com/python/mypy/issues/11018
+		mypyc/test/test_commandline.py::TestCommandLine::testErrorOutput
+	)
+
 	# Some mypy/test/testcmdline.py::PythonCmdlineSuite tests
 	# fail with high COLUMNS values
 	local -x COLUMNS=80
-	epytest ${deselect[@]/#/--deselect } \
-		-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
+	epytest -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
 }


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/mypy/files/, dev-python/mypy/
@ 2024-08-17  9:58 Michał Górny
  0 siblings, 0 replies; 5+ messages in thread
From: Michał Górny @ 2024-08-17  9:58 UTC (permalink / raw
  To: gentoo-commits

commit:     597c824e5716e6ae6e39e863ee68ac48f33132bd
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 17 09:57:49 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 17 09:57:49 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=597c824e

dev-python/mypy: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/mypy/Manifest                      |   2 -
 dev-python/mypy/files/mypy-1.10.1-py313.patch | 153 --------------------------
 dev-python/mypy/mypy-1.10.1.ebuild            | 133 ----------------------
 dev-python/mypy/mypy-1.11.0.ebuild            | 126 ---------------------
 4 files changed, 414 deletions(-)

diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest
index 782f3401202b..f59f48d16bb7 100644
--- a/dev-python/mypy/Manifest
+++ b/dev-python/mypy/Manifest
@@ -1,3 +1 @@
-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

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}"
-}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-08-17  9:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-17  9:58 [gentoo-commits] repo/gentoo:master commit in: dev-python/mypy/files/, dev-python/mypy/ Michał Górny
  -- strict thread matches above, loose matches on Subject: below --
2021-08-25  0:04 Louis Sautier
2021-03-26 20:34 Michał Górny
2021-02-26 16:48 Sam James
2020-12-22 20:06 Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox