diff options
-rw-r--r-- | dev-python/twisted/Manifest | 1 | ||||
-rw-r--r-- | dev-python/twisted/twisted-16.6.0-r2.ebuild | 181 | ||||
-rw-r--r-- | dev-python/twisted/twisted-17.1.0-r1.ebuild (renamed from dev-python/twisted/twisted-17.1.0.ebuild) | 41 |
3 files changed, 211 insertions, 12 deletions
diff --git a/dev-python/twisted/Manifest b/dev-python/twisted/Manifest index 3f7728f2a58d..2e1bc29f034c 100644 --- a/dev-python/twisted/Manifest +++ b/dev-python/twisted/Manifest @@ -1,2 +1,3 @@ DIST Twisted-16.6.0.tar.bz2 2979747 SHA256 d0fe115ea7ef8cf632d05103de60356c6e992b2153d6830bdc4476f8accb1fca SHA512 0b8de0ec7f64457f76c396fced64b366b8e63c6e000a5edc6c6388cd917fb2f95711918cd8edda39e0aa77e2cd32b5d775d23630a5ad10fc013c18f8316300cf WHIRLPOOL a09a8747312580e3b27d222bf0942b714ad041044a817876e1731c5fa2ae3d11e4d5a45221d2e7d126ebb664730d15c886d5ae164841c7a8f0acd6e12c4691a9 DIST Twisted-17.1.0.tar.bz2 2997334 SHA256 dbf211d70afe5b4442e3933ff01859533eba9f13d8b3e2e1b97dc2125e2d44dc SHA512 e5eedc9a70b7e4d0ec18dddaa82aa9a784e96fd517db65c278d822d15e8bdc65a35307a5a0474eb68dcb73fcd5508086bec605580a9f2f767bcbe27d714b4966 WHIRLPOOL 828a939134df47950a285c732867b3d4172e5e86a75fbdc1cc4365b5a24699a0b3fcb573b7e3d389eea591fc9fc79456c09f2d2c8f08d7e1215dc5761e88ed8e +DIST twisted-regen-cache.gz 911 SHA256 e88fb326c0e24506d59afa3a4113e63c3e496fa1114156db6521f84fbce41652 SHA512 95a9b931c73017d16d1b5e6b41345dddffe62b6af1a8e93b5e40d06d3d15be17b0dd0181c767ffeeb791534d463764ef9e066fa6c2ee2ac4b53c86d1da8fce03 WHIRLPOOL 8077fc4d102bb8071e3163c386edf10c14a2cf0c8bbbf57c66787bdeb9b5f21115bcb022a770fe72b48914d829ff69384684f50928700f83547702d6a0d35423 diff --git a/dev-python/twisted/twisted-16.6.0-r2.ebuild b/dev-python/twisted/twisted-16.6.0-r2.ebuild new file mode 100644 index 000000000000..b9ec76e30b11 --- /dev/null +++ b/dev-python/twisted/twisted-16.6.0-r2.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +PYTHON_COMPAT=( python2_7 python3_{4,5,6}) +PYTHON_REQ_USE="threads(+)" + +inherit eutils flag-o-matic distutils-r1 versionator + +TWISTED_PN="Twisted" +TWISTED_P="${TWISTED_PN}-${PV}" +TWISTED_RELEASE=$(get_version_component_range 1-2 "${PV}") + +DESCRIPTION="An asynchronous networking framework written in Python" +HOMEPAGE="http://www.twistedmatrix.com/" +SRC_URI="http://twistedmatrix.com/Releases/${TWISTED_PN}" +SRC_URI="${SRC_URI}/${TWISTED_RELEASE}/${TWISTED_P}.tar.bz2 + https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz" + +# Dropped keywords due to new deps not keyworded +#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~x86" + +LICENSE="MIT" +SLOT="0" +IUSE="conch crypt http2 serial +soap test" + +RDEPEND=">=dev-python/zope-interface-4.0.2[${PYTHON_USEDEP}] + conch? ( + dev-python/pyasn1[${PYTHON_USEDEP}] + >=dev-python/cryptography-0.9.1[${PYTHON_USEDEP}] + >=dev-python/appdirs-1.4.0[${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[${PYTHON_USEDEP}] ) + soap? ( $(python_gen_cond_dep 'dev-python/soappy[${PYTHON_USEDEP}]' python2_7) ) + http2? ( + >=dev-python/hyper-h2-2.5.0[${PYTHON_USEDEP}] + <dev-python/hyper-h2-3.0.0[${PYTHON_USEDEP}] + >=dev-python/priority-1.1.0[${PYTHON_USEDEP}] + <dev-python/priority-2.0[${PYTHON_USEDEP}] + ) + >=dev-python/constantly-15.1.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 +" +DEPEND=" + >=dev-python/incremental-16.10.1[${PYTHON_USEDEP}] + test? ( + dev-python/gmpy[${PYTHON_USEDEP}] + dev-python/pyasn1[${PYTHON_USEDEP}] + >=dev-python/cryptography-0.9.1[${PYTHON_USEDEP}] + >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}] + dev-python/service_identity[${PYTHON_USEDEP}] + dev-python/idna[${PYTHON_USEDEP}] + dev-python/pyserial[${PYTHON_USEDEP}] + >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + # Respect TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE variable. + "${FILESDIR}/${PN}-16.5.0-respect_TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE.patch" + "${FILESDIR}/test_main.patch" + "${FILESDIR}/utf8_overrides.patch" + "${FILESDIR}/${PN}-16.6.0-test-fixes.patch" +) + +S=${WORKDIR}/${TWISTED_P} + +python_prepare_all() { + # disable tests that don't work in our sandbox + # and other test failures due to our conditions + if use test ; then + # Remove since this is an upstream distribution test for making releases + rm src/twisted/python/test/test_release.py || die "rm src/twisted/python/test/test_release.py FAILED" + fi + distutils-r1_python_prepare_all +} + +python_compile() { + if ! python_is_python3; then + # Needed to make the sendmsg extension work + # (see http://twistedmatrix.com/trac/ticket/5701 ) + local -x CFLAGS="${CFLAGS} -fno-strict-aliasing" + local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing" + fi + + distutils-r1_python_compile +} + +python_test() { + distutils_install_for_testing + + export EMERGE_TEST_OVERRIDE=1 + export UTF8_OVERRIDES=1 + # workaround for the eclass not installing the entry points + # in the test environment. copy the old 16.3.2 start script + # to run the tests with + cp "${FILESDIR}"/trial "${TEST_DIR}" + + pushd "${TEST_DIR}" > /dev/null || die + + if ! "${TEST_DIR}"/trial twisted; then + die "Tests failed with ${EPYTHON}" + fi + # due to an anomoly in the tests, python doesn't return the correct form + # of the escape sequence. So run those test separately with a clean python interpreter + export UTF8_OVERRIDES=0 + if ! "${TEST_DIR}"/trial twisted.test.test_twistd.DaemonizeTests; then + die "DaemonizeTests failed with ${EPYTHON}" + fi + if ! "${TEST_DIR}"/trial twisted.test.test_reflect.SafeStrTests; then + die "SafeStrTests failed with ${EPYTHON}" + fi + + popd > /dev/null || die +} + +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" + einfo "There are a few known python-2.7 errors due to some unicode issues" + einfo "which are different in Gentoo installed python-2.7" + 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 +} diff --git a/dev-python/twisted/twisted-17.1.0.ebuild b/dev-python/twisted/twisted-17.1.0-r1.ebuild index c2bfb8f25bc3..6ec72680b3c5 100644 --- a/dev-python/twisted/twisted-17.1.0.ebuild +++ b/dev-python/twisted/twisted-17.1.0-r1.ebuild @@ -4,18 +4,25 @@ EAPI=5 PYTHON_COMPAT=( python2_7 python3_{4,5,6}) PYTHON_REQ_USE="threads(+)" -TWISTED_PN="Twisted" -#DISTUTILS_IN_SOURCE_BUILD="yes" -inherit eutils flag-o-matic twisted-r1 +inherit eutils flag-o-matic distutils-r1 versionator + +TWISTED_PN="Twisted" +TWISTED_P="${TWISTED_PN}-${PV}" +TWISTED_RELEASE=$(get_version_component_range 1-2 "${PV}") DESCRIPTION="An asynchronous networking framework written in Python" +HOMEPAGE="http://www.twistedmatrix.com/" SRC_URI="http://twistedmatrix.com/Releases/${TWISTED_PN}" -SRC_URI="${SRC_URI}/${TWISTED_RELEASE}/${TWISTED_P}.tar.bz2" +SRC_URI="${SRC_URI}/${TWISTED_RELEASE}/${TWISTED_P}.tar.bz2 + https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz" # Dropped keywords due to new deps not keyworded #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~x86" + +LICENSE="MIT" +SLOT="0" IUSE="conch crypt http2 serial +soap test" RDEPEND=">=dev-python/zope-interface-4.0.2[${PYTHON_USEDEP}] @@ -73,6 +80,8 @@ PATCHES=( "${FILESDIR}/${PN}-16.6.0-test-fixes.patch" ) +S=${WORKDIR}/${TWISTED_P} + python_prepare_all() { # disable tests that don't work in our sandbox # and other test failures due to our conditions @@ -127,13 +136,10 @@ python_install() { cd "${D%/}$(python_get_sitedir)" || die - # create 'Twisted' egg wrt bug #299736 - #local egg=( Twisted_Core*.egg-info ) - #[[ -f ${egg[0]} ]] || die "Twisted_Core*.egg-info not found" - #ln -s "${egg[0]}" "${egg[0]/_Core/}" || 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() { @@ -143,7 +149,13 @@ python_install_all() { 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 "" @@ -158,8 +170,13 @@ pkg_postinst() { fi } +python_postrm() { + rm -f "${ROOT%/}$(python_get_sitedir)/twisted/plugins/dropin.cache" || die +} + pkg_postrm(){ - # pre portage-2.3.2 release workaround for bug 595028 - cd "${HOME}" - _distutils-r1_run_foreach_impl twisted-r1_update_plugin_cache + # if we're removing the last version, remove the cache file + if [[ ! ${REPLACING_VERSIONS} ]]; then + python_foreach_impl python_postrm + fi } |