| 1 | # Copyright 1999-2008 Gentoo Foundation |
1 | # Copyright 1999-2008 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/eclass/python.eclass,v 1.45 2008/09/01 14:11:54 hawking Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/python.eclass,v 1.46 2008/10/26 17:11:51 hawking Exp $ |
| 4 | |
4 | |
| 5 | # @ECLASS: python.eclass |
5 | # @ECLASS: python.eclass |
| 6 | # @MAINTAINER: |
6 | # @MAINTAINER: |
| 7 | # python@gentoo.org |
7 | # python@gentoo.org |
| 8 | # |
8 | # |
| … | |
… | |
| 33 | echo " PYVER_MINOR: $PYVER_MINOR PYVER_MICRO: $PYVER_MICRO" |
33 | echo " PYVER_MINOR: $PYVER_MINOR PYVER_MICRO: $PYVER_MICRO" |
| 34 | __python_version_extract 2.5b3 |
34 | __python_version_extract 2.5b3 |
| 35 | echo -n "2.5b3 -> PYVER: $PYVER PYVER_MAJOR: $PYVER_MAJOR" |
35 | echo -n "2.5b3 -> PYVER: $PYVER PYVER_MAJOR: $PYVER_MAJOR" |
| 36 | echo " PYVER_MINOR: $PYVER_MINOR PYVER_MICRO: $PYVER_MICRO" |
36 | echo " PYVER_MINOR: $PYVER_MINOR PYVER_MICRO: $PYVER_MICRO" |
| 37 | } |
37 | } |
| 38 | |
|
|
| 39 | # @FUNCTION: python_disable_pyc |
|
|
| 40 | # @DESCRIPTION: |
|
|
| 41 | # Tells python not to automatically recompile modules to .pyc/.pyo |
|
|
| 42 | # even if the timestamps/version stamps don't match. This is done |
|
|
| 43 | # to protect sandbox. |
|
|
| 44 | # |
|
|
| 45 | # note: supported by >=dev-lang/python-2.2.3-r3 only. |
|
|
| 46 | # |
|
|
| 47 | python_disable_pyc() { |
|
|
| 48 | export PYTHON_DONTCOMPILE=1 |
|
|
| 49 | } |
|
|
| 50 | |
|
|
| 51 | # @FUNCTION: python_enable_pyc |
|
|
| 52 | # @DESCRIPTION: |
|
|
| 53 | # Tells python to automatically recompile modules to .pyc/.pyo if the |
|
|
| 54 | # timestamps/version stamps change |
|
|
| 55 | python_enable_pyc() { |
|
|
| 56 | unset PYTHON_DONTCOMPILE |
|
|
| 57 | } |
|
|
| 58 | |
|
|
| 59 | python_disable_pyc |
|
|
| 60 | |
38 | |
| 61 | # @FUNCTION: python_version |
39 | # @FUNCTION: python_version |
| 62 | # @DESCRIPTION: |
40 | # @DESCRIPTION: |
| 63 | # Run without arguments and it will export the version of python |
41 | # Run without arguments and it will export the version of python |
| 64 | # currently in use as $PYVER; sets PYVER/PYVER_MAJOR/PYVER_MINOR |
42 | # currently in use as $PYVER; sets PYVER/PYVER_MAJOR/PYVER_MINOR |
| … | |
… | |
| 78 | python=${python:-/usr/bin/python} |
56 | python=${python:-/usr/bin/python} |
| 79 | tmpstr="$(${python} -V 2>&1 )" |
57 | tmpstr="$(${python} -V 2>&1 )" |
| 80 | export PYVER_ALL="${tmpstr#Python }" |
58 | export PYVER_ALL="${tmpstr#Python }" |
| 81 | __python_version_extract $PYVER_ALL |
59 | __python_version_extract $PYVER_ALL |
| 82 | } |
60 | } |
|
|
61 | |
|
|
62 | # @FUNCTION: python_disable_pyc |
|
|
63 | # @DESCRIPTION: |
|
|
64 | # Tells python not to automatically recompile modules to .pyc/.pyo |
|
|
65 | # even if the timestamps/version stamps don't match. This is done |
|
|
66 | # to protect sandbox. |
|
|
67 | # |
|
|
68 | # note: supported by >=dev-lang/python-2.2.3-r3 only. |
|
|
69 | # |
|
|
70 | python_disable_pyc() { |
|
|
71 | python_version |
|
|
72 | if [[ ${PYVER/./,} -ge 2,6 ]]; then |
|
|
73 | export PYTHONDONTWRITEBYTECODE=1 |
|
|
74 | else |
|
|
75 | export PYTHON_DONTCOMPILE=1 |
|
|
76 | fi |
|
|
77 | } |
|
|
78 | |
|
|
79 | # @FUNCTION: python_enable_pyc |
|
|
80 | # @DESCRIPTION: |
|
|
81 | # Tells python to automatically recompile modules to .pyc/.pyo if the |
|
|
82 | # timestamps/version stamps change |
|
|
83 | python_enable_pyc() { |
|
|
84 | python_version |
|
|
85 | if [[ ${PYVER/./,} -ge 2,6 ]]; then |
|
|
86 | unset PYTHONDONTWRITEBYTECODE |
|
|
87 | else |
|
|
88 | unset PYTHON_DONTCOMPILE |
|
|
89 | fi |
|
|
90 | } |
|
|
91 | |
|
|
92 | python_disable_pyc |
| 83 | |
93 | |
| 84 | # @FUNCTION: python_get_libdir |
94 | # @FUNCTION: python_get_libdir |
| 85 | # @DESCRIPTION: |
95 | # @DESCRIPTION: |
| 86 | # Run without arguments, returns the python library dir |
96 | # Run without arguments, returns the python library dir |
| 87 | python_get_libdir() { |
97 | python_get_libdir() { |