summaryrefslogtreecommitdiff
path: root/eclass/gnome-python-common-r1.eclass
blob: d9968febb2e9a741672e66c65150c34882cefa93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# 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_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
}