1 |
vapier |
1.5 |
# Copyright 1999-2003 Gentoo Technologies, Inc. |
2 |
vapier |
1.4 |
# Distributed under the terms of the GNU General Public License v2 |
3 |
liquidx |
1.13 |
# $Header: /home/cvsroot/gentoo-x86/eclass/distutils.eclass,v 1.12 2003/05/10 18:29:16 liquidx Exp $ |
4 |
vapier |
1.5 |
# |
5 |
jnelson |
1.1 |
# Author: Jon Nelson <jnelson@gentoo.org> |
6 |
liquidx |
1.12 |
# Current Maintainer: Alastair Tse <liquidx@gentoo.org> |
7 |
vapier |
1.5 |
# |
8 |
jnelson |
1.1 |
# The distutils eclass is designed to allow easier installation of |
9 |
vapier |
1.11 |
# distutils-based python modules and their incorporation into |
10 |
jnelson |
1.1 |
# the Gentoo Linux system. |
11 |
liquidx |
1.12 |
# |
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 |
jnelson |
1.1 |
|
22 |
|
|
ECLASS=distutils |
23 |
|
|
INHERITED="$INHERITED $ECLASS" |
24 |
|
|
|
25 |
kutsuya |
1.6 |
# This helps make it possible to add extensions to python slots. |
26 |
kutsuya |
1.9 |
# Normally only a -py21- ebuild would set PYTHON_SLOT_VERSION. |
27 |
kutsuya |
1.6 |
if [ "${PYTHON_SLOT_VERSION}" = 2.1 ] ; then |
28 |
kutsuya |
1.9 |
newdepend "=dev-lang/python-2.1*" |
29 |
kutsuya |
1.6 |
python="python2.1" |
30 |
|
|
else |
31 |
vapier |
1.8 |
newdepend "virtual/python" |
32 |
kutsuya |
1.6 |
python="python" |
33 |
|
|
fi |
34 |
jnelson |
1.1 |
|
35 |
|
|
distutils_src_compile() { |
36 |
liquidx |
1.10 |
${python} setup.py build ${@} || die "compilation failed" |
37 |
jnelson |
1.1 |
} |
38 |
|
|
|
39 |
|
|
distutils_src_install() { |
40 |
liquidx |
1.10 |
${python} setup.py install --root=${D} ${@} || die |
41 |
liquidx |
1.12 |
|
42 |
jnelson |
1.3 |
dodoc CHANGELOG COPYRIGHT KNOWN_BUGS MAINTAINERS |
43 |
jnelson |
1.1 |
dodoc CONTRIBUTORS LICENSE COPYING* |
44 |
liquidx |
1.12 |
dodoc Change* MANIFEST* README* |
45 |
|
|
|
46 |
|
|
[ -n "${DOCS}" ] && dodoc ${DOCS} |
47 |
|
|
|
48 |
|
|
# deprecated! please use DOCS instead. |
49 |
|
|
[ -n "${mydoc}" ] && dodoc ${mydoc} |
50 |
jnelson |
1.1 |
} |
51 |
kutsuya |
1.6 |
|
52 |
|
|
# e.g. insinto ${ROOT}/usr/include/python${PYVER} |
53 |
|
|
|
54 |
liquidx |
1.13 |
distutils_python_version() { |
55 |
kutsuya |
1.6 |
local tmpstr="$(${python} -V 2>&1 )" |
56 |
liquidx |
1.13 |
export PYVER_ALL="${tmpstr#Python }" |
57 |
kutsuya |
1.6 |
|
58 |
liquidx |
1.13 |
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 |
liquidx |
1.12 |
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 |
vapier |
1.8 |
} |
73 |
liquidx |
1.12 |
|
74 |
liquidx |
1.13 |
# export PYVER as well |
75 |
|
|
distutils_python_version |
76 |
liquidx |
1.12 |
|
77 |
|
|
EXPORT_FUNCTIONS src_compile src_install |
78 |
|
|
|