| # Copyright 1999-2014 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| # @ECLASS: gnome-python-common-r1.eclass |
| # @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_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 |
| } |