FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 09-19-2012, 10:00 AM
Michał Górny
 
Default Move PYTHON_COMPAT, IUSE and REQUIRED_USE to python-r1.

---
gx86/eclass/python-distutils-ng.eclass | 31 ++------------------
gx86/eclass/python-r1.eclass | 53 ++++++++++++++++++++++++++++++++++
2 files changed, 55 insertions(+), 29 deletions(-)
create mode 100644 gx86/eclass/python-r1.eclass

diff --git a/gx86/eclass/python-distutils-ng.eclass b/gx86/eclass/python-distutils-ng.eclass
index edc38a4..5df965c 100644
--- a/gx86/eclass/python-distutils-ng.eclass
+++ b/gx86/eclass/python-distutils-ng.eclass
@@ -26,26 +26,6 @@
# each implementation and python_install_all that will be run in original
# directory (so it will not contain any implementation-specific files)

-# @ECLASS-VARIABLE: PYTHON_COMPAT
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# This variable contains a space separated list of implementations (see above) a
-# package is compatible to. It must be set before the `inherit' call. The
-# default is to enable all implementations.
-#
-# PYTHON_COMPAT can be either a scalar or an array. If it's a scalar, the eclass
-# will implicitly convert it to an array.
-
-if [[ -z "${PYTHON_COMPAT}" ]]; then
- # Default: pure python, support all implementations
- PYTHON_COMPAT=" python2_5 python2_6 python2_7"
- PYTHON_COMPAT+=" python3_1 python3_2"
- PYTHON_COMPAT+=" jython2_5"
- PYTHON_COMPAT+=" pypy1_8 pypy1_9"
-fi
-
-PYTHON_COMPAT=( ${PYTHON_COMPAT[@]} )
-
# @ECLASS-VARIABLE: PYTHON_DISABLE_COMPILATION
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -68,6 +48,8 @@ case "${EAPI}" in
die "Unsupported EAPI=${EAPI} (unknown) for python-distutils-ng.eclass" ;;
esac

+inherit python-r1
+
EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install

DEPEND="${DEPEND} !<sys-apps/portage-2.1.10.58"
@@ -92,16 +74,7 @@ _python-distutils-ng_get_binary_for_implementation() {
esac
}

-required_use_str=""
-for impl in ${PYTHON_COMPAT[@]}; do
- required_use_str+=" python_targets_${impl}"
-done
-required_use_str=" || ( ${required_use_str} )"
-REQUIRED_USE+=" ${required_use_str}"
-unset required_use_str
-
for impl in ${PYTHON_COMPAT[@]}; do
- IUSE+=" python_targets_${impl}"
dep_str="${impl/_/.}"
case "${dep_str}" in
python?.?)
diff --git a/gx86/eclass/python-r1.eclass b/gx86/eclass/python-r1.eclass
new file mode 100644
index 0000000..18f9246
--- /dev/null
+++ b/gx86/eclass/python-r1.eclass
@@ -0,0 +1,53 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# @ECLASS: python-r1
+# @MAINTAINER:
+# Python herd <python@gentoo.org>
+# @AUTHOR:
+# Author: Michał Górny <mgorny@gentoo.org>
+# Based on work of: Krzysztof Pawlik <nelchael@gentoo.org>
+# @BLURB: A common eclass for Python packages supporting multiple ABIs.
+# @DESCRIPTION:
+
+case "${EAPI}" in
+ 0|1|2|3)
+ die "Unsupported EAPI=${EAPI} (too old) for ${ECLASS}"
+ ;;
+ 4)
+ # EAPI=4 needed for REQUIRED_USE
+ ;;
+ *)
+ die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
+ ;;
+esac
+
+# @ECLASS-VARIABLE: _PYTHON_ALL_IMPLS
+# @INTERNAL
+# @DESCRIPTION:
+# All supported Python implementations, most preferred first.
+_PYTHON_ALL_IMPLS=(
+ python2_7 python2_6 python2_5
+ python3_2 python3_1
+ pypy1_9 pypy1_8
+ jython2_5
+)
+
+# @ECLASS-VARIABLE: PYTHON_COMPAT
+# @DESCRIPTION:
+# This variable contains a space separated list of Pythonimplementations
+# a package supports. It must be set before the `inherit' call.
+# The default is to enable all implementations.
+#
+# PYTHON_COMPAT can be either a scalar or an array. If it's a scalar, the eclass
+# will implicitly convert it to an array.
+: ${PYTHON_COMPAT:=${_PYTHON_ALL_IMPLS[@]}}
+
+PYTHON_COMPAT=( ${PYTHON_COMPAT[@]} )
+
+_python_set_globals() {
+ IUSE=${PYTHON_COMPAT[@]/#/python_targets_}
+ REQUIRED_USE="|| ( ${IUSE} )"
+}
+_python_set_globals
--
1.7.12
 

Thread Tools




All times are GMT. The time now is 02:47 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org