patrick     15/02/20 08:18:05

  Modified:             distutils-r1.eclass python-utils-r1.eclass
  Log:
  Revert random mgorny madness

Revision  Changes    Path
1.112                eclass/distutils-r1.eclass

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/distutils-r1.eclass?rev=1.112&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/distutils-r1.eclass?rev=1.112&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/distutils-r1.eclass?r1=1.111&r2=1.112

Index: distutils-r1.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/distutils-r1.eclass,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -r1.111 -r1.112
--- distutils-r1.eclass 19 Feb 2015 17:22:25 -0000      1.111
+++ distutils-r1.eclass 20 Feb 2015 08:18:05 -0000      1.112
@@ -1,6 +1,6 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/distutils-r1.eclass,v 1.111 
2015/02/19 17:22:25 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/distutils-r1.eclass,v 1.112 
2015/02/20 08:18:05 patrick Exp $
 
 # @ECLASS: distutils-r1
 # @MAINTAINER:
@@ -393,7 +393,7 @@
                        root = ${D}
                _EOF_
 
-               if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
+               if [[ ! ${DISTUTILS_SINGLE_IMPL} ]] && 
_python_want_python_exec2; then
                        cat >> "${HOME}"/.pydistutils.cfg <<-_EOF_ || die
                                install-scripts = $(python_get_scriptdir)
                        _EOF_
@@ -444,7 +444,11 @@
        local bindir=${2}
 
        local PYTHON_SCRIPTDIR
-       python_export PYTHON_SCRIPTDIR
+       if _python_want_python_exec2; then
+               python_export PYTHON_SCRIPTDIR
+       else
+               PYTHON_SCRIPTDIR=${bindir}
+       fi
 
        local f python_files=() non_python_files=()
 
@@ -458,7 +462,7 @@
                        if [[ ${shebang} == '#!'*${EPYTHON}* ]]; then
                                debug-print "${FUNCNAME}: matching shebang: 
${shebang}"
                                python_files+=( "${f}" )
-                       else
+                       elif _python_want_python_exec2; then
                                debug-print "${FUNCNAME}: non-matching shebang: 
${shebang}"
                                non_python_files+=( "${f}" )
                        fi
@@ -469,11 +473,18 @@
                for f in "${python_files[@]}"; do
                        local basename=${f##*/}
 
+                       if ! _python_want_python_exec2; then
+                               local newf=${f%/*}/${basename}-${EPYTHON}
+                               debug-print "${FUNCNAME}: renaming 
${f#${path}/} to ${newf#${path}/}"
+                               mv "${f}" "${newf}" || die
+                       fi
+
                        debug-print "${FUNCNAME}: installing wrapper at 
${bindir}/${basename}"
-                       _python_ln_rel 
"${path}${EPREFIX}"/usr/lib/python-exec/python-exec2 \
+                       _python_ln_rel 
"${path}${EPREFIX}"$(_python_get_wrapper_path) \
                                "${path}${bindir}/${basename}" || die
                done
 
+               # (non-empty only with python-exec:2)
                for f in "${non_python_files[@]}"; do
                        local basename=${f##*/}
 
@@ -533,11 +544,15 @@
                        case "${a}" in
                                --install-scripts=*)
                                        scriptdir=${a#--install-scripts=}
-                                       unset "${arg_var}"
+                                       if _python_want_python_exec2; then
+                                               unset "${arg_var}"
+                                       fi
                                        ;;
                                --install-scripts)
                                        scriptdir=${!1}
-                                       unset "${arg_var}" "${1}"
+                                       if _python_want_python_exec2; then
+                                               unset "${arg_var}" "${1}"
+                                       fi
                                        shift
                                        ;;
                        esac



1.78                 eclass/python-utils-r1.eclass

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/python-utils-r1.eclass?rev=1.78&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/python-utils-r1.eclass?rev=1.78&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/python-utils-r1.eclass?r1=1.77&r2=1.78

