summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/pyftpdlib/Manifest1
-rw-r--r--dev-python/pyftpdlib/pyftpdlib-1.5.5.ebuild89
2 files changed, 90 insertions, 0 deletions
diff --git a/dev-python/pyftpdlib/Manifest b/dev-python/pyftpdlib/Manifest
index b1ab75204bb5..efcaf1bdeb98 100644
--- a/dev-python/pyftpdlib/Manifest
+++ b/dev-python/pyftpdlib/Manifest
@@ -1,3 +1,4 @@
DIST pyftpdlib-1.5.1.tar.gz 127582 BLAKE2B 00233ab4acf5aae4902384f514de0d6da9a55b7312b7744ce3f16fd222b5abeae0c65f0f9309ff40d0cbd960baee2c269a1fc6ba72ed8f700c7dbfd47e646a8a SHA512 81bb634aef7190d97b5939b998c8dd8caf1ce77c2ca66d085826880590a03e7fe4aeefb5eb67f30f25b984962eaae740c4c8c1d5900909029702e37c36bb2b9b
DIST pyftpdlib-1.5.3.tar.gz 183189 BLAKE2B dd563f59ff21b2059e1c6d6ac6015561d5e0de07b52ea212589afea61abe63a2a61deed86bb133969c8dc99b826b7e23ddf071e0b28ac7b84a066f3fa7f31d90 SHA512 f0e56f170fa77e0866cbbead52ad52276ee45b6c3244557bc59cd2bf599934ae4414a684661d4d47f76098b3da19e23c1a037aaa07a6a81f8d1be14b90191517
DIST pyftpdlib-1.5.4.tar.gz 184986 BLAKE2B 6973b1f7e0fc0c89eb5d79e082690a706b56553ad4b2ece68a8216bb99c185d770475e349402ec71baf1bb06e5ecca5be2a3c52512f0d8283c4cc249bc28a949 SHA512 6eb308021dad28c1c51a88b366947a71b7bc1802571dc14cedf3a264bd0cb8504ef990d7e3110d10709f971d4d5b0001bee859b58fb4d02a1b0d46532acc9295
+DIST pyftpdlib-1.5.5.tar.gz 184314 BLAKE2B 2d02839c6809674c7b7c4dfd610610a9231799802cc53ad0a05bfabc8985e77c64d9b239628f13bdc22942460b3e923067f084c3c5ac2b7be7671279a08e0351 SHA512 27427154f893812f689adf3a9ceb4ec2d8f0ea7a4bf7b08671dc146c95f09ddd596a27c85e009d8d6647277def48c0bf0a8b76fb3fba5818eda3dfdc6c10795e
diff --git a/dev-python/pyftpdlib/pyftpdlib-1.5.5.ebuild b/dev-python/pyftpdlib/pyftpdlib-1.5.5.ebuild
new file mode 100644
index 000000000000..8b23d3a2facf
--- /dev/null
+++ b/dev-python/pyftpdlib/pyftpdlib-1.5.5.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{4,5,6,7}} )
+PYTHON_REQ_USE="ssl(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python FTP server library"
+HOMEPAGE="https://github.com/giampaolo/pyftpdlib https://pypi.org/project/pyftpdlib/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="doc examples ssl test"
+
+RDEPEND="
+ ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${RDEPEND}
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pysendfile[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )
+"
+
+python_prepare_all() {
+ sed -i "s/'sphinx.ext.intersphinx'//" docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build docs docs/_build/html || die
+ HTML_DOCS=( docs/_build/html/. )
+ fi
+}
+
+python_test() {
+ # These tests fail when passing additional options to pytest
+ # so we need to run them separately and not pass any args to pytest
+ pytest ${PN}/test/test_misc.py || die "Tests failed with ${EPYTHON}"
+ # Some of these tests tend to fail
+ local skipped_tests=(
+ # https://github.com/giampaolo/pyftpdlib/issues/470
+ # https://bugs.gentoo.org/659108
+ test_idle_data_timeout2
+ # https://github.com/giampaolo/pyftpdlib/issues/471
+ # https://bugs.gentoo.org/636410
+ test_on_incomplete_file_received
+ # https://github.com/giampaolo/pyftpdlib/issues/466
+ # https://bugs.gentoo.org/659786
+ test_nlst
+ )
+ skipped_tests=${skipped_tests[@]/%/ or}
+ # Tests fail with TZ=GMT, see https://bugs.gentoo.org/666623
+ TZ=UTC+1 pytest -vv \
+ --ignore ${PN}/test/test_misc.py -k "not (${skipped_tests% or})" \
+ || die "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use examples; then
+ docinto examples
+ dodoc -r demo/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] && \
+ [[ ${PYTHON_TARGETS} == *python2_7* ]] && \
+ ! has_version dev-python/pysendfile ; then
+ elog "dev-python/pysendfile is not installed"
+ elog "It can considerably speed up file transfers for Python 2"
+ fi
+}