diff options
Diffstat (limited to 'eclass/gnome-python-common-r1.eclass')
-rw-r--r-- | eclass/gnome-python-common-r1.eclass | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/eclass/gnome-python-common-r1.eclass b/eclass/gnome-python-common-r1.eclass new file mode 100644 index 000000000000..b80c17a481b7 --- /dev/null +++ b/eclass/gnome-python-common-r1.eclass @@ -0,0 +1,106 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# @ECLASS: gnome-python-common-r1 +# @MAINTAINER: +# GNOME team <gnome@gentoo.org> +# @AUTHOR: +# Author: Michał Górny <mgorny@gentoo.org> +# Based on the work of: Arun raghaven <ford_prefect@gentoo.org> +# which in turn was based on the work of Jim Ramsay <lack@gentoo.org> +# @BLURB: Common functionality for building gnome-python* bindings +# @DESCRIPTION: +# This eclass provides python-r1 support for the GNOME2 library Python +# bindings. + +: ${GNOME_ORG_MODULE:=gnome-python} +: ${GNOME_TARBALL_SUFFIX:=bz2} +: ${GNOME2_LA_PUNT:=yes} +: ${GCONF_DEBUG:=no} + +# @ECLASS-VARIABLE: G_PY_BINDINGS +# @DESCRIPTION: +# The actual '--enable-<binding>' name. If multiple bindings are to +# be enabled, must be an array. +: ${G_PY_BINDINGS:=${PN%-python}} + +# @ECLASS-VARIABLE: EXAMPLES +# @DEFAULT_UNSET +# @DESCRIPTION: +# The set of example files to be installed if the 'examples' USE flag +# is set. + +case "${EAPI:-0}" in + 0|1|2|3|4) + die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" + ;; + 5) + ;; + *) + die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" + ;; +esac + +inherit eutils gnome2 python-r1 + +EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install + +HOMEPAGE="http://pygtk.org/" + +RESTRICT="${RESTRICT} test" + +DOCS="AUTHORS ChangeLog NEWS README" + +if [[ ${GNOME_ORG_MODULE} != "gnome-python" ]]; then + DOCS="${DOCS} MAINTAINERS" +fi + +RDEPEND="~dev-python/${GNOME_ORG_MODULE}-base-${PV} + ${PYTHON_DEPS}" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +REQUIRED_USE=${PYTHON_REQUIRED_USE} + +gnome-python-common-r1_src_prepare() { + gnome2_src_prepare + + # 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-r1_src_configure() { + local myconf=( + --disable-allbindings + "${G_PY_BINDINGS[@]/#/--enable-}" + ) + + ECONF_SOURCE=${S} \ + python_parallel_foreach_impl \ + gnome2_src_configure "${myconf[@]}" "${@}" +} + +gnome-python-common-r1_src_compile() { + python_foreach_impl default +} + +gnome-python-common-r1_src_test() { + python_foreach_impl default +} + +# Do a regular gnome2 src_install and then install examples if required. +# Set the variable EXAMPLES to provide the set of examples to be installed. +# (to install a directory recursively, specify it with a trailing '/' - for +# example, foo/bar/) +gnome-python-common-r1_src_install() { + python_foreach_impl gnome2_src_install + + if in_iuse examples && use examples; then + docinto examples + dodoc -r "${EXAMPLES[@]}" + fi +} |