1 |
# Copyright 1999-2003 Gentoo Technologies, Inc. |
2 |
# Distributed under the terms of the GNU General Public License v2 |
3 |
# $Header: /home/cvsroot/gentoo-x86/eclass/distutils.eclass,v 1.13 2003/09/09 17:18:27 liquidx Exp $ |
4 |
# |
5 |
# Author: Jon Nelson <jnelson@gentoo.org> |
6 |
# Current Maintainer: Alastair Tse <liquidx@gentoo.org> |
7 |
# |
8 |
# The distutils eclass is designed to allow easier installation of |
9 |
# distutils-based python modules and their incorporation into |
10 |
# the Gentoo Linux system. |
11 |
# |
12 |
# - Features: |
13 |
# distutils_src_compile() - does python setup.py build |
14 |
# distutils_src_install() - does python setup.py install and install docs |
15 |
# distutils_python_version() - sets PYVER/PYVER_MAJOR/PYVER_MINOR |
16 |
# distutils_python_tkinter() - checks for tkinter support in python |
17 |
# |
18 |
# - Variables: |
19 |
# PYTHON_SLOT_VERSION - for Zope support |
20 |
# DOCS - additional DOCS |
21 |
|
22 |
ECLASS=distutils |
23 |
INHERITED="$INHERITED $ECLASS" |
24 |
|
25 |
# This helps make it possible to add extensions to python slots. |
26 |
# Normally only a -py21- ebuild would set PYTHON_SLOT_VERSION. |
27 |
if [ "${PYTHON_SLOT_VERSION}" = 2.1 ] ; then |
28 |
newdepend "=dev-lang/python-2.1*" |
29 |
python="python2.1" |
30 |
else |
31 |
newdepend "virtual/python" |
32 |
python="python" |
33 |
fi |
34 |
|
35 |
distutils_src_compile() { |
36 |
${python} setup.py build ${@} || die "compilation failed" |
37 |
} |
38 |
|
39 |
distutils_src_install() { |
40 |
${python} setup.py install --root=${D} ${@} || die |
41 |
|
42 |
dodoc CHANGELOG COPYRIGHT KNOWN_BUGS MAINTAINERS |
43 |
dodoc CONTRIBUTORS LICENSE COPYING* |
44 |
dodoc Change* MANIFEST* README* |
45 |
|
46 |
[ -n "${DOCS}" ] && dodoc ${DOCS} |
47 |
|
48 |
# deprecated! please use DOCS instead. |
49 |
[ -n "${mydoc}" ] && dodoc ${mydoc} |
50 |
} |
51 |
|
52 |
# e.g. insinto ${ROOT}/usr/include/python${PYVER} |
53 |
|
54 |
distutils_python_version() { |
55 |
local tmpstr="$(${python} -V 2>&1 )" |
56 |
export PYVER_ALL="${tmpstr#Python }" |
57 |
|
58 |
export PYVER_MAJOR=$(echo ${PYVER_ALL} | cut -d. -f1) |
59 |
export PYVER_MINOR=$(echo ${PYVER_ALL} | cut -d. -f2) |
60 |
export PYVER_MICRO=$(echo ${PYVER_ALL} | cut -d. -f3-) |
61 |
export PYVER="${PYVER_MAJOR}.${PYVER_MINOR}" |
62 |
} |
63 |
|
64 |
# checks for if tkinter support is compiled into python |
65 |
distutils_python_tkinter() { |
66 |
if ! python -c "import Tkinter" >/dev/null 2>&1; then |
67 |
eerror "You need to recompile python with Tkinter support." |
68 |
eerror "That means: USE='tcltk' emerge python" |
69 |
echo |
70 |
die "missing tkinter support with installed python" |
71 |
fi |
72 |
} |
73 |
|
74 |
|
75 |
EXPORT_FUNCTIONS src_compile src_install |
76 |
|