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.17 |
# $Header: /home/cvsroot/gentoo-x86/eclass/distutils.eclass,v 1.16 2003/10/09 08:41:41 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 |
liquidx |
1.16 |
inherit python |
23 |
|
|
|
24 |
jnelson |
1.1 |
ECLASS=distutils |
25 |
|
|
INHERITED="$INHERITED $ECLASS" |
26 |
|
|
|
27 |
kutsuya |
1.6 |
# This helps make it possible to add extensions to python slots. |
28 |
kutsuya |
1.9 |
# Normally only a -py21- ebuild would set PYTHON_SLOT_VERSION. |
29 |
kutsuya |
1.6 |
if [ "${PYTHON_SLOT_VERSION}" = 2.1 ] ; then |
30 |
kutsuya |
1.9 |
newdepend "=dev-lang/python-2.1*" |
31 |
kutsuya |
1.6 |
python="python2.1" |
32 |
|
|
else |
33 |
vapier |
1.8 |
newdepend "virtual/python" |
34 |
kutsuya |
1.6 |
python="python" |
35 |
|
|
fi |
36 |
jnelson |
1.1 |
|
37 |
|
|
distutils_src_compile() { |
38 |
liquidx |
1.15 |
${python} setup.py build "$@" || die "compilation failed" |
39 |
jnelson |
1.1 |
} |
40 |
|
|
|
41 |
|
|
distutils_src_install() { |
42 |
liquidx |
1.17 |
${python} setup.py install --root=${D} --no-compile "$@" || die |
43 |
liquidx |
1.12 |
|
44 |
liquidx |
1.15 |
dodoc CHANGELOG COPYRIGHT KNOWN_BUGS MAINTAINERS PKG-INFO |
45 |
jnelson |
1.1 |
dodoc CONTRIBUTORS LICENSE COPYING* |
46 |
liquidx |
1.12 |
dodoc Change* MANIFEST* README* |
47 |
|
|
|
48 |
|
|
[ -n "${DOCS}" ] && dodoc ${DOCS} |
49 |
|
|
|
50 |
|
|
# deprecated! please use DOCS instead. |
51 |
|
|
[ -n "${mydoc}" ] && dodoc ${mydoc} |
52 |
jnelson |
1.1 |
} |
53 |
kutsuya |
1.6 |
|
54 |
liquidx |
1.17 |
distutils_pkg_postrm() { |
55 |
|
|
python_mod_cleanup |
56 |
|
|
} |
57 |
|
|
|
58 |
|
|
distutils_pkg_postinst() { |
59 |
|
|
python_mod_optimize |
60 |
|
|
} |
61 |
|
|
|
62 |
kutsuya |
1.6 |
# e.g. insinto ${ROOT}/usr/include/python${PYVER} |
63 |
|
|
|
64 |
liquidx |
1.13 |
distutils_python_version() { |
65 |
kutsuya |
1.6 |
local tmpstr="$(${python} -V 2>&1 )" |
66 |
liquidx |
1.13 |
export PYVER_ALL="${tmpstr#Python }" |
67 |
kutsuya |
1.6 |
|
68 |
liquidx |
1.13 |
export PYVER_MAJOR=$(echo ${PYVER_ALL} | cut -d. -f1) |
69 |
|
|
export PYVER_MINOR=$(echo ${PYVER_ALL} | cut -d. -f2) |
70 |
|
|
export PYVER_MICRO=$(echo ${PYVER_ALL} | cut -d. -f3-) |
71 |
liquidx |
1.12 |
export PYVER="${PYVER_MAJOR}.${PYVER_MINOR}" |
72 |
|
|
} |
73 |
|
|
|
74 |
|
|
# checks for if tkinter support is compiled into python |
75 |
|
|
distutils_python_tkinter() { |
76 |
|
|
if ! python -c "import Tkinter" >/dev/null 2>&1; then |
77 |
|
|
eerror "You need to recompile python with Tkinter support." |
78 |
|
|
eerror "That means: USE='tcltk' emerge python" |
79 |
|
|
echo |
80 |
|
|
die "missing tkinter support with installed python" |
81 |
|
|
fi |
82 |
vapier |
1.8 |
} |
83 |
liquidx |
1.12 |
|
84 |
|
|
|
85 |
liquidx |
1.17 |
EXPORT_FUNCTIONS src_compile src_install pkg_postinst pkg_postrm |
86 |
liquidx |
1.12 |
|