Index: python-utils-r1.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/python-utils-r1.eclass,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -r1.77 -r1.78
--- python-utils-r1.eclass      19 Feb 2015 18:52:06 -0000      1.77
+++ python-utils-r1.eclass      20 Feb 2015 08:18:05 -0000      1.78
@@ -1,6 +1,6 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/python-utils-r1.eclass,v 1.77 
2015/02/19 18:52:06 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/python-utils-r1.eclass,v 1.78 
2015/02/20 08:18:05 patrick Exp $
 
 # @ECLASS: python-utils-r1
 # @MAINTAINER:
@@ -635,14 +635,21 @@
        [[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is 
null).'
        [[ ${#} -eq 2 ]] || die "Usage: ${FUNCNAME} <path> <new-name>"
 
-       local wrapd=${python_scriptroot:-${DESTTREE}/bin}
+       local d=${python_scriptroot:-${DESTTREE}/bin}
+       local wrapd=${d}
 
        local f=${1}
-       local newfn=${2}
+       local barefn=${2}
+       local newfn
 
-       local PYTHON_SCRIPTDIR d
-       python_export PYTHON_SCRIPTDIR
-       d=${PYTHON_SCRIPTDIR#${EPREFIX}}
+       if _python_want_python_exec2; then
+               local PYTHON_SCRIPTDIR
+               python_export PYTHON_SCRIPTDIR
+               d=${PYTHON_SCRIPTDIR#${EPREFIX}}
+               newfn=${barefn}
+       else
+               newfn=${barefn}-${EPYTHON}
+       fi
 
        (
                dodir "${wrapd}"
@@ -651,7 +658,7 @@
        )
 
        # install the wrapper
-       _python_ln_rel "${ED%/}"/usr/lib/python-exec/python-exec2 \
+       _python_ln_rel "${ED%/}"$(_python_get_wrapper_path) \
                "${ED%/}/${wrapd}/${barefn}" || die
 
        # don't use this at home, just call python_doscript() instead
@@ -1092,6 +1099,40 @@
        done
 }
 
+# @FUNCTION: _python_want_python_exec2
+# @INTERNAL
+# @DESCRIPTION:
+# Check whether we should be using python-exec:2.
+_python_want_python_exec2() {
+       debug-print-function ${FUNCNAME} "${@}"
+
+       # EAPI 4 lacks slot operators, so just fix it on python-exec:2.
+       [[ ${EAPI} == 4 ]] && return 0
+
+       # Check if we cached the result, or someone put an override.
+       if [[ ! ${_PYTHON_WANT_PYTHON_EXEC2+1} ]]; then
+               has_version 'dev-lang/python-exec:2'
+               _PYTHON_WANT_PYTHON_EXEC2=$(( ! ${?} ))
+       fi
+
+       # Non-zero means 'yes', zero means 'no'.
+       [[ ${_PYTHON_WANT_PYTHON_EXEC2} != 0 ]]
+}
+
+# @FUNCTION: _python_get_wrapper_path
+# @INTERNAL
+# @DESCRIPTION:
+# Output path to proper python-exec slot.
+_python_get_wrapper_path() {
+       debug-print-function ${FUNCNAME} "${@}"
+
+       if _python_want_python_exec2; then
+               echo /usr/lib/python-exec/python-exec2
+       else
+               echo /usr/bin/python-exec
+       fi
+}
+
 # @FUNCTION: python_export_utf8_locale
 # @RETURN: 0 on success, 1 on failure.
 # @DESCRIPTION:
@@ -1127,22 +1168,6 @@
        return 0
 }
 
-# @FUNCTION: _python_check_EAPI
-# @INTERNAL
-# @DESCRIPTION:
-# Check whether the ebuild is not using deprecated EAPI 4. Output
-# a QA warning if it does.
-_python_check_EAPI() {
-       if [[ ${EAPI} == 4 && ! ${_PYTHON_WARNED_EAPI} ]]; then
-               eqawarn "This package is using still using EAPI=4. This results 
in package"
-               eqawarn "dependencies violating PMS and causing issues for 
package managers."
-               eqawarn "For this reason, using EAPI=4 in new Python packages 
will be banned"
-               eqawarn "on 2015-03-20 (2 years and 6 months after approving 
EAPI 5)."
-
-               _PYTHON_WARNED_EAPI=1
-       fi
-}
-
 # -- python.eclass functions --
 
 _python_check_dead_variables() {




Reply via email to