-# Copyright 1999-2008 Gentoo Foundation
+# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/gnome-python-common.eclass,v 1.9 2010/02/09 10:06:36 grobian Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/gnome-python-common.eclass,v 1.10 2010/05/31 21:01:47 eva Exp $
# Original Author: Arun Raghavan <ford_prefect@gentoo.org> (based on the
# gnome-python-desktop eclass by Jim Ramsay <lack@gentoo.org>)
# So, for example, with the bonobo bindings, the original package is libbonobo
# and the packages is named dev-python/libbonobo-python
-inherit versionator python autotools gnome2
+SUPPORT_PYTHON_ABIS="1"
+PYTHON_DEPEND="2"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit autotools gnome2 python versionator
+
+case "${EAPI:-0}" in
+ 0|1)
+ EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_postrm
+ ;;
+ *)
+ EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile src_install pkg_postinst pkg_postrm
+ ;;
+esac
G_PY_PN=${G_PY_PN:-gnome-python}
G_PY_BINDINGS=${G_PY_BINDINGS:-${PN%-python}}
# Enable the required bindings as specified by the G_PY_BINDINGS variable
gnome-python-common_pkg_setup() {
+ python_pkg_setup
+
G2CONF="${G2CONF} --disable-allbindings"
for binding in ${G_PY_BINDINGS}; do
G2CONF="${G2CONF} --enable-${binding}"
gnome-python-common_src_unpack() {
gnome2_src_unpack
+ has ${EAPI:-0} 0 1 && gnome-python-common_src_prepare
+}
+
+gnome-python-common_src_prepare() {
+ gnome2_src_prepare
+
# disable pyc compiling
if [[ -f py-compile ]]; then
rm py-compile
ln -s $(type -P true) py-compile
fi
+
+ # The .pc file is installed by respective gnome-python*-base package
+ sed -i '/^pkgconfig_DATA/d' Makefile.in || die "sed failed"
+ sed -i '/^pkgconfigdir/d' Makefile.in || die "sed failed"
+
+ python_copy_sources
+}
+
+gnome-python-common_src_configure() {
+ python_execute_function -s gnome2_src_configure "$@"
+}
+
+gnome-python-common_src_compile() {
+ has ${EAPI:-0} 0 1 && gnome-python-common_src_configure "$@"
+ python_src_compile "$@"
+}
+
+gnome-python-common_src_test() {
+ python_src_test "$@"
}
# Do a regular gnome2 src_install and then install examples if required.
# (to install a directory recursively, specify it with a trailing '/' - for
# example, foo/bar/)
gnome-python-common_src_install() {
- # The .pc file is installed by respective gnome-python*-base package
- sed -i '/^pkgconfig_DATA/d' Makefile || die "sed failed"
- sed -i '/^pkgconfigdir/d' Makefile || die "sed failed"
-
- gnome2_src_install
+ python_execute_function -s gnome2_src_install "$@"
+ python_clean_installation_image
if hasq examples ${IUSE} && use examples; then
insinto /usr/share/doc/${PF}/examples
fi
done
fi
-
- # Python does not need these, bug #299243
- find "${D%/}${EPREFIX}$(python_get_sitedir)" -name "*.la" -delete \
- || die "failed to remove la files"
-
}
gnome-python-common_pkg_postinst() {
- python_version
- python_need_rebuild
- python_mod_optimize /usr/$(get_libdir)/python${PYVER}/site-packages/gtk-2.0
+ python_mod_optimize gtk-2.0
}
gnome-python-common_pkg_postrm() {
- python_mod_cleanup
+ python_mod_cleanup gtk-2.0
}
-
-EXPORT_FUNCTIONS pkg_setup src_unpack src_install pkg_postinst pkg_postrm