Merge github#931: dev-perl/MongoDB: version bump to v1.2.2
[gentoo.git] / app-eselect / eselect-python / eselect-python-20151117-r2.ebuild
1 # Copyright 1999-2015 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Id$
4
5 EAPI=5
6
7 if [[ ${PV} == "99999999" ]] ; then
8         inherit autotools git-r3
9         EGIT_REPO_URI="git://anongit.gentoo.org/proj/${PN}.git"
10 else
11         SRC_URI="https://dev.gentoo.org/~mgorny/dist/${P}.tar.bz2"
12         KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-aix ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
13 fi
14
15 DESCRIPTION="Eselect module for management of multiple Python versions"
16 HOMEPAGE="https://www.gentoo.org/proj/en/Python/"
17
18 LICENSE="GPL-2"
19 SLOT="0"
20 IUSE=""
21
22 RDEPEND=">=app-admin/eselect-1.2.3
23         >=dev-lang/python-exec-2.1:2
24         !<dev-lang/python-2.7.10-r4:2.7
25         !<dev-lang/python-3.3.5-r4:3.3
26         !<dev-lang/python-3.4.3-r4:3.4
27         !<dev-lang/python-3.5.0-r3:3.5"
28
29 src_prepare() {
30         [[ ${PV} == "99999999" ]] && eautoreconf
31 }
32
33 src_install() {
34         keepdir /etc/env.d/python
35         emake DESTDIR="${D}" install || die
36
37         local f
38         for f in python{,2,3}; do
39                 # can't use symlinks here since random stuff
40                 # loves to do readlink on sys.executable...
41                 newbin "${EPREFIX}/usr/lib/python-exec/python-exec2" "${f}"
42         done
43         for f in python{,2,3}-config 2to3 idle pydoc pyvenv; do
44                 dosym ../lib/python-exec/python-exec2 /usr/bin/"${f}"
45         done
46 }
47
48 pkg_preinst() {
49         local py
50
51         # Copy python[23] selection from the old format (symlink)
52         for py in 2 3; do
53                 # default to none
54                 declare -g "PREV_PYTHON${py}"=
55
56                 if [[ -L ${EROOT}/usr/bin/python${py} ]]; then
57                         local target=$(readlink "${EROOT}/usr/bin/python${py}")
58
59                         # check if it's actually old eselect symlink
60                         if [[ ${target} == python?.? ]]; then
61                                 declare -g "PREV_PYTHON${py}=${target}"
62                         fi
63                 fi
64         done
65 }
66
67 pkg_postinst() {
68         local py
69
70         if has_version 'dev-lang/python'; then
71                 eselect python update --if-unset
72         fi
73
74         for py in 2 3; do
75                 local pyvar=PREV_PYTHON${py}
76                 if [[ -n ${!pyvar} ]]; then
77                         einfo "Setting Python${py} to ${!pyvar}"
78                         eselect python set "--python${py}" "${!pyvar}"
79                 elif has_version "=dev-lang/python-${py}*"; then
80                         eselect python update "--python${py}" --if-unset
81                 fi
82         done
83 }