diff options
author | Michał Górny <mgorny@gentoo.org> | 2021-07-29 07:37:11 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2021-07-29 07:51:26 +0200 |
commit | 2e1e093b27d86e2dd5562e698e490a0c2b0b1fa9 (patch) | |
tree | 7057ff95eb29769c2a09d7473ccac376f9c7fb96 /dev-python/twisted/twisted-21.7.0.ebuild | |
parent | dev-python/zeroconf: Bump to 0.33.2 (diff) | |
download | gentoo-2e1e093b27d86e2dd5562e698e490a0c2b0b1fa9.tar.gz gentoo-2e1e093b27d86e2dd5562e698e490a0c2b0b1fa9.tar.bz2 gentoo-2e1e093b27d86e2dd5562e698e490a0c2b0b1fa9.zip |
dev-python/twisted: Bump to 21.7.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/twisted/twisted-21.7.0.ebuild')
-rw-r--r-- | dev-python/twisted/twisted-21.7.0.ebuild | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/dev-python/twisted/twisted-21.7.0.ebuild b/dev-python/twisted/twisted-21.7.0.ebuild new file mode 100644 index 000000000000..68bcdd4ffffc --- /dev/null +++ b/dev-python/twisted/twisted-21.7.0.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 virtualx + +DESCRIPTION="An asynchronous networking framework written in Python" +HOMEPAGE="https://www.twistedmatrix.com/trac/" +SRC_URI=" + https://github.com/twisted/twisted/archive/${P}.tar.gz + https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz" +S=${WORKDIR}/${PN}-${P} + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="conch crypt http2 serial test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}] + >=dev-python/automat-0.3.0[${PYTHON_USEDEP}] + >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}] + >=dev-python/hyperlink-17.1.1[${PYTHON_USEDEP}] + >=dev-python/incremental-21.3.0[${PYTHON_USEDEP}] + >=dev-python/pyhamcrest-1.9.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-3.6.5[${PYTHON_USEDEP}] + >=dev-python/zope-interface-4.4.2[${PYTHON_USEDEP}] + conch? ( + >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}] + dev-python/bcrypt[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.5.0[${PYTHON_USEDEP}] + dev-python/pyasn1[${PYTHON_USEDEP}] + ) + crypt? ( + >=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}] + dev-python/service_identity[${PYTHON_USEDEP}] + >=dev-python/idna-0.6[${PYTHON_USEDEP}] + ) + serial? ( >=dev-python/pyserial-3.0[${PYTHON_USEDEP}] ) + http2? ( + >=dev-python/hyper-h2-3.0.0[${PYTHON_USEDEP}] + <dev-python/hyper-h2-4.0.0[${PYTHON_USEDEP}] + >=dev-python/priority-1.1.0[${PYTHON_USEDEP}] + <dev-python/priority-2.0[${PYTHON_USEDEP}] + ) + !dev-python/twisted-core + !dev-python/twisted-conch + !dev-python/twisted-lore + !dev-python/twisted-mail + !dev-python/twisted-names + !dev-python/twisted-news + !dev-python/twisted-pair + !dev-python/twisted-runner + !dev-python/twisted-words + !dev-python/twisted-web +" +BDEPEND=" + >=dev-python/incremental-21.3.0[${PYTHON_USEDEP}] + test? ( + >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}] + dev-python/bcrypt[${PYTHON_USEDEP}] + >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}] + >=dev-python/cryptography-0.9.1[${PYTHON_USEDEP}] + dev-python/cython-test-exception-raiser[${PYTHON_USEDEP}] + dev-python/gmpy[${PYTHON_USEDEP}] + dev-python/idna[${PYTHON_USEDEP}] + dev-python/pyasn1[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}] + dev-python/pyserial[${PYTHON_USEDEP}] + dev-python/service_identity[${PYTHON_USEDEP}] + net-misc/openssh + ) +" + +PATCHES=( + # https://twistedmatrix.com/trac/ticket/10200 + "${FILESDIR}/${P}-force-gtk3.patch" +) + +python_prepare_all() { + # upstream test for making releases; not very useful and requires + # sphinx (including on py2) + rm src/twisted/python/test/test_release.py || die + + # puts system in EMFILE state, then the exception handler may fail + # trying to open more files due to some gi magic + sed -e '/SKIP_EMFILE/s:False:True:' \ + -i src/twisted/internet/test/test_tcp.py || die + + # multicast tests fail within network-sandbox + sed -e 's:test_joinLeave:_&:' \ + -e 's:test_loopback:_&:' \ + -e 's:test_multiListen:_&:' \ + -e 's:test_multicast:_&:' \ + -i src/twisted/test/test_udp.py || die + + # accesses /dev/net/tun + sed -e '/class RealDeviceTestsMixin/a\ + skip = "Requires extra permissions"' \ + -i src/twisted/pair/test/test_tuntap.py || die + + # These tests rely on warnings which seems work unreliably between python versions + sed -e 's:test_currentEUID:_&:' \ + -e 's:test_currentUID:_&:' -i src/twisted/python/test/test_util.py || die + + distutils-r1_python_prepare_all +} + +src_test() { + virtx distutils-r1_src_test +} + +python_test() { + # TODO: upstream seems to override our build paths + distutils_install_for_testing + + "${EPYTHON}" -m twisted.trial twisted || + die "Tests failed with ${EPYTHON}" +} + +python_install() { + distutils-r1_python_install + + cd "${D}$(python_get_sitedir)" || die + + # own the dropin.cache so we don't leave orphans + touch twisted/plugins/dropin.cache || die + + python_doscript "${WORKDIR}"/twisted-regen-cache +} + +python_install_all() { + distutils-r1_python_install_all + + newconfd "${FILESDIR}/twistd.conf" twistd + newinitd "${FILESDIR}/twistd.init" twistd +} + +python_postinst() { + twisted-regen-cache || die +} + +pkg_postinst() { + python_foreach_impl python_postinst + + einfo "Install complete" + if use test ; then + einfo "" + einfo "Some tests have been disabled during testing due to" + einfo "known incompatibilities with the emerge sandboxes and/or" + einfo "not runnable as the root user." + einfo "For a complete test suite run on the code." + einfo "Run the tests as a normal user for each python it is installed to." + einfo " ie: $ python3.6 /usr/bin/trial twisted" + fi +} + +python_postrm() { + rm -f "${ROOT}$(python_get_sitedir)/twisted/plugins/dropin.cache" || die +} + +pkg_postrm() { + # if we're removing the last version, remove the cache file + if [[ ! ${REPLACING_VERSIONS} ]]; then + python_foreach_impl python_postrm + fi +} |