mgorny      14/11/09 22:27:58

  Modified:             ChangeLog python-any-r1.eclass
                        python-utils-r1.eclass
  Log:
  Move the has_version checks on installed implementations to 
python_is_installed() function. Accept PyPy when the implementation is 
installed, even if the virtual is not.

Revision  Changes    Path
1.1412               eclass/ChangeLog

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

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1411
retrieving revision 1.1412
diff -u -r1.1411 -r1.1412
--- ChangeLog   9 Nov 2014 21:34:29 -0000       1.1411
+++ ChangeLog   9 Nov 2014 22:27:58 -0000       1.1412
@@ -1,6 +1,12 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1411 2014/11/09 
21:34:29 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1412 2014/11/09 
22:27:58 mgorny Exp $
+
+  09 Nov 2014; Michał Górny <mgo...@gentoo.org> python-any-r1.eclass,
+  python-utils-r1.eclass:
+  Move the has_version checks on installed implementations to
+  python_is_installed() function. Accept PyPy when the implementation is
+  installed, even if the virtual is not.
 
   09 Nov 2014; Andreas K. Huettel <dilfri...@gentoo.org> perl-module.eclass:
   Add docs and deprecate perlinfo and fixlocalpod



1.18                 eclass/python-any-r1.eclass

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

Index: python-any-r1.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/python-any-r1.eclass,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- python-any-r1.eclass        8 Apr 2014 16:05:30 -0000       1.17
+++ python-any-r1.eclass        9 Nov 2014 22:27:58 -0000       1.18
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/python-any-r1.eclass,v 1.17 
2014/04/08 16:05:30 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/python-any-r1.eclass,v 1.18 
2014/11/09 22:27:58 mgorny Exp $
 
 # @ECLASS: python-any-r1
 # @MAINTAINER:
@@ -239,9 +239,7 @@
        esac
 
        if has "${i}" "${PYTHON_COMPAT[@]}"; then
-               local PYTHON_PKG_DEP
-               python_export "${i}" PYTHON_PKG_DEP
-               if ROOT=/ has_version "${PYTHON_PKG_DEP}"; then
+               if python_is_installed "${i}"; then
                        if declare -f python_check_deps >/dev/null; then
                                local 
PYTHON_USEDEP="python_targets_${i}(-),python_single_target_${i}(+)"
                                python_check_deps



1.64                 eclass/python-utils-r1.eclass

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

Index: python-utils-r1.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/python-utils-r1.eclass,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- python-utils-r1.eclass      5 Nov 2014 23:03:01 -0000       1.63
+++ python-utils-r1.eclass      9 Nov 2014 22:27:58 -0000       1.64
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 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.63 
2014/11/05 23:03:01 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/python-utils-r1.eclass,v 1.64 
2014/11/09 22:27:58 mgorny Exp $
 
 # @ECLASS: python-utils-r1
 # @MAINTAINER:
@@ -919,6 +919,38 @@
        [[ ${impl} == python3* || ${impl} == pypy3 ]]
 }
 
+# @FUNCTION: python_is_installed
+# @USAGE: [<impl>]
+# @DESCRIPTION:
+# Check whether the interpreter for <impl> (or ${EPYTHON}) is installed.
+# Uses has_version with a proper dependency string.
+#
+# Returns 0 (true) if it is, 1 (false) otherwise.
+python_is_installed() {
+       local impl=${1:-${EPYTHON}}
+       [[ ${impl} ]] || die "${FUNCNAME}: no impl nor EPYTHON"
+
+       # for has_version
+       local -x ROOT=/
+       case "${impl}" in
+               pypy|pypy3)
+                       local append=
+                       if [[ ${PYTHON_REQ_USE} ]]; then
+                               append=[${PYTHON_REQ_USE}]
+                       fi
+
+                       # be happy with just the interpeter, no need for the 
virtual
+                       has_version "dev-python/${impl}${append}" \
+                               || has_version "dev-python/${impl}-bin${append}"
+                       ;;
+               *)
+                       local PYTHON_PKG_DEP
+                       python_export "${impl}" PYTHON_PKG_DEP
+                       has_version "${PYTHON_PKG_DEP}"
+                       ;;
+       esac
+}
+
 # @FUNCTION: python_fix_shebang
 # @USAGE: [-f|--force] [-q|--quiet] <path>...
 # @DESCRIPTION:




Reply via email to