/[gentoo-x86]/eclass/gnome-python-common.eclass
Gentoo

Contents of /eclass/gnome-python-common.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.10 - (show annotations) (download)
Mon May 31 21:01:47 2010 UTC (10 years, 6 months ago) by eva
Branch: MAIN
Changes since 1.9: +47 -19 lines
Support for multiple python ABIs, bug #309039.

1 # Copyright 1999-2010 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/eclass/gnome-python-common.eclass,v 1.9 2010/02/09 10:06:36 grobian Exp $
4
5 # Original Author: Arun Raghavan <ford_prefect@gentoo.org> (based on the
6 # gnome-python-desktop eclass by Jim Ramsay <lack@gentoo.org>)
7 #
8 # Purpose: Provides common functionality required for building the gnome-python*
9 # bindings
10 #
11 # Important environment variables:
12 #
13 # G_PY_PN: Which gnome-python* package bindings we're working with. Defaults to
14 # gnome-python if unset.
15 #
16 # G_PY_BINDINGS: The actual '--enable-<binding>' name, which by default is ${PN}
17 # excluding the -python at the end. May be overridden if necessary.
18 #
19 # EXAMPLES: The set of example files to be installed if the 'examples' USE flag
20 # is set.
21 #
22 # The naming convention for all bindings is as follows:
23 # dev-python/<original-${PN}-for-which-this-is-the-binding>-python
24 #
25 # So, for example, with the bonobo bindings, the original package is libbonobo
26 # and the packages is named dev-python/libbonobo-python
27
28 SUPPORT_PYTHON_ABIS="1"
29 PYTHON_DEPEND="2"
30 RESTRICT_PYTHON_ABIS="3.*"
31
32 inherit autotools gnome2 python versionator
33
34 case "${EAPI:-0}" in
35 0|1)
36 EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_postrm
37 ;;
38 *)
39 EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile src_install pkg_postinst pkg_postrm
40 ;;
41 esac
42
43 G_PY_PN=${G_PY_PN:-gnome-python}
44 G_PY_BINDINGS=${G_PY_BINDINGS:-${PN%-python}}
45
46 PVP="$(get_version_component_range 1-2)"
47 SRC_URI="mirror://gnome/sources/${G_PY_PN}/${PVP}/${G_PY_PN}-${PV}.tar.bz2"
48 HOMEPAGE="http://pygtk.org/"
49
50 RESTRICT="${RESTRICT} test"
51
52 GCONF_DEBUG="no"
53 DOCS="AUTHORS ChangeLog NEWS README"
54
55 if [[ ${G_PY_PN} != "gnome-python" ]]; then
56 DOCS="${DOCS} MAINTAINERS"
57 fi
58
59 S="${WORKDIR}/${G_PY_PN}-${PV}"
60
61 # add blockers, we can probably remove them later on
62 if [[ ${G_PY_PN} == "gnome-python-extras" ]]; then
63 RDEPEND="!<=dev-python/gnome-python-extras-2.19.1-r2"
64 fi
65
66 RDEPEND="${RDEPEND} ~dev-python/${G_PY_PN}-base-${PV}"
67 DEPEND="${RDEPEND}
68 dev-util/pkgconfig"
69
70 # Enable the required bindings as specified by the G_PY_BINDINGS variable
71 gnome-python-common_pkg_setup() {
72 python_pkg_setup
73
74 G2CONF="${G2CONF} --disable-allbindings"
75 for binding in ${G_PY_BINDINGS}; do
76 G2CONF="${G2CONF} --enable-${binding}"
77 done
78 }
79
80 gnome-python-common_src_unpack() {
81 gnome2_src_unpack
82
83 has ${EAPI:-0} 0 1 && gnome-python-common_src_prepare
84 }
85
86 gnome-python-common_src_prepare() {
87 gnome2_src_prepare
88
89 # disable pyc compiling
90 if [[ -f py-compile ]]; then
91 rm py-compile
92 ln -s $(type -P true) py-compile
93 fi
94
95 # The .pc file is installed by respective gnome-python*-base package
96 sed -i '/^pkgconfig_DATA/d' Makefile.in || die "sed failed"
97 sed -i '/^pkgconfigdir/d' Makefile.in || die "sed failed"
98
99 python_copy_sources
100 }
101
102 gnome-python-common_src_configure() {
103 python_execute_function -s gnome2_src_configure "$@"
104 }
105
106 gnome-python-common_src_compile() {
107 has ${EAPI:-0} 0 1 && gnome-python-common_src_configure "$@"
108 python_src_compile "$@"
109 }
110
111 gnome-python-common_src_test() {
112 python_src_test "$@"
113 }
114
115 # Do a regular gnome2 src_install and then install examples if required.
116 # Set the variable EXAMPLES to provide the set of examples to be installed.
117 # (to install a directory recursively, specify it with a trailing '/' - for
118 # example, foo/bar/)
119 gnome-python-common_src_install() {
120 python_execute_function -s gnome2_src_install "$@"
121 python_clean_installation_image
122
123 if hasq examples ${IUSE} && use examples; then
124 insinto /usr/share/doc/${PF}/examples
125
126 for example in ${EXAMPLES}; do
127 if [[ ${example: -1} = "/" ]]; then
128 doins -r ${example}
129 else
130 doins ${example}
131 fi
132 done
133 fi
134 }
135
136 gnome-python-common_pkg_postinst() {
137 python_mod_optimize gtk-2.0
138 }
139
140 gnome-python-common_pkg_postrm() {
141 python_mod_cleanup gtk-2.0
142 }

  ViewVC Help
Powered by ViewVC 1.1.20