commit:     7d373b9531bbd9295e995f9fcd83b405b94d8421
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 18 08:42:23 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Mar 18 08:44:13 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d373b95

dev-python/regex: Remove pypy3

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

 dev-python/regex/files/regex-2019.11.1-pypy.patch | 221 ----------------------
 dev-python/regex/regex-2020.4.4-r1.ebuild         |   8 +-
 2 files changed, 2 insertions(+), 227 deletions(-)

diff --git a/dev-python/regex/files/regex-2019.11.1-pypy.patch 
b/dev-python/regex/files/regex-2019.11.1-pypy.patch
deleted file mode 100644
index f4bfade16eb..00000000000
--- a/dev-python/regex/files/regex-2019.11.1-pypy.patch
+++ /dev/null
@@ -1,221 +0,0 @@
-diff -ur regex-2019.11.1.orig/regex_2/_regex.c regex-2019.11.1/regex_2/_regex.c
---- regex-2019.11.1.orig/regex_2/_regex.c      2019-11-23 12:25:18.247350004 
-0800
-+++ regex-2019.11.1/regex_2/_regex.c   2019-11-23 14:04:38.357427925 -0800
-@@ -18636,7 +18636,8 @@
-     }
- 
- #endif
--#if defined(PYPY_VERSION)
-+/* 
https://bitbucket.org/pypy/pypy/issues/2909/pyobject_getbuffer-fails-on-arrays 
*/
-+#if 0 && defined(PYPY_VERSION)
-     /* Get pointer to string buffer. */
-     if (PyObject_GetBuffer(string, &str_info->view, PyBUF_SIMPLE) != 0) {
-         PyErr_SetString(PyExc_TypeError, "expected string or buffer");
-@@ -18670,9 +18671,11 @@
-         /* It's a new-style buffer. */
-         str_info->should_release = TRUE;
-     else if (buffer->bf_getreadbuffer && buffer->bf_getsegcount &&
--      buffer->bf_getsegcount(string, NULL) == 1)
-+      buffer->bf_getsegcount(string, NULL) == 1) {
-         /* It's an old-style buffer. */
-+        PyErr_Clear();
-         str_info->should_release = FALSE;
-+    }
-     else {
-         PyErr_SetString(PyExc_TypeError, "expected string or buffer");
-         return FALSE;
-@@ -19904,6 +19907,11 @@
-     PyObject* module;
-     PyObject* object;
- 
-+#if defined(PYPY_VERSION)
-+    if (strncmp(module_name, "regex.regex", 12) == 0)
-+        module_name = "regex";
-+#endif
-+
-     module = PyImport_ImportModule(module_name);
-     if (!module)
-         return NULL;
-diff -ur regex-2019.11.1.orig/regex_2/test_regex.py 
regex-2019.11.1/regex_2/test_regex.py
---- regex-2019.11.1.orig/regex_2/test_regex.py 2019-11-23 12:25:18.249349992 
-0800
-+++ regex-2019.11.1/regex_2/test_regex.py      2019-11-23 14:08:49.283834618 
-0800
-@@ -1,6 +1,7 @@
- from __future__ import with_statement
- import regex
- import string
-+import platform
- from weakref import proxy
- import unittest
- import copy
-@@ -240,30 +241,32 @@
-         self.assertEqual(regex.sub('x', r'\400', 'x'), "\x00")
-         self.assertEqual(regex.sub('x', r'\777', 'x'), "\xFF")
- 
--        self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, lambda:
--          regex.sub('x', r'\1', 'x'))
--        self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, lambda:
--          regex.sub('x', r'\8', 'x'))
--        self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, lambda:
--          regex.sub('x', r'\9', 'x'))
--        self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, lambda:
--          regex.sub('x', r'\11', 'x'))
--        self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, lambda:
--          regex.sub('x', r'\18', 'x'))
--        self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, lambda:
--          regex.sub('x', r'\1a', 'x'))
--        self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, lambda:
--          regex.sub('x', r'\90', 'x'))
--        self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, lambda:
--          regex.sub('x', r'\99', 'x'))
--        self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, lambda:
--          regex.sub('x', r'\118', 'x')) # r'\11' + '8'
--        self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, lambda:
--          regex.sub('x', r'\11a', 'x'))
--        self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, lambda:
--          regex.sub('x', r'\181', 'x')) # r'\18' + '1'
--        self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, lambda:
--          regex.sub('x', r'\800', 'x')) # r'\80' + '0'
-+        # no idea what is broken here...
-+        if 'pypy' not in platform.python_implementation().lower():
-+            self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, 
lambda:
-+            regex.sub('x', r'\1', 'x'))
-+            self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, 
lambda:
-+            regex.sub('x', r'\8', 'x'))
-+            self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, 
lambda:
-+            regex.sub('x', r'\9', 'x'))
-+            self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, 
lambda:
-+            regex.sub('x', r'\11', 'x'))
-+            self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, 
lambda:
-+            regex.sub('x', r'\18', 'x'))
-+            self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, 
lambda:
-+            regex.sub('x', r'\1a', 'x'))
-+            self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, 
lambda:
-+            regex.sub('x', r'\90', 'x'))
-+            self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, 
lambda:
-+            regex.sub('x', r'\99', 'x'))
-+            self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, 
lambda:
-+            regex.sub('x', r'\118', 'x')) # r'\11' + '8'
-+            self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, 
lambda:
-+            regex.sub('x', r'\11a', 'x'))
-+            self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, 
lambda:
-+            regex.sub('x', r'\181', 'x')) # r'\18' + '1'
-+            self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, 
lambda:
-+            regex.sub('x', r'\800', 'x')) # r'\80' + '0'
- 
-         # In Python 2.3 (etc), these loop endlessly in sre_parser.py.
-         self.assertEqual(regex.sub('(((((((((((x)))))))))))', r'\11', 'x'),
-diff -ur regex-2019.11.1.orig/regex_3/test_regex.py 
regex-2019.11.1/regex_3/test_regex.py
---- regex-2019.11.1.orig/regex_3/test_regex.py 2019-11-23 12:25:18.253349967 
-0800
-+++ regex-2019.11.1/regex_3/test_regex.py      2019-11-23 14:19:32.075730389 
-0800
-@@ -2,6 +2,7 @@
- import string
- from weakref import proxy
- import unittest
-+import platform
- import copy
- import pickle
- from test.support import run_unittest
-@@ -562,6 +563,7 @@
-         self.assertEqual(regex.match(r"(a)(?!\s\1)", "a b")[1], 'a')
-         self.assertEqual(regex.match(r"(a)(?!\s(abc|a))", "a b")[1], 'a')
- 
-+    @unittest.skipIf('pypy' in platform.python_implementation().lower(), 
"broken on pypy")
-     def test_ignore_case(self):
-         self.assertEqual(regex.match("abc", "ABC", regex.I)[0], 'ABC')
-         self.assertEqual(regex.match(b"abc", b"ABC", regex.I)[0], b'ABC')
-@@ -588,6 +590,7 @@
-         self.assertEqual(bool(regex.match(r"(?i)n\xE3o", "N\xC3O")), True)
-         self.assertEqual(bool(regex.match(r"(?i)s", "\u017F")), True)
- 
-+    @unittest.skipIf('pypy' in platform.python_implementation().lower(), 
"broken on pypy")
-     def test_case_folding(self):
-         self.assertEqual(regex.search(r"(?fi)ss", "SS").span(), (0, 2))
-         self.assertEqual(regex.search(r"(?fi)SS", "ss").span(), (0, 2))
-@@ -687,6 +690,7 @@
-         self.assertEqual(regex.search(r"\s(b)", " b")[1], 'b')
-         self.assertEqual(regex.search(r"a\s", "a ")[0], 'a ')
- 
-+    @unittest.skipIf('pypy' in platform.python_implementation().lower(), 
"broken on pypy")
-     def test_re_escape(self):
-         p = ""
-         self.assertEqual(regex.escape(p), p)
-@@ -729,6 +733,7 @@
-             self.assertEqual(repr(type(regex.compile('^pattern$', flag))),
-               self.PATTERN_CLASS)
- 
-+    @unittest.skipIf('pypy' in platform.python_implementation().lower(), 
"broken on pypy")
-     def test_sre_character_literals(self):
-         for i in [0, 8, 16, 32, 64, 127, 128, 255]:
-             self.assertEqual(bool(regex.match(r"\%03o" % i, chr(i))), True)
-@@ -745,6 +750,7 @@
-         self.assertRaisesRegex(regex.error, self.INVALID_GROUP_REF, lambda:
-           regex.match(r"\911", ""))
- 
-+    @unittest.skipIf('pypy' in platform.python_implementation().lower(), 
"broken on pypy")
-     def test_sre_character_class_literals(self):
-         for i in [0, 8, 16, 32, 64, 127, 128, 255]:
-             self.assertEqual(bool(regex.match(r"[\%03o]" % i, chr(i))), True)
-@@ -887,6 +893,7 @@
-         self.assertEqual(next(it).span(), (4, 4))
-         self.assertRaises(StopIteration, lambda: next(it))
- 
-+    @unittest.skipIf('pypy' in platform.python_implementation().lower(), 
"broken on pypy")
-     def test_empty_array(self):
-         # SF buf 1647541.
-         import array
-@@ -969,6 +976,7 @@
-         self.assertRaisesRegex(ValueError, self.MIXED_FLAGS, lambda:
-           regex.compile(r'(?au)\w'))
- 
-+    @unittest.skipIf('pypy' in platform.python_implementation().lower(), 
"broken on pypy")
-     def test_ascii_and_unicode_flag(self):
-         # String patterns.
-         for flags in (0, regex.UNICODE):
-@@ -1013,6 +1021,7 @@
-         if not (m0 and m1 and m0[:] == m1[:]):
-             self.fail("Failed")
- 
-+    @unittest.skipIf('pypy' in platform.python_implementation().lower(), 
"broken on pypy")
-     def test_properties(self):
-         self.assertEqual(regex.match(b'(?ai)\xC0', b'\xE0'), None)
-         self.assertEqual(regex.match(br'(?ai)\xC0', b'\xE0'), None)
-@@ -1672,6 +1681,7 @@
-         self.assertEqual(regex.match(r"(?|(?<a>a)(?<b>b)|(c)(?<a>d))(e)",
-           "cde").capturesdict(), {"a": ["c", "d"], "b": []})
- 
-+    @unittest.skipIf('pypy' in platform.python_implementation().lower(), 
"broken on pypy")
-     def test_set(self):
-         self.assertEqual(regex.match(r"[a]", "a").span(), (0, 1))
-         self.assertEqual(regex.match(r"(?i)[a]", "A").span(), (0, 1))
-@@ -1749,6 +1759,7 @@
-         self.assertEqual(regex.findall(r"(?V1)[\w--a]","abc"), ["b", "c"])
-         self.assertEqual(regex.findall(r"(?iV1)[\w--a]","abc"), ["b", "c"])
- 
-+    @unittest.skipIf('pypy' in platform.python_implementation().lower(), 
"broken on pypy")
-     def test_various(self):
-         tests = [
-             # Test ?P< and ?P= extensions.
-@@ -2578,6 +2589,7 @@
-                         self.fail("{} not matching {}".format(ascii(ch1),
-                           ascii(ch2)))
- 
-+    @unittest.skipIf('pypy' in platform.python_implementation().lower(), 
"broken on pypy")
-     def test_named_lists(self):
-         options = ["one", "two", "three"]
-         self.assertEqual(regex.match(r"333\L<bar>444", "333one444",
-@@ -2975,6 +2987,7 @@
-         self.assertEqual(bool(regex.fullmatch(r"(?r)abc", "xabcy", pos=1,
-           endpos=4)), True)
- 
-+    @unittest.skipIf('pypy' in platform.python_implementation().lower(), 
"broken on pypy")
-     def test_issue_18468(self):
-         # Applies only after Python 3.4 for compatibility with re.
-         if (sys.version_info.major, sys.version_info.minor) < (3, 4):
-@@ -4199,6 +4212,7 @@
-           'x right').capturesdict(), {'mydef': ['right'], 'wrong': [], 
'right':
-           ['right']})
- 
-+    @unittest.skipIf('pypy' in platform.python_implementation().lower(), 
"broken on pypy")
-     def test_fuzzy_ext(self):
-         self.assertEquals(bool(regex.fullmatch(r'(?r)(?:a){e<=1:[a-z]}', 
'e')),
-           True)

diff --git a/dev-python/regex/regex-2020.4.4-r1.ebuild 
b/dev-python/regex/regex-2020.4.4-r1.ebuild
index ab7ea301540..f3243ad8264 100644
--- a/dev-python/regex/regex-2020.4.4-r1.ebuild
+++ b/dev-python/regex/regex-2020.4.4-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
 
-PYTHON_COMPAT=( python3_{7..9} pypy3 )
+PYTHON_COMPAT=( python3_{7..9} )
 
 inherit distutils-r1 flag-o-matic
 
@@ -16,10 +16,6 @@ SLOT="0"
 KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc 
x86 ~x64-macos"
 IUSE="doc"
 
-PATCHES=(
-       "${FILESDIR}/regex-2019.11.1-pypy.patch"
-)
-
 python_test() {
        distutils_install_for_testing
 

Reply via email to