/[gentoo-x86]/eclass/twisted.eclass
Gentoo

Contents of /eclass/twisted.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (hide annotations) (download)
Sun Apr 9 23:18:36 2006 UTC (8 years, 7 months ago) by marienz
Branch: MAIN
Changes since 1.3: +2 -2 lines
Hopefully fix twisted tests on multilib.

1 marienz 1.1 # Copyright 2005 Gentoo Foundation
2     # Distributed under the terms of the GNU General Public License, v2 or later
3 marienz 1.4 # $Header: /var/cvsroot/gentoo-x86/eclass/twisted.eclass,v 1.3 2006/02/13 22:28:07 marienz Exp $
4 marienz 1.1 #
5     # Author: Marien Zwart <marienz@gentoo.org>
6     #
7     # eclass to aid installing and testing twisted packages.
8     #
9     # you should set MY_PACKAGE to something like 'Names' before inheriting.
10     # you may set MY_PV to the right version (defaults to PV).
11    
12     inherit distutils versionator
13    
14     MY_PV=${MY_PV:-${PV}}
15     MY_VERSION=$(get_version_component_range 1-2 ${MY_PV})
16     MY_P=Twisted${MY_PACKAGE}-${MY_PV}
17    
18     HOMEPAGE="http://www.twistedmatrix.com/"
19     SRC_URI="http://tmrc.mit.edu/mirror/twisted/${MY_PACKAGE}/${MY_VERSION}/${MY_P}.tar.bz2"
20    
21     LICENSE="MIT"
22     SLOT="0"
23    
24     IUSE=""
25    
26     S="${WORKDIR}/${MY_P}"
27    
28     twisted_src_test() {
29     python_version
30     # This is a hack to make tests work without installing to the live
31     # filesystem. We copy the twisted site-packages to a temporary
32     # dir, install there, and run from there.
33 marienz 1.4 local spath="usr/lib/python${PYVER}/site-packages/"
34 marienz 1.1 mkdir -p "${T}/${spath}"
35     cp -R "${ROOT}${spath}/twisted" "${T}/${spath}" || die
36     if has_version ">=dev-lang/python-2.3"; then
37 marienz 1.3 ${python} setup.py install --root="${T}" --no-compile --force || die
38 marienz 1.1 else
39 marienz 1.3 ${python} setup.py install --root="${T}" --force || die
40 marienz 1.1 fi
41     cd "${T}/${spath}" || die
42 marienz 1.3 local trialopts
43     if ! has_version ">=dev-python/twisted-2.2"; then
44     trialopts=-R
45     fi
46 marienz 1.1 PATH="${T}/usr/bin:${PATH}" PYTHONPATH="${T}/${spath}" \
47 marienz 1.3 trial ${trialopts} ${PN/-/.} || die "trial failed"
48 marienz 1.1 cd "${S}"
49     rm -rf "${T}/${spath}"
50     }
51    
52     twisted_src_install() {
53     distutils_src_install
54 swegener 1.2
55 marienz 1.1 if [[ -d doc/man ]]; then
56     doman doc/man/*
57     fi
58 swegener 1.2
59 marienz 1.1 if [[ -d doc ]]; then
60     insinto /usr/share/doc/${PF}
61     doins -r $(find doc -mindepth 1 -maxdepth 1 -not -name man)
62     fi
63     }
64    
65     update_plugin_cache() {
66     einfo "Updating twisted plugin cache..."
67     python_version
68     # we have to remove the cache or removed plugins won't be removed
69     # from the cache (http://twistedmatrix.com/bugs/issue926)
70     rm "${ROOT}usr/$(get_libdir)/python${PYVER}/site-packages/twisted/plugins/dropin.cache"
71     # notice we have to use getPlugIns here for <=twisted-2.0.1 compatibility
72     python -c "from twisted.plugin import IPlugin, getPlugIns;list(getPlugIns(IPlugin))"
73     }
74    
75     twisted_pkg_postrm() {
76     distutils_pkg_postrm
77     update_plugin_cache
78     }
79    
80     twisted_pkg_postinst() {
81     distutils_pkg_postinst
82     update_plugin_cache
83     }
84    
85     EXPORT_FUNCTIONS src_test src_install pkg_postrm pkg_postinst

  ViewVC Help
Powered by ViewVC 1.1.20