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

Contents of /eclass/twisted.eclass

Parent Directory Parent Directory | Revision Log Revision Log


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

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.5 # $Header: /var/cvsroot/gentoo-x86/eclass/twisted.eclass,v 1.4 2006/04/09 23:18:36 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 marienz 1.5 inherit distutils versionator eutils
13 marienz 1.1
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.5 local spath="usr/$(get_libdir)/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.5 "${python}" setup.py install --root="${T}" --no-compile --force \
38     --install-lib="${spath}" || die
39 marienz 1.1 else
40 marienz 1.5 "${python}" setup.py install --root="${T}" --force \
41     --install-lib="${spath}" || die
42 marienz 1.1 fi
43     cd "${T}/${spath}" || die
44 marienz 1.3 local trialopts
45     if ! has_version ">=dev-python/twisted-2.2"; then
46     trialopts=-R
47     fi
48 marienz 1.1 PATH="${T}/usr/bin:${PATH}" PYTHONPATH="${T}/${spath}" \
49 marienz 1.3 trial ${trialopts} ${PN/-/.} || die "trial failed"
50 marienz 1.1 cd "${S}"
51     rm -rf "${T}/${spath}"
52     }
53    
54     twisted_src_install() {
55 marienz 1.5 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 swegener 1.2
63 marienz 1.1 if [[ -d doc/man ]]; then
64     doman doc/man/*
65     fi
66 swegener 1.2
67 marienz 1.1 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