dev-python/future: Port to py39
authorMichał Górny <mgorny@gentoo.org>
Tue, 26 May 2020 12:50:07 +0000 (14:50 +0200)
committerMichał Górny <mgorny@gentoo.org>
Tue, 26 May 2020 12:58:31 +0000 (14:58 +0200)
Signed-off-by: Michał Górny <mgorny@gentoo.org>
dev-python/future/files/future-0.18.2-py39.patch [new file with mode: 0644]
dev-python/future/future-0.18.2.ebuild

diff --git a/dev-python/future/files/future-0.18.2-py39.patch b/dev-python/future/files/future-0.18.2-py39.patch
new file mode 100644 (file)
index 0000000..4524cb0
--- /dev/null
@@ -0,0 +1,65 @@
+From edda349a2d4fffa6c7f277483ccb40a66c0795b9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Mon, 10 Feb 2020 23:17:28 +0100
+Subject: [PATCH] Test fixes for Python 3.9
+
+Fixes https://github.com/PythonCharmers/python-future/issues/540
+Fixes https://github.com/PythonCharmers/python-future/issues/541
+---
+ src/future/moves/_dummy_thread.py          | 2 +-
+ src/future/standard_library/__init__.py    | 2 +-
+ tests/test_future/test_standard_library.py | 1 -
+ tests/test_future/test_urllib_toplevel.py  | 2 --
+ 4 files changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/src/future/moves/_dummy_thread.py b/src/future/moves/_dummy_thread.py
+index 688d249b..cc2fc891 100644
+--- a/src/future/moves/_dummy_thread.py
++++ b/src/future/moves/_dummy_thread.py
+@@ -2,7 +2,7 @@
+ from future.utils import PY3
+ if PY3:
+-    from _dummy_thread import *
++    from _thread import *
+ else:
+     __future_module__ = True
+     from dummy_thread import *
+diff --git a/src/future/standard_library/__init__.py b/src/future/standard_library/__init__.py
+index cff02f95..3e8da8a6 100644
+--- a/src/future/standard_library/__init__.py
++++ b/src/future/standard_library/__init__.py
+@@ -125,7 +125,7 @@
+            # 'Tkinter': 'tkinter',
+            '_winreg': 'winreg',
+            'thread': '_thread',
+-           'dummy_thread': '_dummy_thread',
++           'dummy_thread': '_thread',
+            # 'anydbm': 'dbm',   # causes infinite import loop
+            # 'whichdb': 'dbm',  # causes infinite import loop
+            # anydbm and whichdb are handled by fix_imports2
+diff --git a/tests/test_future/test_standard_library.py b/tests/test_future/test_standard_library.py
+index 3ac5d2d7..8ab27a27 100644
+--- a/tests/test_future/test_standard_library.py
++++ b/tests/test_future/test_standard_library.py
+@@ -422,7 +422,6 @@ def test_urllib_imports_install_hooks(self):
+     def test_underscore_prefixed_modules(self):
+         import _thread
+-        import _dummy_thread
+         import _markupbase
+         self.assertTrue(True)
+diff --git a/tests/test_future/test_urllib_toplevel.py b/tests/test_future/test_urllib_toplevel.py
+index 11e77201..25f4ca82 100644
+--- a/tests/test_future/test_urllib_toplevel.py
++++ b/tests/test_future/test_urllib_toplevel.py
+@@ -781,8 +781,6 @@ def test_unquoting(self):
+                          "%s" % result)
+         self.assertRaises((TypeError, AttributeError), urllib_parse.unquote, None)
+         self.assertRaises((TypeError, AttributeError), urllib_parse.unquote, ())
+-        with support.check_warnings(('', BytesWarning), quiet=True):
+-            self.assertRaises((TypeError, AttributeError), urllib_parse.unquote, bytes(b''))
+     def test_unquoting_badpercent(self):
+         # Test unquoting on bad percent-escapes
index 1107c385f9c51bef7fa64ae46191bc2fa67464a9..d30157b8e138744628a1ae255cb1ba5f15bd6f47 100644 (file)
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
-PYTHON_COMPAT=( python{2_7,3_{6,7,8}} pypy3 )
+PYTHON_COMPAT=( python{2_7,3_{6,7,8,9}} pypy3 )
 DISTUTILS_USE_SETUPTOOLS=rdepend
 
 inherit distutils-r1
@@ -24,10 +24,10 @@ distutils_enable_sphinx docs dev-python/sphinx-bootstrap-theme
 
 PATCHES=(
        "${FILESDIR}"/${P}-tests.patch
+       "${FILESDIR}"/${P}-py39.patch
 )
 
 python_prepare_all() {
-       sed -i "/'sphinx.ext.intersphinx'/d" docs/conf.py || die
        # tests requiring network access
        rm tests/test_future/test_requests.py || die
        sed -i -e 's:test.*request_http:_&:' \