dev-python/execne-1.7.1: Version bump, add py38
authorPatrick McLean <patrick.mclean@sony.com>
Sat, 23 Nov 2019 03:08:42 +0000 (19:08 -0800)
committerPatrick McLean <chutzpah@gentoo.org>
Sat, 23 Nov 2019 03:09:55 +0000 (19:09 -0800)
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
dev-python/execnet/Manifest
dev-python/execnet/execnet-1.7.1.ebuild [new file with mode: 0644]
dev-python/execnet/files/execnet-1.7.1-tests.patch [new file with mode: 0644]

index c1c0443486e4c81511b6873f16acbcc183b0a5fe..b35040d60c57a9271746afb529751e411bcba75f 100644 (file)
@@ -1,2 +1,3 @@
 DIST execnet-1.4.1.tar.gz 171041 BLAKE2B 7e51320969b0203a8ff55d69364c3fa69d747d67f5dd3a3aaeab7700192d63918bbc11ae29a1e26e466078f1ca87ea00ddcfe0f98132921bacfc95671c3ad7c7 SHA512 e8c0c32e873f8585ff4d4da3b9cbd40046479370f5653f67a98c9029d4535a619731d1b825332fe4af4dc5ebc9ab11ee879ef45df07f08943b1e1685f2255790
 DIST execnet-1.5.0.tar.gz 168497 BLAKE2B 1777f3a72cbf75e5bdef90cdda956a5d8101980f299a1bade6d6faeec52e1026a18a87c8b6b08c8d27073acedacd38473f68c6823908701816b4725edd3d9fb0 SHA512 ca2b571fafdf8f68b3cc7a04ee326e3255828d4cde28ead65d0cef325569c3a6dee09359e525152248038de65326ffc6b75c8362f53aa5c0b3f736eb596cb2d9
