summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-03-09 13:43:24 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-03-09 13:43:24 +0000
commit1555ff27017e77bffca3b0241af4100ed20e2782 (patch)
treeec23c53e5f5fc9706bfeea06acbbf697c806f490 /dev-python
parent22ba87fcdc64dfb9b5cda0c3b2f63761d3fabb7b (diff)
downloadbaldeagleos-repo-1555ff27017e77bffca3b0241af4100ed20e2782.tar.gz
baldeagleos-repo-1555ff27017e77bffca3b0241af4100ed20e2782.tar.xz
baldeagleos-repo-1555ff27017e77bffca3b0241af4100ed20e2782.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/click/click-6.7-r3.ebuild38
-rw-r--r--dev-python/deepmerge/Manifest2
-rw-r--r--dev-python/deepmerge/deepmerge-0.1.1_p1.ebuild (renamed from dev-python/deepmerge/deepmerge-0.1.1.ebuild)7
-rw-r--r--dev-python/elasticsearch-curator/Manifest1
-rw-r--r--dev-python/elasticsearch-curator/elasticsearch-curator-5.8.1-r3.ebuild165
-rw-r--r--dev-python/elasticsearch-curator/elasticsearch-curator-5.8.3.ebuild165
-rw-r--r--dev-python/elasticsearch-py/elasticsearch-py-7.7.0-r1.ebuild109
-rw-r--r--dev-python/pychm/pychm-0.8.6.ebuild10
-rw-r--r--dev-python/pydantic/Manifest1
-rw-r--r--dev-python/pydantic/pydantic-1.8.1.ebuild41
-rw-r--r--dev-python/pyproject2setuppy/Manifest1
-rw-r--r--dev-python/pyproject2setuppy/pyproject2setuppy-10.ebuild2
-rw-r--r--dev-python/pyproject2setuppy/pyproject2setuppy-9.ebuild26
-rw-r--r--dev-python/pytest-pylint/Manifest1
-rw-r--r--dev-python/pytest-pylint/metadata.xml2
-rw-r--r--dev-python/pytest-pylint/pytest-pylint-0.18.0.ebuild32
-rw-r--r--dev-python/python-markdown-math/Manifest1
-rw-r--r--dev-python/python-markdown-math/metadata.xml1
-rw-r--r--dev-python/python-markdown-math/python-markdown-math-0.8.ebuild21
-rw-r--r--dev-python/requests-toolbelt/requests-toolbelt-0.9.1.ebuild3
-rw-r--r--dev-python/typed-ast/typed-ast-1.4.2.ebuild10
-rw-r--r--dev-python/urlgrabber/Manifest1
-rw-r--r--dev-python/urlgrabber/files/urlgrabber-4.1.0-skip-test_range.patch11
-rw-r--r--dev-python/urlgrabber/files/urlgrabber-4.1.0-test-mirror-set-thread-daemon.patch10
-rw-r--r--dev-python/urlgrabber/metadata.xml1
-rw-r--r--dev-python/urlgrabber/urlgrabber-4.0.0-r1.ebuild (renamed from dev-python/urlgrabber/urlgrabber-4.0.0.ebuild)7
-rw-r--r--dev-python/urlgrabber/urlgrabber-4.1.0.ebuild37
27 files changed, 666 insertions, 40 deletions
diff --git a/dev-python/click/click-6.7-r3.ebuild b/dev-python/click/click-6.7-r3.ebuild
new file mode 100644
index 000000000000..f73b1cef5400
--- /dev/null
+++ b/dev-python/click/click-6.7-r3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python package for creating beautiful command line interfaces"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="https://palletsprojects.com/p/click/ https://pypi.org/project/click/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="examples test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+PATCHES=(
+ # From upstream, can be removed in next release.
+ "${FILESDIR}/${PN}-6.7-fix-tests.patch"
+ # From upstream, can be removed in next release.
+ "${FILESDIR}/${PN}-6.7-support-sphinx-1.7.patch"
+)
+
+python_test() {
+ emake test
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/deepmerge/Manifest b/dev-python/deepmerge/Manifest
index 2a50239627c8..d555e29077f1 100644
--- a/dev-python/deepmerge/Manifest
+++ b/dev-python/deepmerge/Manifest
@@ -1 +1 @@
-DIST deepmerge-0.1.1.tar.gz 5432 BLAKE2B 18f54fa4f0504c1825300373665c99ef1f0ea8f779b00f89cfe8ad44861cb4991cf5694c08788ac1ad3b52686734967dbb954553ba84741a71a70e24c98e6b18 SHA512 209ff3ca6be02d788f9740b6241e2ae0366592051933438e887cac5f89f86201bb870336e94d1bacff709dd63c7644161b33ed1da29da1b823b37987813862c0
+DIST deepmerge-0.1.1_p1.tar.gz 14317 BLAKE2B 0e327b129a63f1f3fd5a18ae5c895452a823401f54b614c6c085f82e9332b86800e9ccc42fbd2d6c9904e6ae0bc999b393e9af542c310a76c8975567b9b2346f SHA512 72a40609a31dbb692908365f32a94527280e7d1bceed27f27a9a17d6f30551054235de608cef5e88f285bf33b9c155c0aa4aebf74f1c9f8049f0751073593083
diff --git a/dev-python/deepmerge/deepmerge-0.1.1.ebuild b/dev-python/deepmerge/deepmerge-0.1.1_p1.ebuild
index 002f1fd889cf..52421230d555 100644
--- a/dev-python/deepmerge/deepmerge-0.1.1.ebuild
+++ b/dev-python/deepmerge/deepmerge-0.1.1_p1.ebuild
@@ -6,16 +6,17 @@ EAPI=7
PYTHON_COMPAT=( python3_{6,7,8,9,10} )
inherit distutils-r1
+MY_COMMIT="587279c6771abb13ed831ebc2cba3c9e4d81e7e5"
DESCRIPTION="Tools to handle merging of nested data structures in python"
HOMEPAGE="https://deepmerge.readthedocs.io/en/latest"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+SRC_URI="https://github.com/toumorokoshi/deepmerge/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-# pypi doesn't ship tests, and last github release is 0.0.5
-RESTRICT="test"
+distutils_enable_tests pytest
python_prepare_all() {
sed -i -e '/vcver/d' setup.py || die
diff --git a/dev-python/elasticsearch-curator/Manifest b/dev-python/elasticsearch-curator/Manifest
index e0723871112a..397f32db97d5 100644
--- a/dev-python/elasticsearch-curator/Manifest
+++ b/dev-python/elasticsearch-curator/Manifest
@@ -1,2 +1,3 @@
DIST elasticsearch-7.3.2-linux-x86_64.tar.gz 285050383 BLAKE2B 730d8550f5887facae3075ce3b0bdb96b49350782fe7e687b8f4477bb363ce7c1595f2b1ece2b7d59d18539886b6e4806f56b0f5674bc417528232a92f1c00a8 SHA512 08e89347797ec6f008fb76cda17ec3e0dbc553fc992d07f4944fd99d17d5bc934849d9e534724d1541432c9844d3da57d875bc08a0c4cd95ba4251e2b03f833b
DIST elasticsearch-curator-5.8.1.tar.gz 231233 BLAKE2B d2369c18be69cc5c8e17a6d7a72660bd7165c349cdb06c740c8db9dd2b583f181a09ba7d53ee0f4692cb6e31d373274f0610f2a654ba4a6da2d0ca0ff22c7c97 SHA512 500767967f423629f34d42ee088a9c007e193216c42f5590364ffcacc9e1efeba65dd4d333f806250e3b7fe0bea8b5501d1e6f3bf6fb0b8c46a46954e92c4a65
+DIST elasticsearch-curator-5.8.3.tar.gz 239107 BLAKE2B 6f924dd2e5d39f06741dbb0529f4ea8bb61a280ebe901682ffd95054cd1ad2b30ef5619d0d4c8237923a6ab3d9bd7531a7bc6ff674435d807f1f146a2ecb57e7 SHA512 243d37aa36a50711b57aeb1df61ed48f29e5097d9f7d5b515a5437dca2b4eb92ed92a4886db3213ef549192d9886c20ee10133856990e8c0ebaa16bb24a10592
diff --git a/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.1-r3.ebuild b/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.1-r3.ebuild
new file mode 100644
index 000000000000..a70ee588dbc1
--- /dev/null
+++ b/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.1-r3.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+MY_PN="curator"
+ES_VERSION="7.3.2"
+
+inherit distutils-r1
+
+DESCRIPTION="Tending time-series indices in Elasticsearch"
+HOMEPAGE="https://github.com/elastic/curator"
+SRC_URI="https://github.com/elastic/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+# tests fail in chroot
+# https://github.com/elastic/elasticsearch/issues/12018
+RESTRICT="test"
+IUSE="doc test"
+
+# vulnerable pyyaml
+# https://github.com/elastic/curator/issues/1415
+RDEPEND="
+ >=dev-python/elasticsearch-py-7.0.4[${PYTHON_USEDEP}]
+ <dev-python/elasticsearch-py-8.0.0[${PYTHON_USEDEP}]
+ >=dev-python/click-6.7[${PYTHON_USEDEP}]
+ <dev-python/click-7.0[${PYTHON_USEDEP}]
+ >=dev-python/certifi-2019.9.11[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.24.2[${PYTHON_USEDEP}]
+ <dev-python/urllib3-1.26[${PYTHON_USEDEP}]
+ >=dev-python/voluptuous-0.9.3[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/six-1.11.0[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/cx_Freeze[${PYTHON_USEDEP}]
+ dev-python/importlib_metadata[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ virtual/jre
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+python_prepare_all() {
+ # avoid downloading from net
+ sed -e '/^intersphinx_mapping/,+3d' -i docs/conf.py || die
+
+ # requests_aws4auth not in portage
+ sed -e '/boto3/d' \
+ -e '/requests_aws4auth/d' \
+ -e 's/pyyaml==3.13/pyyaml/g' \
+ -e '/tests_require/s/, "coverage", "nosexcover"//g' \
+ -i setup.cfg setup.py || die
+
+ # Bug 713342
+ sed -i 's/yaml.load/yaml.unsafe_load/g' curator/utils.py test/unit/* || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ emake -C docs -j1 man $(usex doc html "")
+}
+
+# running tests in non-chroot environments:
+# FEATURES="test -usersandbox" emerge dev-python/elasticsearch-curator
+python_test_all() {
+ # starts two ES instances (local,remote) and runs the tests
+ # https://github.com/elastic/curator/blob/master/travis-run.sh
+ local ES_INSTANCES="local remote"
+ local ES_PATH="${WORKDIR}/elasticsearch-${ES_VERSION}"
+
+ declare -A ES_PORT
+ ES_PORT[local]=9200
+ ES_PORT[remote]=9201
+
+ local i transport
+ declare -A ES_CONFIG_DIR ES_CONFIG_PATH ES_INSTANCE ES_LOG ES_PID
+ for i in ${ES_INSTANCES}; do
+ ES_CONFIG_DIR[$i]="${ES_PATH}/$i"
+ ES_CONFIG_PATH[$i]="${ES_CONFIG_DIR[$i]}/elasticsearch.yml"
+ ES_PID[$i]="${ES_PATH}/$i.pid"
+ ES_LOG[$i]="${ES_PATH}/logs/$i.log"
+ done
+
+ # configure ES instances
+ for i in ${ES_INSTANCES}; do
+ mkdir -p "${ES_CONFIG_DIR[$i]}" || die
+ cp ${ES_PATH}/config/{jvm.options,log4j2.properties} "${ES_CONFIG_DIR[$i]}"/ || die
+ echo 'network.host: 127.0.0.1' > "${ES_CONFIG_PATH[$i]}" || die
+ echo "http.port: ${ES_PORT[$i]}" >> "${ES_CONFIG_PATH[$i]}" || die
+ echo "cluster.name: $i" >> "${ES_CONFIG_PATH[$i]}" || die
+ echo "node.name: $i" >> "${ES_CONFIG_PATH[$i]}" || die
+ echo 'node.max_local_storage_nodes: 2' >> "${ES_CONFIG_PATH[$i]}" || die
+ transport=$((${ES_PORT[$i]}+100))
+ echo "transport.port: ${transport}" >> "${ES_CONFIG_PATH[$i]}" || die
+ echo "discovery.seed_hosts: [\"localhost:${transport}\"]" >> "${ES_CONFIG_PATH[$i]}" || die
+ echo "discovery.type: single-node" >> "${ES_CONFIG_PATH[$i]}" || die
+ done
+
+ echo 'path.repo: /' >> "${ES_CONFIG_PATH[local]}" || die
+ echo "reindex.remote.whitelist: localhost:${ES_PORT[remote]}" >> "${ES_CONFIG_PATH[local]}" || die
+
+ # start ES instances
+ for i in ${ES_INSTANCES}; do
+ ES_PATH_CONF=${ES_CONFIG_DIR[$i]} "${ES_PATH}/bin/elasticsearch" -d -p "${ES_PID[$i]}" || die
+
+ local j
+ local es_started=0
+ for j in {1..30}; do
+ grep -q "started" "${ES_LOG[$i]}" 2> /dev/null
+ if [[ $? -eq 0 ]]; then
+ einfo "Elasticsearch $i started"
+ es_started=1
+ eend 0
+ break
+ elif grep -q 'BindException\[Address already in use\]' "${ES_LOG[$i]}" 2>/dev/null; then
+ eend 1
+ eerror "Elasticsearch $i already running"
+ die "Cannot start Elasticsearch $i for tests"
+ else
+ einfo "Waiting for Elasticsearch $i"
+ eend 1
+ sleep 2
+ continue
+ fi
+ done
+
+ [[ $es_started -eq 0 ]] && die "Elasticsearch failed to start"
+ done
+
+ export TEST_ES_SERVER="localhost:${ES_PORT[local]}"
+ export REMOTE_ES_SERVER="localhost:${ES_PORT[remote]}"
+
+ # run tests
+ nosetests -v || die
+
+ for i in ${ES_INSTANCES}; do
+ pkill -F ${ES_PID[$i]}
+ done
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ doman docs/_build/man/*
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ ewarn ""
+ ewarn "For Python 3 support information please read: http://click.pocoo.org/latest/python3/"
+ ewarn ""
+ ewarn "Example usage on Python 3:"
+ ewarn "export LC_ALL=en_US.UTF-8"
+ ewarn "export LANG=en_US.UTF-8"
+ ewarn "curator ..."
+}
diff --git a/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.3.ebuild b/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.3.ebuild
new file mode 100644
index 000000000000..eacab136ba0a
--- /dev/null
+++ b/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.3.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+MY_PN="curator"
+ES_VERSION="7.3.2"
+
+inherit distutils-r1
+
+DESCRIPTION="Tending time-series indices in Elasticsearch"
+HOMEPAGE="https://github.com/elastic/curator"
+SRC_URI="https://github.com/elastic/${MY_PN}/archive/V${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+# tests fail in chroot
+# https://github.com/elastic/elasticsearch/issues/12018
+RESTRICT="test"
+IUSE="doc test"
+
+# vulnerable pyyaml
+# https://github.com/elastic/curator/issues/1415
+RDEPEND="
+ >=dev-python/elasticsearch-py-7.0.4[${PYTHON_USEDEP}]
+ <dev-python/elasticsearch-py-8.0.0[${PYTHON_USEDEP}]
+ >=dev-python/click-6.7[${PYTHON_USEDEP}]
+ <dev-python/click-7.0[${PYTHON_USEDEP}]
+ >=dev-python/certifi-2019.9.11[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.24.2[${PYTHON_USEDEP}]
+ <dev-python/urllib3-1.26[${PYTHON_USEDEP}]
+ >=dev-python/voluptuous-0.9.3[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/six-1.11.0[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/cx_Freeze[${PYTHON_USEDEP}]
+ dev-python/importlib_metadata[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ virtual/jre
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+python_prepare_all() {
+ # avoid downloading from net
+ sed -e '/^intersphinx_mapping/,+3d' -i docs/conf.py || die
+
+ # requests_aws4auth not in portage
+ sed -e '/boto3/d' \
+ -e '/requests_aws4auth/d' \
+ -e 's/pyyaml==3.13/pyyaml/g' \
+ -e '/tests_require/s/, "coverage", "nosexcover"//g' \
+ -i setup.cfg setup.py || die
+
+ # Bug 713342
+ sed -i 's/yaml.load/yaml.unsafe_load/g' curator/utils.py test/unit/* || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ emake -C docs -j1 man $(usex doc html "")
+}
+
+# running tests in non-chroot environments:
+# FEATURES="test -usersandbox" emerge dev-python/elasticsearch-curator
+python_test_all() {
+ # starts two ES instances (local,remote) and runs the tests
+ # https://github.com/elastic/curator/blob/master/travis-run.sh
+ local ES_INSTANCES="local remote"
+ local ES_PATH="${WORKDIR}/elasticsearch-${ES_VERSION}"
+
+ declare -A ES_PORT
+ ES_PORT[local]=9200
+ ES_PORT[remote]=9201
+
+ local i transport
+ declare -A ES_CONFIG_DIR ES_CONFIG_PATH ES_INSTANCE ES_LOG ES_PID
+ for i in ${ES_INSTANCES}; do
+ ES_CONFIG_DIR[$i]="${ES_PATH}/$i"
+ ES_CONFIG_PATH[$i]="${ES_CONFIG_DIR[$i]}/elasticsearch.yml"
+ ES_PID[$i]="${ES_PATH}/$i.pid"
+ ES_LOG[$i]="${ES_PATH}/logs/$i.log"
+ done
+
+ # configure ES instances
+ for i in ${ES_INSTANCES}; do
+ mkdir -p "${ES_CONFIG_DIR[$i]}" || die
+ cp ${ES_PATH}/config/{jvm.options,log4j2.properties} "${ES_CONFIG_DIR[$i]}"/ || die
+ echo 'network.host: 127.0.0.1' > "${ES_CONFIG_PATH[$i]}" || die
+ echo "http.port: ${ES_PORT[$i]}" >> "${ES_CONFIG_PATH[$i]}" || die
+ echo "cluster.name: $i" >> "${ES_CONFIG_PATH[$i]}" || die
+ echo "node.name: $i" >> "${ES_CONFIG_PATH[$i]}" || die
+ echo 'node.max_local_storage_nodes: 2' >> "${ES_CONFIG_PATH[$i]}" || die
+ transport=$((${ES_PORT[$i]}+100))
+ echo "transport.port: ${transport}" >> "${ES_CONFIG_PATH[$i]}" || die
+ echo "discovery.seed_hosts: [\"localhost:${transport}\"]" >> "${ES_CONFIG_PATH[$i]}" || die
+ echo "discovery.type: single-node" >> "${ES_CONFIG_PATH[$i]}" || die
+ done
+
+ echo 'path.repo: /' >> "${ES_CONFIG_PATH[local]}" || die
+ echo "reindex.remote.whitelist: localhost:${ES_PORT[remote]}" >> "${ES_CONFIG_PATH[local]}" || die
+
+ # start ES instances
+ for i in ${ES_INSTANCES}; do
+ ES_PATH_CONF=${ES_CONFIG_DIR[$i]} "${ES_PATH}/bin/elasticsearch" -d -p "${ES_PID[$i]}" || die
+
+ local j
+ local es_started=0
+ for j in {1..30}; do
+ grep -q "started" "${ES_LOG[$i]}" 2> /dev/null
+ if [[ $? -eq 0 ]]; then
+ einfo "Elasticsearch $i started"
+ es_started=1
+ eend 0
+ break
+ elif grep -q 'BindException\[Address already in use\]' "${ES_LOG[$i]}" 2>/dev/null; then
+ eend 1
+ eerror "Elasticsearch $i already running"
+ die "Cannot start Elasticsearch $i for tests"
+ else
+ einfo "Waiting for Elasticsearch $i"
+ eend 1
+ sleep 2
+ continue
+ fi
+ done
+
+ [[ $es_started -eq 0 ]] && die "Elasticsearch failed to start"
+ done
+
+ export TEST_ES_SERVER="localhost:${ES_PORT[local]}"
+ export REMOTE_ES_SERVER="localhost:${ES_PORT[remote]}"
+
+ # run tests
+ nosetests -v || die
+
+ for i in ${ES_INSTANCES}; do
+ pkill -F ${ES_PID[$i]}
+ done
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ doman docs/_build/man/*
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ ewarn ""
+ ewarn "For Python 3 support information please read: http://click.pocoo.org/latest/python3/"
+ ewarn ""
+ ewarn "Example usage on Python 3:"
+ ewarn "export LC_ALL=en_US.UTF-8"
+ ewarn "export LANG=en_US.UTF-8"
+ ewarn "curator ..."
+}
diff --git a/dev-python/elasticsearch-py/elasticsearch-py-7.7.0-r1.ebuild b/dev-python/elasticsearch-py/elasticsearch-py-7.7.0-r1.ebuild
new file mode 100644
index 000000000000..de96aef11f94
--- /dev/null
+++ b/dev-python/elasticsearch-py/elasticsearch-py-7.7.0-r1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+ES_VERSION="7.7.0"
+
+inherit distutils-r1
+
+MY_PN=${PN/-py/}
+DESCRIPTION="Official Python low-level client for Elasticsearch"
+HOMEPAGE="https://github.com/elastic/elasticsearch-py"
+SRC_URI="https://github.com/elastic/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-${ES_VERSION}-no-jdk-linux-x86_64.tar.gz )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+# tests fail in chroot
+# https://github.com/elastic/elasticsearch/issues/12018
+RESTRICT="test"
+
+RDEPEND="dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.21.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/requests-3.0.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pretty-yaml[${PYTHON_USEDEP}]
+ virtual/jre:*
+ )"
+BDEPEND=">=dev-python/sphinx-1.3.1-r1"
+
+python_prepare_all() {
+ # needs numpy/pandas
+ sed -e '/test_serializes_numpy_bool/,+79d' \
+ -e '/import numpy/d' \
+ -e '/import pandas/d' \
+ -i test_elasticsearch/test_serializer.py || die
+
+ sed -e '/coverage/d' \
+ -e '/nosexcover/d' \
+ -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ emake -C docs -j1 man $(usex doc html "")
+}
+
+# FEATURES="test -usersandbox" emerge dev-python/elasticsearch-py
+python_test() {
+ local es="${WORKDIR}/elasticsearch-${ES_VERSION}"
+ local es_port="25124"
+ local es_instance="gentoo-es-py-test"
+ local es_log="${es}/logs/${es_instance}.log"
+ local pid="${es}/elasticsearch.pid"
+ export JAVA_HOME=$(java-config -g JAVA_HOME || die)
+
+ # run Elasticsearch instance on custom port
+ sed -i "s/#http.port: 9200/http.port: ${es_port}/g; \
+ s/#cluster.name: my-application/cluster.name: ${es_instance}/g" \
+ "${es}/config/elasticsearch.yml" || die
+
+ # start local instance of elasticsearch
+ "${es}"/bin/elasticsearch -d -p "${pid}" -Epath.repo=/ || die
+
+ local i
+ local es_started=0
+ for i in {1..20}; do
+ grep -q "started" ${es_log} 2> /dev/null
+ if [[ $? -eq 0 ]]; then
+ einfo "Elasticsearch started"
+ es_started=1
+ eend 0
+ break
+ elif grep -q 'BindException\[Address already in use\]' "${es_log}" 2>/dev/null; then
+ eend 1
+ eerror "Elasticsearch already running"
+ die "Cannot start Elasticsearch for tests"
+ else
+ einfo "Waiting for Elasticsearch"
+ eend 1
+ sleep 2
+ continue
+ fi
+ done
+
+ [[ $es_started -eq 0 ]] && die "Elasticsearch failed to start"
+
+ export ELASTICSEARCH_HOST="localhost:${es_port}"
+ nosetests -v || die
+
+ pkill -F ${pid} || die
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ doman docs/_build/man/*
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pychm/pychm-0.8.6.ebuild b/dev-python/pychm/pychm-0.8.6.ebuild
index 9d91a76599f4..4044f79c172f 100644
--- a/dev-python/pychm/pychm-0.8.6.ebuild
+++ b/dev-python/pychm/pychm-0.8.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -19,3 +19,11 @@ RDEPEND="dev-libs/chmlib"
DEPEND="${RDEPEND}"
distutils_enable_tests pytest
+
+src_test() {
+ # need to avoid relative import of 'chm' directory but tests rely
+ # on locating files relatively via tests/...
+ mv tests .. || die
+ cd .. || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index 08803723d751..b460cb616af2 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -1 +1,2 @@
DIST pydantic-1.6.1.tar.gz 244677 BLAKE2B 0a1d6986858ab753cbc4dd262bd268b2a365c241a7de106a7bf21714c6c499c7dbacaea095789d3503507965ca50106da32545be670ed0261827f1fe0316ff67 SHA512 b0442f78a661f56d29697da7e27393261420bdb0f08473d2f7872145a49a18de8c17c903d0899a44263bcd8229e8790161da032dd5a3d5f2dae347c66bd6a567
+DIST pydantic-1.8.1.tar.gz 300512 BLAKE2B a7840bd895c73c3049184fc2c4a165783fd68a82290c3826be53667e7b7919580493aff9f2aaa25274b0251da14218dd6f7a41c1cb3cb55f0fbb0c90f79b7833 SHA512 dc58ab2e411744e63408c952c92c589acf037e809c60b85e02f277af2c6342c99c4fbfa7a585f14e57256912c0e6471821973bd2f755aac3822eb3a7883fd407
diff --git a/dev-python/pydantic/pydantic-1.8.1.ebuild b/dev-python/pydantic/pydantic-1.8.1.ebuild
new file mode 100644
index 000000000000..b6d23b4c69a0
--- /dev/null
+++ b/dev-python/pydantic/pydantic-1.8.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="https://github.com/samuelcolvin/pydantic"
+# No tests on PyPI: https://github.com/samuelcolvin/pydantic/pull/1976
+SRC_URI="https://github.com/samuelcolvin/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/python-email-validator[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # seriously?
+ sed -i -e '/CFLAGS/d' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # TODO
+ epytest --deselect tests/test_hypothesis_plugin.py
+}
diff --git a/dev-python/pyproject2setuppy/Manifest b/dev-python/pyproject2setuppy/Manifest
index bcfbd1953829..afa3e33a6e65 100644
--- a/dev-python/pyproject2setuppy/Manifest
+++ b/dev-python/pyproject2setuppy/Manifest
@@ -1,2 +1 @@
DIST pyproject2setuppy-10.tar.gz 10221 BLAKE2B d9309cd7fe44a5f2f32311033df14e3e9c6391859a063a3c7afd25df69143dc93b0d8ccd03b908f0bf0badfce394f04f46177a30e7dc94043a5405017d9da711 SHA512 e6f94c29e5bde9c884fd14bba7d28a5313f363fbb7af3d2e5f2d55d718340c14cf26a5b28956eaf6c47a74b6b498b88e9a0fe0a2bd504370dbcb1553765da0f4
-DIST pyproject2setuppy-9.tar.gz 9611 BLAKE2B 448e6ca468c2a5c1097e63316bf1a2da41dfc4a8dfa756553b56ebcbb66c43cce7dd57aeacce45491087b956a01b8ff2707fc5f60ada10a4f496c9c8f7c722c4 SHA512 bd337f392e3dfd686039714687bd8a57b7b946b486f5513bf603e322843a4d8f4c2fdca747e61090f00f3ed4a5284a2b182f064412a3c8e70f278a2be7551d93
diff --git a/dev-python/pyproject2setuppy/pyproject2setuppy-10.ebuild b/dev-python/pyproject2setuppy/pyproject2setuppy-10.ebuild
index 37fe81665a72..254e09e10885 100644
--- a/dev-python/pyproject2setuppy/pyproject2setuppy-10.ebuild
+++ b/dev-python/pyproject2setuppy/pyproject2setuppy-10.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
RDEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
diff --git a/dev-python/pyproject2setuppy/pyproject2setuppy-9.ebuild b/dev-python/pyproject2setuppy/pyproject2setuppy-9.ebuild
deleted file mode 100644
index d0ed7d7604de..000000000000
--- a/dev-python/pyproject2setuppy/pyproject2setuppy-9.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=manual
-PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Cheap setup.py hack to install flit & poetry-based projects"
-HOMEPAGE="https://github.com/mgorny/pyproject2setuppy"
-SRC_URI="
- https://github.com/mgorny/pyproject2setuppy/archive/v${PV}.tar.gz
- -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/toml[${PYTHON_USEDEP}]"
-BDEPEND="${RDEPEND}"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-pylint/Manifest b/dev-python/pytest-pylint/Manifest
index fa064b7cb0a5..3297991c13cb 100644
--- a/dev-python/pytest-pylint/Manifest
+++ b/dev-python/pytest-pylint/Manifest
@@ -1 +1,2 @@
DIST pytest-pylint-0.17.0.tar.gz 11660 BLAKE2B b536dcaaf0ac652dcbe66018fa22e120782496de58f74003c523eb003ff0556f9b738e528a85724a1e589e18bb0024d99fbeb581b7f5b36ec349ad07da8d26d0 SHA512 a23937ec191ef14829530ac6bf31b882bc250f312e2ba6e3b8cc1187c888511e4b67ffaf5bce176556a621fbf80239b30c43c635898d458bb8d819e92a9f8142
+DIST pytest-pylint-0.18.0.tar.gz 12448 BLAKE2B 9d0cecb08fc87d7e2aade47af3f2677431776a425726c281e9abc5fdeebb84f38ab4a97e405ed407b1cd241eb97a8cd90e878af61f818b46cab5f9fba5ca3d5f SHA512 a0716104d288774d4c3ab596f30a33cf439df5031647912574c31eefc3a84e69e82fc362f77e73b437c7566a596d2ff8bf51a332626a7fa7468cea3b916e9ad9
diff --git a/dev-python/pytest-pylint/metadata.xml b/dev-python/pytest-pylint/metadata.xml
index 145693c32b0c..f1921896c4da 100644
--- a/dev-python/pytest-pylint/metadata.xml
+++ b/dev-python/pytest-pylint/metadata.xml
@@ -3,6 +3,7 @@
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<upstream>
<remote-id type="github">carsongee/pytest-pylint</remote-id>
@@ -10,4 +11,5 @@
<bugs-to>https://github.com/carsongee/pytest-pylint/issues</bugs-to>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pytest-pylint/pytest-pylint-0.18.0.ebuild b/dev-python/pytest-pylint/pytest-pylint-0.18.0.ebuild
new file mode 100644
index 000000000000..e36b5508b1ae
--- /dev/null
+++ b/dev-python/pytest-pylint/pytest-pylint-0.18.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="pytest plugin to check source code with pylint"
+HOMEPAGE="https://github.com/carsongee/pytest-pylint"
+SRC_URI="https://github.com/carsongee/pytest-pylint/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/pylint-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-5.4[${PYTHON_USEDEP}]
+ >=dev-python/toml-0.7.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests --install pytest
+
+python_prepare_all() {
+ # Disable flake8 and pep8 options
+ sed -i -e '/^addopts =/d' tox.ini || die
+ # Remove pytest-runner requirement
+ sed -i -e "s/'pytest-runner'//" setup.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/python-markdown-math/Manifest b/dev-python/python-markdown-math/Manifest
index 1d555cda7597..186afaa9fa4a 100644
--- a/dev-python/python-markdown-math/Manifest
+++ b/dev-python/python-markdown-math/Manifest
@@ -1 +1,2 @@
DIST python-markdown-math-0.7.tar.gz 8320 BLAKE2B b402a6c1c3ef93f8716b88c0ba356109e6b483ce26b4a7923c16642a7a7fe69b25ee00e4f537d26b6fa743e81fef05871c447f9e5d3a986ff52bf7095bcdd436 SHA512 05bfff71c758785591c388a95b176205a8707428cbda91734c4f1b5d39cd030d9106782e92aca8f1de18be227b1489ad2cb09981b4455ba1d1177974cd0cbecd
+DIST python-markdown-math-0.8.tar.gz 8509 BLAKE2B f91d0dbd6073d724f90a1265a64f2375be51ce25f6bdf808e1176a582c0e98aa59a52d45d67c5e37f674db5b5b7dead572a93950b9143f0950a0ee20b241e4a2 SHA512 d35e0cba68fb4ec099368d0d4865a5ad1baab6fbd23f7457312ab6893c3864287c41c32f560bbd8cddb0afff6522640f9b9144a02774539eba4e1302fac05bcb
diff --git a/dev-python/python-markdown-math/metadata.xml b/dev-python/python-markdown-math/metadata.xml
index adcb2f0c7ab7..73662aa936ff 100644
--- a/dev-python/python-markdown-math/metadata.xml
+++ b/dev-python/python-markdown-math/metadata.xml
@@ -18,4 +18,5 @@
<remote-id type="pypi">python-markdown-math</remote-id>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/python-markdown-math/python-markdown-math-0.8.ebuild b/dev-python/python-markdown-math/python-markdown-math-0.8.ebuild
new file mode 100644
index 000000000000..e16bf6beb52d
--- /dev/null
+++ b/dev-python/python-markdown-math/python-markdown-math-0.8.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="Math extension for Python-Markdown"
+HOMEPAGE="https://github.com/mitya57/python-markdown-math"
+SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/markdown-3.0.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests setup.py
diff --git a/dev-python/requests-toolbelt/requests-toolbelt-0.9.1.ebuild b/dev-python/requests-toolbelt/requests-toolbelt-0.9.1.ebuild
index 7ced7a10bc15..91a2133a6e86 100644
--- a/dev-python/requests-toolbelt/requests-toolbelt-0.9.1.ebuild
+++ b/dev-python/requests-toolbelt/requests-toolbelt-0.9.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -20,6 +20,7 @@ DEPEND="${RDEPEND}
test? (
dev-python/betamax[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
)"
DOCS=( AUTHORS.rst HISTORY.rst README.rst )
diff --git a/dev-python/typed-ast/typed-ast-1.4.2.ebuild b/dev-python/typed-ast/typed-ast-1.4.2.ebuild
index 69ea63814bea..b71c1ef05cf4 100644
--- a/dev-python/typed-ast/typed-ast-1.4.2.ebuild
+++ b/dev-python/typed-ast/typed-ast-1.4.2.ebuild
@@ -9,13 +9,15 @@ inherit distutils-r1
DESCRIPTION="Python typed-ast backported"
HOMEPAGE="https://pypi.org/project/typed-ast/ https://github.com/python/typed_ast"
SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/_}/${P/-/_}.tar.gz"
+S="${WORKDIR}/${P/-/_}"
LICENSE="Apache-2.0 MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~x64-macos"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-
-S="${WORKDIR}/${P/-/_}"
-
distutils_enable_tests pytest
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ epytest
+}
diff --git a/dev-python/urlgrabber/Manifest b/dev-python/urlgrabber/Manifest
index fc93e0b25fb6..cd42b95c38a2 100644
--- a/dev-python/urlgrabber/Manifest
+++ b/dev-python/urlgrabber/Manifest
@@ -1 +1,2 @@
DIST urlgrabber-4.0.0.tar.gz 86308 BLAKE2B 15195336d8e19331134b3bc1de29a669b80ab62c14e613fbcbbc1b8be8cb4ee1da3df317591989c6a3e3a403f8ad9071ca866006f23fbadc6283e88d5f050290 SHA512 01579281b1548c71737166daa6dfb7eaafceaf4afd9703f8e5e3193c33613750cb4291e3c7939065e995a173925965a16e656c43324f3b599f9c83d9e479e8c1
+DIST urlgrabber-4.1.0.tar.gz 277537 BLAKE2B 3697cb1d08fe0fa8bc83118e1466d76d1b8aa0375fd895d12f5135850bb5100d1d52b1691b2135a80a4937158c5d362e88777ae9ba58790ad88355f13e679b34 SHA512 43e54656d0ca92f616d49cd90dd6282408d64909848e4bf1c74b3b1eede55ba0c9526d6ea5fa9ae18545b806ef9965130ecf1cb1f5f05d4611db974d3f2aa200
diff --git a/dev-python/urlgrabber/files/urlgrabber-4.1.0-skip-test_range.patch b/dev-python/urlgrabber/files/urlgrabber-4.1.0-skip-test_range.patch
new file mode 100644
index 000000000000..548242fc1894
--- /dev/null
+++ b/dev-python/urlgrabber/files/urlgrabber-4.1.0-skip-test_range.patch
@@ -0,0 +1,11 @@
+--- urlgrabber-urlgrabber-4-1-0/test/test_mirror.py.orig 2020-11-16 06:23:15.874354961 +0100
++++ urlgrabber-urlgrabber-4-1-0/test/test_mirror.py 2020-11-16 06:23:59.674354944 +0100
+@@ -329,6 +329,8 @@
+ self.assertEqual(self.code, 503); del self.code
+
+ def test_range(self):
++ # skip failing test
++ self.skip()
+ 'test client-side processing of HTTP ranges'
+ # server does not process ranges
+ self.reply = 200, b'OK'
diff --git a/dev-python/urlgrabber/files/urlgrabber-4.1.0-test-mirror-set-thread-daemon.patch b/dev-python/urlgrabber/files/urlgrabber-4.1.0-test-mirror-set-thread-daemon.patch
new file mode 100644
index 000000000000..6d6e8afa6462
--- /dev/null
+++ b/dev-python/urlgrabber/files/urlgrabber-4.1.0-test-mirror-set-thread-daemon.patch
@@ -0,0 +1,10 @@
+--- urlgrabber-urlgrabber-4-1-0/test/test_mirror.py.orig 2020-11-16 18:47:43.724337579 +0100
++++ urlgrabber-urlgrabber-4-1-0/test/test_mirror.py 2020-11-16 18:47:57.724337574 +0100
+@@ -290,6 +290,7 @@
+ self.exit = False
+
+ self.thread = threading.Thread(target=server)
++ self.thread.daemon = True
+ self.thread.start()
+
+ # create grabber and mirror group objects
diff --git a/dev-python/urlgrabber/metadata.xml b/dev-python/urlgrabber/metadata.xml
index efb1a6da6ba0..d8d4736bb8b8 100644
--- a/dev-python/urlgrabber/metadata.xml
+++ b/dev-python/urlgrabber/metadata.xml
@@ -35,6 +35,7 @@
</longdescription>
<upstream>
<remote-id type="pypi">urlgrabber</remote-id>
+ <remote-id type="github">rpm-software-management/urlgrabber</remote-id>
</upstream>
<origin>gentoo-staging</origin>
<stabilize-allarches/>
diff --git a/dev-python/urlgrabber/urlgrabber-4.0.0.ebuild b/dev-python/urlgrabber/urlgrabber-4.0.0-r1.ebuild
index 943802856f18..de975343777b 100644
--- a/dev-python/urlgrabber/urlgrabber-4.0.0.ebuild
+++ b/dev-python/urlgrabber/urlgrabber-4.0.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -17,7 +17,10 @@ KEYWORDS="amd64 ~arm ~ia64 ppc ppc64 x86"
RDEPEND="
dev-python/pycurl[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
"
# Entire testsuite relies on connecting to the i'net
diff --git a/dev-python/urlgrabber/urlgrabber-4.1.0.ebuild b/dev-python/urlgrabber/urlgrabber-4.1.0.ebuild
new file mode 100644
index 000000000000..124798739c2d
--- /dev/null
+++ b/dev-python/urlgrabber/urlgrabber-4.1.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit distutils-r1
+
+DESCRIPTION="Python module for downloading files"
+HOMEPAGE="http://urlgrabber.baseurl.org https://github.com/rpm-software-management/urlgrabber"
+SRC_URI="https://github.com/rpm-software-management/${PN}/archive/${PN}-${PV//./-}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${PN}-${PV//./-}"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/pycurl[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+"
+BDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+
+PATCHES=(
+ "${FILESDIR}/${P}-skip-test_range.patch"
+ "${FILESDIR}/${P}-test-mirror-set-thread-daemon.patch"
+)
+
+python_test() {
+ # Entire testsuite relies on connecting to the i'net, added for reference
+ URLGRABBER_EXT_DOWN="${S}/scripts/urlgrabber-ext-down" \
+ PYTHON_PATH="${S}" \
+ "${PYTHON}" test/runtests.py -v 2 || die "tests failed under ${EPYTHON}"
+}