summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Raschbacher <lordvan@gentoo.org>2008-05-25 20:23:51 +0000
committerThomas Raschbacher <lordvan@gentoo.org>2008-05-25 20:23:51 +0000
commit50a67fad026295c40dcaf407dedc34d8a9f3ddd3 (patch)
treee97461f5c18bae7d205dadf4bb37ca11836c0d16 /dev-python/twisted/twisted-8.1.0.ebuild
parentbump to 1.20.3 (just for the sake of it). win32 fixes. (diff)
downloadgentoo-2-50a67fad026295c40dcaf407dedc34d8a9f3ddd3.tar.gz
gentoo-2-50a67fad026295c40dcaf407dedc34d8a9f3ddd3.tar.bz2
gentoo-2-50a67fad026295c40dcaf407dedc34d8a9f3ddd3.zip
Version bump and minor fixes
(Portage version: 2.1.4.4)
Diffstat (limited to 'dev-python/twisted/twisted-8.1.0.ebuild')
-rw-r--r--dev-python/twisted/twisted-8.1.0.ebuild108
1 files changed, 108 insertions, 0 deletions
diff --git a/dev-python/twisted/twisted-8.1.0.ebuild b/dev-python/twisted/twisted-8.1.0.ebuild
new file mode 100644
index 000000000000..b79b28626c19
--- /dev/null
+++ b/dev-python/twisted/twisted-8.1.0.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/twisted/twisted-8.1.0.ebuild,v 1.1 2008/05/25 20:23:51 lordvan Exp $
+
+inherit eutils distutils versionator
+
+MY_P=TwistedCore-${PV}
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+HOMEPAGE="http://www.twistedmatrix.com/"
+SRC_URI="http://tmrc.mit.edu/mirror/${PN}/Core/$(get_version_component_range 1-2)/${MY_P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="gtk serial crypt"
+
+DEPEND=">=dev-lang/python-2.3
+ >=net-zope/zopeinterface-3.0.1
+ serial? ( dev-python/pyserial )
+ crypt? ( >=dev-python/pyopenssl-0.5.1 )
+ gtk? ( >=dev-python/pygtk-1.99 )
+ !dev-python/twisted-docs"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS="CREDITS NEWS README"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # Give a load-sensitive test a better chance of succeeding.
+ epatch "${FILESDIR}/${PN}-2.1.0-echo-less.patch"
+
+ # Pass valid arguments to "head" in the zsh completion function.
+ epatch "${FILESDIR}/${PN}-2.1.0-zsh-head.patch"
+}
+
+src_install() {
+ distutils_src_install
+
+ # get rid of this to prevent collision-protect from killing us. it
+ # is regenerated in pkg_postinst.
+ rm "${D}/usr/$(get_libdir)"/python*/site-packages/twisted/plugins/dropin.cache
+
+ # weird pattern to avoid installing the index.xhtml page
+ doman doc/man/*.?
+ insinto /usr/share/doc/${PF}
+ doins -r $(find doc -mindepth 1 -maxdepth 1 -not -name man)
+
+ # workaround for a possible portage bug
+ mkdir -p "${D}/etc/conf.d/"
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+
+ # zsh completion
+ insinto /usr/share/zsh/site-functions/
+ doins twisted/python/_twisted_zsh_stub
+}
+
+update_plugin_cache() {
+ python_version
+ local tpath="${ROOT}usr/$(get_libdir)/python${PYVER}/site-packages/twisted"
+ # we have to remove the cache or removed plugins won't be removed
+ # from the cache (http://twistedmatrix.com/bugs/issue926)
+ [[ -e "${tpath}/plugins/dropin.cache" ]] && rm -f "${tpath}/plugins/dropin.cache"
+ if [[ -e "${tpath}/plugin.py" ]]; then
+ # twisted is still installed, update.
+ # we have to use getPlugIns here for <=twisted-2.0.1 compatibility
+ einfo "Regenerating plugin cache"
+ python -c "from twisted.plugin import IPlugin, getPlugIns;list(getPlugIns(IPlugin))"
+ fi
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+ update_plugin_cache
+}
+
+pkg_postrm() {
+ distutils_pkg_postrm
+ update_plugin_cache
+}
+
+src_test() {
+ python_version
+
+ if has_version ">=dev-lang/python-2.3"; then
+ "${python}" setup.py install --root="${T}/tests" --no-compile || die
+ else
+ "${python}" setup.py install --root="${T}/tests" || die
+ fi
+
+ cd "${T}/tests/usr/$(get_libdir)/python${PYVER}/site-packages/" || die
+
+ # prevent it from pulling in plugins from already installed
+ # twisted packages
+ rm twisted/plugins/__init__.py || die
+
+ # an empty file doesn't work because the tests check for
+ # docstrings in all packages
+ echo "'''plugins stub'''" > twisted/plugins/__init__.py || die
+
+ PYTHONPATH=. "${T}"/tests/usr/bin/trial twisted || die "trial failed"
+ cd "${S}"
+ rm -rf "${T}/tests"
+}