+DIST execnet-1.7.1.tar.gz 174157 BLAKE2B 0c2f7b8918bdd5a3cd1fdc49607e571874e20bd26a4806a6ec1a11359b912ed09244afb781670ff24fbee752516d59ab2bba7f662bbcddb802e7e6efd2c544ef SHA512 375748c03f8d955bd8fca90d5c6308073c31a978fd7a604257512e0a710f899dec5db8a91d5bb5f16de9b0656e1742da9ab513827a1a065a5125bafcf1e63a70
diff --git a/dev-python/execnet/execnet-1.7.1.ebuild b/dev-python/execnet/execnet-1.7.1.ebuild
new file mode 100644 (file)
index 0000000..e691e40
--- /dev/null
@@ -0,0 +1,65 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{5,6,7,8}} pypy{,3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Rapid multi-Python deployment"
+HOMEPAGE="http://codespeak.net/execnet/ https://pypi.org/project/execnet/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc"
+
+RDEPEND=">=dev-python/apipkg-1.4[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       doc? ( $(python_gen_any_dep '
+                       dev-python/sphinx[${PYTHON_USEDEP}]
+               ')
+       )"
+
+PATCHES=(
+       "${FILESDIR}/execnet-1.7.1-tests.patch"
+)
+
+distutils_enable_tests pytest
+
+python_check_deps() {
+       use doc || return 0
+       has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+python_prepare_all() {
+       # Remove doctest that access an i'net site
+       rm doc/example/test_info.rst || die
+
+       sed -i -r 's:(,[[:space:]]*|)"eventlet":: ; s:(,[[:space:]]*|)"gevent"(,|)::' \
+               testing/conftest.py || die
+
+       # get rid of setuptools_scm dep
+       sed -i -r "s:use_scm_version=.+,:version='${PV}',: ; s:\"setuptools_scm\"::" \
+               setup.py || die
+
+       printf -- '__version__ = "%s"\nversion = "%s"\n' "${PV}" "${PV}" > \
+               execnet/_version.py || die
+
+       distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+       if use doc; then
+               sed -i -e 's:^intersphinx_mapping:disabled_&:' \
+                       doc/conf.py || die
+
+               sphinx-build -b html -d doc/_build/doctrees doc \
+                       doc/_build/html || die
+
+               HTML_DOCS+=( "doc/_build/html/." )
+       fi
+}
diff --git a/dev-python/execnet/files/execnet-1.7.1-tests.patch b/dev-python/execnet/files/execnet-1.7.1-tests.patch
new file mode 100644 (file)
index 0000000..5144201
--- /dev/null
@@ -0,0 +1,224 @@
+diff --git a/testing/test_channel.py b/testing/test_channel.py
+index 017abb0..0983bae 100644
+--- a/testing/test_channel.py
++++ b/testing/test_channel.py
+@@ -3,6 +3,7 @@
+ mostly functional tests of gateways.
+ """
+ import time
++import platform
+ import py
+ import pytest
+@@ -362,6 +363,7 @@ class TestChannelFile:
+         s = f.read(5)
+         assert s == ""
++    @pytest.mark.skipif('pypy' in platform.python_implementation().lower(), reason="broken on pypy")
+     def test_channel_file_readline_remote(self, gw):
+         channel = gw.remote_exec(
+             """
+@@ -382,7 +384,7 @@ class TestChannelFile:
+ class TestStringCoerce:
+-    @pytest.mark.skipif('sys.version>="3.0"')
++    @pytest.mark.skip(reason="trying to run stuff under different impls")
+     def test_2to3(self, makegateway):
+         python = _find_version("3")
+         gw = makegateway("popen//python=%s" % python)
+@@ -410,7 +412,7 @@ class TestStringCoerce:
+         assert isinstance(res, str)
+         gw.exit()
+-    @pytest.mark.skipif('sys.version<"3.0"')
++    @pytest.mark.skip(reason="trying to run stuff under different impls")
+     def test_3to2(self, makegateway):
+         python = _find_version("2")
+         gw = makegateway("popen//python=%s" % python)
+diff --git a/testing/test_gateway.py b/testing/test_gateway.py
+index fc1cf6a..b06a18d 100644
+--- a/testing/test_gateway.py
++++ b/testing/test_gateway.py
+@@ -5,6 +5,7 @@ mostly functional tests of gateways.
+ import os
+ import socket
+ import subprocess
++import platform
+ import sys
+ from textwrap import dedent
+@@ -153,6 +154,7 @@ class TestBasicGateway:
+         assert result is True
++    @pytest.mark.skipif('pypy' in platform.python_implementation().lower(), reason="broken on pypy")
+     def test_remote_exec_module_with_traceback(self, gw, tmpdir, monkeypatch):
+         remotetest = tmpdir.join("remotetest.py")
+         remotetest.write(
+@@ -233,6 +235,7 @@ class TestBasicGateway:
+         assert result == 42
+     @needs_osdup
++    @pytest.mark.skipif('pypy' in platform.python_implementation().lower(), reason="broken on pypy")
+     def test_confusion_from_os_write_stdout(self, gw):
+         channel = gw.remote_exec(
+             """
+@@ -250,6 +253,7 @@ class TestBasicGateway:
+         assert res == 42
+     @needs_osdup
++    @pytest.mark.skipif('pypy' in platform.python_implementation().lower(), reason="broken on pypy")
+     def test_confusion_from_os_write_stderr(self, gw):
+         channel = gw.remote_exec(
+             """
+@@ -355,6 +359,7 @@ class TestPopenGateway:
+         )
+         py.test.raises(channel.RemoteError, channel.receive)
++    @pytest.mark.skip(reason="fails if bytecode writing is on")
+     def test_dont_write_bytecode(self, makegateway):
+         check_sys_dont_write_bytecode = """
+             import sys
+@@ -498,7 +503,7 @@ class TestTracing:
+ class TestStringCoerce:
+-    @py.test.mark.skipif('sys.version>="3.0"')
++    @pytest.mark.skip(reason="trying to run stuff under different impls")
+     def test_2to3(self, makegateway):
+         python = _find_version("3")
+         gw = makegateway("popen//python=%s" % python)
+@@ -515,7 +520,7 @@ class TestStringCoerce:
+         assert isinstance(res, str)
+         gw.exit()
+-    @py.test.mark.skipif('sys.version<"3.0"')
++    @pytest.mark.skip(reason="trying to run stuff under different impls")
+     def test_3to2(self, makegateway):
+         python = _find_version("2")
+         gw = makegateway("popen//python=%s" % python)
+diff --git a/testing/test_rsync.py b/testing/test_rsync.py
+index 995f229..a3f69a3 100644
+--- a/testing/test_rsync.py
++++ b/testing/test_rsync.py
+@@ -230,6 +230,7 @@ class TestRSync:
+         assert len(dest.listdir()) == 1
+         assert len(source.listdir()) == 1
++    @pytest.mark.skip(reason="tries to run other python impls")
+     @py.test.mark.skipif("sys.version_info >= (3,)")
+     def test_2_to_3_bridge_can_send_binary_files(self, tmpdir, makegateway):
+         python = _find_version("3")
+diff --git a/testing/test_serializer.py b/testing/test_serializer.py
+index 892e474..2f7f2f7 100644
+--- a/testing/test_serializer.py
++++ b/testing/test_serializer.py
+@@ -146,6 +146,7 @@ simple_tests = [
+ ]
++@pytest.mark.skip(reason="trying to run stuff under different impls")
+ @py.test.mark.parametrize(["tp_name", "repr"], simple_tests)
+ def test_simple(tp_name, repr, dump, load):
+     p = dump(repr)
+@@ -154,6 +155,7 @@ def test_simple(tp_name, repr, dump, load):
+     assert v == repr
++@pytest.mark.skip(reason="trying to run stuff under different impls")
+ def test_set(py2, py3, dump):
+     p = dump("set((1, 2, 3))")
+     tp, v = py2.load(p)
+@@ -176,6 +178,7 @@ def test_set(py2, py3, dump):
+     assert v == "set()"
++@pytest.mark.skip(reason="trying to run stuff under different impls")
+ def test_frozenset(py2, py3, dump):
+     p = dump("frozenset((1, 2, 3))")
+     tp, v = py2.load(p)
+@@ -193,6 +196,7 @@ def test_frozenset(py2, py3, dump):
+     assert v == "frozenset()"
++@pytest.mark.skip(reason="trying to run stuff under different impls")
+ def test_long(py2, py3):
+     really_big = "9223372036854775807324234"
+     p = py2.dump(really_big)
+@@ -211,6 +215,7 @@ def test_long(py2, py3):
+     assert v == really_big + "L"
++@pytest.mark.skip(reason="trying to run stuff under different impls")
+ def test_small_long(py2, py3):
+     p = py2.dump("123L")
+     tp, s = py2.load(p)
+@@ -219,6 +224,7 @@ def test_small_long(py2, py3):
+     assert s == "123"
++@pytest.mark.skip(reason="trying to run stuff under different impls")
+ def test_bytes(py2, py3):
+     p = py3.dump("b'hi'")
+     tp, v = py2.load(p)
+@@ -229,6 +235,7 @@ def test_bytes(py2, py3):
+     assert v == "b'hi'"
++@pytest.mark.skip(reason="trying to run stuff under different impls")
+ def test_str(py2, py3):
+     p = py2.dump("'xyz'")
+     tp, s = py2.load(p)
+@@ -242,6 +249,7 @@ def test_str(py2, py3):
+     assert tp == "bytes"
++@pytest.mark.skip(reason="trying to run stuff under different impls")
+ def test_unicode(py2, py3):
+     p = py2.dump("u'hi'")
+     tp, s = py2.load(p)
+@@ -260,6 +268,7 @@ def test_unicode(py2, py3):
+     assert s == "u'hi'"
++@pytest.mark.skip(reason="trying to run stuff under different impls")
+ def test_bool(py2, py3):
+     p = py2.dump("True")
+     tp, s = py2.load(p)
+@@ -273,12 +282,14 @@ def test_bool(py2, py3):
+     assert s == "False"
++@pytest.mark.skip(reason="trying to run stuff under different impls")
+ def test_none(dump, load):
+     p = dump("None")
+     tp, s = load(p)
+     assert s == "None"
++@pytest.mark.skip(reason="trying to run stuff under different impls")
+ def test_tuple_nested_with_empty_in_between(py2):
+     p = py2.dump("(1, (), 3)")
+     tp, s = py2.load(p)
+diff --git a/testing/test_threadpool.py b/testing/test_threadpool.py
+index d469436..a473e4a 100644
+--- a/testing/test_threadpool.py
++++ b/testing/test_threadpool.py
+@@ -3,6 +3,7 @@ from __future__ import with_statement
+ import os
+ import sys
++import platform
+ import py
+ import pytest
+@@ -29,7 +30,7 @@ def test_simple(pool):
+     reply = pool.spawn(lambda: 42)
+     assert reply.get() == 42
+-
++@pytest.mark.skipif('pypy' in platform.python_implementation().lower(), reason="broken on pypy")
+ def test_some(pool, execmodel):
+     q = execmodel.queue.Queue()
+     num = 4