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

Contents of /eclass/twisted.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (show annotations) (download)
Tue May 16 16:52:49 2006 UTC (8 years, 2 months ago) by marienz
Branch: MAIN
Changes since 1.4: +14 -6 lines
Multilib fixes: ensure all subpackages install into lib64.

1 # Copyright 2005 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License, v2 or later
3 # $Header: /var/cvsroot/gentoo-x86/eclass/twisted.eclass,v 1.4 2006/04/09 23:18:36 marienz Exp $
4 #
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 eutils
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 local spath="usr/$(get_libdir)/python${PYVER}/site-packages/"
34 mkdir -p "${T}/${spath}"
35 cp -R "${ROOT}${spath}/twisted" "${T}/${spath}" || die
36 if has_version ">=dev-lang/python-2.3"; then
37 "${python}" setup.py install --root="${T}" --no-compile --force \
38 --install-lib="${spath}" || die
39 else
40 "${python}" setup.py install --root="${T}" --force \
41 --install-lib="${spath}" || die
42 fi
43 cd "${T}/${spath}" || die
44 local trialopts
45 if ! has_version ">=dev-python/twisted-2.2"; then
46 trialopts=-R
47 fi
48 PATH="${T}/usr/bin:${PATH}" PYTHONPATH="${T}/${spath}" \
49 trial ${trialopts} ${PN/-/.} || die "trial failed"
50 cd "${S}"
51 rm -rf "${T}/${spath}"
52 }
53
54 twisted_src_install() {
55 python_version
56 # The explicit --install-lib here and in src_test is needed to
57 # make everything (core and all subpackages) go into lib64 on
58 # amd64. Without it pure python subpackages install into lib while
59 # stuff with c extensions goes into lib64.
60 distutils_src_install \
61 --install-lib="usr/$(get_libdir)/python${PYVER}/site-packages/"
62
63 if [[ -d doc/man ]]; then
64 doman doc/man/*
65 fi
66
67 if [[ -d doc ]]; then
68 insinto /usr/share/doc/${PF}
69 doins -r $(find doc -mindepth 1 -maxdepth 1 -not -name man)
70 fi
71 }
72
73 update_plugin_cache() {
74 einfo "Updating twisted plugin cache..."
75 python_version
76 # we have to remove the cache or removed plugins won't be removed
77 # from the cache (http://twistedmatrix.com/bugs/issue926)
78 rm "${ROOT}usr/$(get_libdir)/python${PYVER}/site-packages/twisted/plugins/dropin.cache"
79 # notice we have to use getPlugIns here for <=twisted-2.0.1 compatibility
80 python -c "from twisted.plugin import IPlugin, getPlugIns;list(getPlugIns(IPlugin))"
81 }
82
83 twisted_pkg_postrm() {
84 distutils_pkg_postrm
85 update_plugin_cache
86 }
87
88 twisted_pkg_postinst() {
89 distutils_pkg_postinst
90 update_plugin_cache
91 }
92
93 EXPORT_FUNCTIONS src_test src_install pkg_postrm pkg_postinst

  ViewVC Help
Powered by ViewVC 1.1.20