commit:     1ec1ad927519b2ed395ae7254f721b7dc9a0db45
Author:     Aaron Bauman <bman <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  1 00:44:44 2018 +0000
Commit:     Aaron Bauman <bman <AT> gentoo <DOT> org>
CommitDate: Sat Dec  1 00:44:44 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ec1ad92

dev-lang/python: drop vulnerable

Signed-off-by: Aaron Bauman <bman <AT> gentoo.org>

 dev-lang/python/Manifest                |   2 -
 dev-lang/python/python-2.7.14-r1.ebuild | 363 -------------------------------
 dev-lang/python/python-2.7.14-r2.ebuild | 367 --------------------------------
 3 files changed, 732 deletions(-)

diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index 6bd4f45d838..e280e2dba6b 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -1,4 +1,3 @@
-DIST Python-2.7.14.tar.xz 12576112 BLAKE2B 
e03c4134cfdd88678acc26f383130a598ce4de908ab6bb9ee00e9235de3e0fcb9e653fec86f39db64fb895ef797d33736524655c5b94fab2cde2544b966b2cfb
 SHA512 
78310b0be6388ffa15f29a80afb9ab3c03a572cb094e9da00cfe391afadb51696e41f592eb658d6a31a2f422fdac8a55214a382cbb8cfb43d4a127d5b35ea7f9
 DIST Python-2.7.15.tar.xz 12642436 BLAKE2B 
d8783a48ea26695e8d4677397a08194c738d7e4bc8ecaddaab609ad1fd5a1ca07701f707fe38d259f6bd44a39171ef95e7530f3df4bcb4d94abc4d21d7e2d489
 SHA512 
27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6
 DIST Python-3.4.5.tar.xz 14516820 BLAKE2B 
f9ddabd2df2241089d07756d3a8ba1c70096bee60d7cdef84041edbb20c488c3a573762441a4b7f543dbc0ce403ce84ff7d02e7d25699917bd014ab96deead85
 SHA512 
b548a5338d141b3086dea372fa2cc245ba5350ee9f0d1304ef6222dc45380b66d380b092e547d54206d56ca68563b95036f445f97f72bb0ef1d48f81a74a3d4c
 DIST Python-3.4.6.tar.xz 14473592 BLAKE2B 
4af4f8e6f5c6831b50e99dd9eef47617f14903dc709f53f833c64726b003e9f84f75be80ba8059dcada2b2f262d65875f70d8c53a163546e51f9a715c68f4f20
 SHA512 
f6785cf6a99a8a27823baefe59cc20e34cbec01bb444c8600e7f49b5437159d5137f9d80fce26e219846d71bfe98f68bc6f0c87719a34db0050a4eaca95959ac
@@ -10,7 +9,6 @@ DIST Python-3.6.4.tar.xz 16992824 BLAKE2B 
2347a70bb25468221178b1542ddd4376f136a5
 DIST Python-3.6.5.tar.xz 17049912 BLAKE2B 
f393e9563a18a46c457afcd2e174d9eacda20fe2b0ae5461e11c582fa4d27b85c01bbe7b602f45511b6b44f635c6330205b12fb3e8325ffd07e87b78a8258889
 SHA512 
6b26fcd296b9bd8e67861eff10d14db7507711ddba947288d16d6def53135c39326b7f969c04bb2b2993f924d9e7ad3f5c5282a3915760bc0885cf0a8ea5eb51
 DIST Python-3.6.6.tar.xz 17156744 BLAKE2B 
fa4333149f84570cc4a0d1ec76c819610888750a51268b9db7d05df7d9c11e5ed72daff5d81b404015d9c678cb034d8a32034262ce73629ee8f96772853a706c
 SHA512 
c71f87c5906e770322a14cacad228655659f782207db826320449d12bf86091c3662f317e1773158dec52f8b052eaedfb4c03b561cc2a6cfcd381597fd2d2b04
 DIST Python-3.7.0.tar.xz 16922100 BLAKE2B 
cd2afd9ad1847ca793bc64ecb637906c35e0c8da8392d626cce3ebf19be5ccde1e6dcc499b933359cb24dcdbd024b3aaa916f96ed893b1f52d9825e404f27e5f
 SHA512 
8bb11233fb67ee9ab8ed1b72f8fdc62f66e26a6beaaeb92448bce681cf065269833b1658d3ed2459127f25ba43adb0eab73cf27c59834a2a803fb529b4216739
-DIST python-gentoo-patches-2.7.14-0.tar.xz 13428 BLAKE2B 
0048e48ddaaa4bef08451354fde95a123042880f26dddc9267c7f9a90fd8abb40955e26ee8c9dfc5a1165556bb3e11585b27288e635d42a4000dd3d7654c41ad
 SHA512 
6da5b52065752b54e9215d0f0809c75167dc3690d0e94fa21dd7595626925bc5c1dd065d31b3bd696d7087f3986de145d3a335a29eb7bd77442637a7ec2863c1
 DIST python-gentoo-patches-2.7.15.tar.xz 16208 BLAKE2B 
5739c2b3a236d48f8e33f0fe6515bfe7a8f99096f6223b402653988feac2513d37d26b6e40e5e049852f42657358170e468ca60097e0e2294e760787c12ad591
 SHA512 
687fd008d1d41b1e65ce5417f6f6aba84ffd42f7af44ef97c03a7806b28e6888f8df043a0c15187a8b229cc17642853e6feb25494db97f4d10f8a66f8ebcbcca
 DIST python-gentoo-patches-3.4.5-0.tar.xz 12044 BLAKE2B 
7fb3cc7dcd987debd5aa263d8e26b21aad439d8e3177c06c3683406a53bbda9652175673b09b6300f6a5b62148190cd8a75c9b65a5de04d770866733fcc0ebcb
 SHA512 
108a4845667ecdf4001fcbeffab0cfbbac87439a449a7351428b0f3e2f159e3848ee0c0dfa45c9fba893b9f9584b33722fc8bb0bd7485a1d0909c3a35ede6ed8
 DIST python-gentoo-patches-3.4.6-0.tar.xz 11728 BLAKE2B 
2a636f5500f4c7d354f421133f086cba9a25c30d5feaaa2dc25c9c588125d7c9097baecaa11f31548fa598b5dc137ca310ad86222510c0a955fa632a6d0a4b06
 SHA512 
41c22dc8f1db8800fc0b97eed2b27bf1873e5de1369bd4aecf7a7a91e609a78e45a4b56fc89d575317f33a7704c0c1cad1494e8a993415a198f256e8338f49ab

diff --git a/dev-lang/python/python-2.7.14-r1.ebuild 
b/dev-lang/python/python-2.7.14-r1.ebuild
deleted file mode 100644
index 46a254fb031..00000000000
--- a/dev-lang/python/python-2.7.14-r1.ebuild
+++ /dev/null
@@ -1,363 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-WANT_LIBTOOL="none"
-
-inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 
toolchain-funcs multiprocessing
-
-MY_P="Python-${PV}"
-PATCHSET_VERSION="2.7.14-0"
-
-DESCRIPTION="An interpreted, interactive, object-oriented programming language"
-HOMEPAGE="https://www.python.org/";
-SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
-       
https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz";
-
-LICENSE="PSF-2"
-SLOT="2.7"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc 
x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="-berkdb build doc elibc_uclibc examples gdbm hardened ipv6 libressl 
+ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml"
-
-# Do not add a dependency on dev-lang/python to this ebuild.
-# If you need to apply a patch which requires python for bootstrapping, please
-# run the bootstrap code on your dev box and include the results in the
-# patchset. See bug 447752.
-
-RDEPEND="app-arch/bzip2:0=
-       >=sys-libs/zlib-1.1.3:0=
-       virtual/libffi:=
-       virtual/libintl
-       berkdb? ( || (
-               sys-libs/db:5.3
-               sys-libs/db:5.1
-               sys-libs/db:4.8
-               sys-libs/db:4.7
-               sys-libs/db:4.6
-               sys-libs/db:4.5
-               sys-libs/db:4.4
-               sys-libs/db:4.3
-               sys-libs/db:4.2
-       ) )
-       gdbm? ( sys-libs/gdbm:0=[berkdb] )
-       ncurses? ( >=sys-libs/ncurses-5.2:0= )
-       readline? ( >=sys-libs/readline-4.1:0= )
-       sqlite? ( >=dev-db/sqlite-3.3.8:3= )
-       ssl? (
-               !libressl? ( dev-libs/openssl:0= )
-               libressl? ( dev-libs/libressl:0= )
-       )
-       tk? (
-               >=dev-lang/tcl-8.0:0=
-               >=dev-lang/tk-8.0:0=
-               dev-tcltk/blt:0=
-               dev-tcltk/tix
-       )
-       xml? ( >=dev-libs/expat-2.1 )
-       !!<sys-apps/portage-2.1.9"
-DEPEND="${RDEPEND}
-       virtual/pkgconfig
-       >=sys-devel/autoconf-2.65
-       !sys-devel/gcc[libffi(-)]"
-RDEPEND+=" !build? ( app-misc/mime-types )
-       doc? ( dev-python/python-docs:${SLOT} )"
-PDEPEND=">=app-eselect/eselect-python-20140125-r1"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_setup() {
-       if use berkdb; then
-               ewarn "'bsddb' module is out-of-date and no longer maintained 
inside"
-               ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been 
additionally"
-               ewarn "removed in Python 3. A maintained alternative of 
'bsddb3' module"
-               ewarn "is provided by dev-python/bsddb3."
-       else
-               if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then
-                       ewarn "You are migrating from 
=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"
-                       ewarn "to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]."
-                       ewarn "You might need to migrate your databases."
-               fi
-       fi
-}
-
-src_prepare() {
-       # Ensure that internal copies of expat, libffi and zlib are not used.
-       rm -r Modules/expat || die
-       rm -r Modules/_ctypes/libffi* || die
-       rm -r Modules/zlib || die
-
-       if tc-is-cross-compiler; then
-               local 
EPATCH_EXCLUDE="*_regenerate_platform-specific_modules.patch"
-       fi
-
-       EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches"
-
-       # Fix for cross-compiling.
-       epatch "${FILESDIR}/python-2.7.5-nonfatal-compileall.patch"
-       epatch "${FILESDIR}/python-2.7.9-ncurses-pkg-config.patch"
-       epatch "${FILESDIR}/python-2.7.10-cross-compile-warn-test.patch"
-       epatch "${FILESDIR}/python-2.7.10-system-libffi.patch"
-       epatch "${FILESDIR}/2.7-disable-nis.patch"
-       epatch "${FILESDIR}/python-2.7-libressl-compatibility.patch"
-
-       epatch_user
-
-       sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
-               Lib/distutils/command/install.py \
-               Lib/distutils/sysconfig.py \
-               Lib/site.py \
-               Lib/sysconfig.py \
-               Lib/test/test_site.py \
-               Makefile.pre.in \
-               Modules/Setup.dist \
-               Modules/getpath.c \
-               setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
-
-       eautoreconf
-}
-
-src_configure() {
-               # dbm module can be linked against berkdb or gdbm.
-               # Defaults to gdbm when both are enabled, #204343.
-               local disable
-               use berkdb   || use gdbm || disable+=" dbm"
-               use berkdb   || disable+=" _bsddb"
-               use gdbm     || disable+=" gdbm"
-               use ncurses  || disable+=" _curses _curses_panel"
-               use readline || disable+=" readline"
-               use sqlite   || disable+=" _sqlite3"
-               use ssl      || export PYTHON_DISABLE_SSL="1"
-               use tk       || disable+=" _tkinter"
-               use xml      || disable+=" _elementtree pyexpat" # _elementtree 
uses pyexpat.
-               export PYTHON_DISABLE_MODULES="${disable}"
-
-               if ! use xml; then
-                       ewarn "You have configured Python without XML support."
-                       ewarn "This is NOT a recommended configuration as you"
-                       ewarn "may face problems parsing any XML documents."
-               fi
-
-       if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
-               einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
-       fi
-
-       if [[ "$(gcc-major-version)" -ge 4 ]]; then
-               append-flags -fwrapv
-       fi
-
-       filter-flags -malign-double
-
-       # https://bugs.gentoo.org/show_bug.cgi?id=50309
-       if is-flagq -O3; then
-               is-flagq -fstack-protector-all && replace-flags -O3 -O2
-               use hardened && replace-flags -O3 -O2
-       fi
-
-       if tc-is-cross-compiler; then
-               # Force some tests that try to poke fs paths.
-               export ac_cv_file__dev_ptc=no
-               export ac_cv_file__dev_ptmx=yes
-       fi
-
-       # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile.
-       tc-export CXX
-       # The configure script fails to use pkg-config correctly.
-       # http://bugs.python.org/issue15506
-       export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
-
-       # Set LDFLAGS so we link modules with -lpython2.7 correctly.
-       # Needed on FreeBSD unless Python 2.7 is already installed.
-       # Please query BSD team before removing this!
-       append-ldflags "-L."
-
-       local dbmliborder
-       if use gdbm; then
-               dbmliborder+="${dbmliborder:+:}gdbm"
-       fi
-       if use berkdb; then
-               dbmliborder+="${dbmliborder:+:}bdb"
-       fi
-
-       BUILD_DIR="${WORKDIR}/${CHOST}"
-       mkdir -p "${BUILD_DIR}" || die
-       cd "${BUILD_DIR}" || die
-
-       ECONF_SOURCE="${S}" OPT="" \
-       econf \
-               --with-fpectl \
-               --enable-shared \
-               $(use_enable ipv6) \
-               $(use_with threads) \
-               $(use wide-unicode && echo "--enable-unicode=ucs4" || echo 
"--enable-unicode=ucs2") \
-               --infodir='${prefix}/share/info' \
-               --mandir='${prefix}/share/man' \
-               --with-computed-gotos \
-               --with-dbmliborder="${dbmliborder}" \
-               --with-libc="" \
-               --enable-loadable-sqlite-extensions \
-               --with-system-expat \
-               --with-system-ffi \
-               --without-ensurepip
-
-       if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" 
pyconfig.h; then
-               eerror "configure has detected that the sem_open function is 
broken."
-               eerror "Please ensure that /dev/shm is mounted as a tmpfs with 
mode 1777."
-               die "Broken sem_open function (bug 496328)"
-       fi
-}
-
-src_compile() {
-       # Avoid invoking pgen for cross-compiles.
-       touch Include/graminit.h Python/graminit.c
-
-       cd "${BUILD_DIR}" || die
-       emake
-
-       # Work around bug 329499. See also bug 413751 and 457194.
-       if has_version dev-libs/libffi[pax_kernel]; then
-               pax-mark E python
-       else
-               pax-mark m python
-       fi
-}
-
-src_test() {
-       # Tests will not work when cross compiling.
-       if tc-is-cross-compiler; then
-               elog "Disabling tests due to crosscompiling."
-               return
-       fi
-
-       cd "${BUILD_DIR}" || die
-
-       # Skip failing tests.
-       local skipped_tests="distutils gdb"
-
-       for test in ${skipped_tests}; do
-               mv "${S}"/Lib/test/test_${test}.py "${T}"
-       done
-
-       # Daylight saving time problem
-       # https://bugs.python.org/issue22067
-       # https://bugs.gentoo.org/610628
-       local -x TZ=UTC
-
-       # Rerun failed tests in verbose mode (regrtest -w).
-       emake test EXTRATESTOPTS="-w" < /dev/tty
-       local result="$?"
-
-       for test in ${skipped_tests}; do
-               mv "${T}/test_${test}.py" "${S}"/Lib/test
-       done
-
-       elog "The following tests have been skipped:"
-       for test in ${skipped_tests}; do
-               elog "test_${test}.py"
-       done
-
-       elog "If you would like to run them, you may:"
-       elog "cd '${EPREFIX}/usr/$(get_libdir)/python${SLOT}/test'"
-       elog "and run the tests separately."
-
-       if [[ "${result}" -ne 0 ]]; then
-               die "emake test failed"
-       fi
-}
-
-src_install() {
-       local libdir=${ED}/usr/$(get_libdir)/python${SLOT}
-
-       cd "${BUILD_DIR}" || die
-       emake DESTDIR="${D}" altinstall
-
-       sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die 
"sed failed"
-
-       # Fix collisions between different slots of Python.
-       mv "${ED}usr/bin/2to3" "${ED}usr/bin/2to3-${SLOT}"
-       mv "${ED}usr/bin/pydoc" "${ED}usr/bin/pydoc${SLOT}"
-       mv "${ED}usr/bin/idle" "${ED}usr/bin/idle${SLOT}"
-       rm -f "${ED}usr/bin/smtpd.py"
-
-       use berkdb || rm -r "${libdir}/"{bsddb,dbhash.py*,test/test_bsddb*} || 
die
-       use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
-       use tk || rm -r "${ED}usr/bin/idle${SLOT}" "${libdir}/"{idlelib,lib-tk} 
|| die
-       use elibc_uclibc && rm -fr "${libdir}/"{bsddb/test,test}
-
-       use threads || rm -r "${libdir}/multiprocessing" || die
-       use wininst || rm -r "${libdir}/distutils/command/"wininst-*.exe || die
-
-       dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS}
-
-       if use examples; then
-               insinto /usr/share/doc/${PF}/examples
-               doins -r "${S}"/Tools
-       fi
-       insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
-       local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' 
| \
-               emake --no-print-directory -s -f - 2>/dev/null)
-       newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
-
-       newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT}
-       newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT}
-       sed \
-               -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${SLOT/./_}_PORT:" \
-               -e "s:@PYDOC@:pydoc${SLOT}:" \
-               -i "${ED}etc/conf.d/pydoc-${SLOT}" 
"${ED}etc/init.d/pydoc-${SLOT}" || die "sed failed"
-
-       # for python-exec
-       local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR )
-
-       # if not using a cross-compiler, use the fresh binary
-       if ! tc-is-cross-compiler; then
-               local -x PYTHON=./python
-               local -x 
LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
-       else
-               vars=( PYTHON "${vars[@]}" )
-       fi
-
-       python_export "python${SLOT}" "${vars[@]}"
-       echo "EPYTHON='${EPYTHON}'" > epython.py || die
-       python_domodule epython.py
-
-       # python-exec wrapping support
-       local pymajor=${SLOT%.*}
-       mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die
-       # python and pythonX
-       ln -s "../../../bin/python${SLOT}" \
-               "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die
-       ln -s "python${pymajor}" \
-               "${D}${PYTHON_SCRIPTDIR}/python" || die
-       # python-config and pythonX-config
-       ln -s "../../../bin/python${SLOT}-config" \
-               "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die
-       ln -s "python${pymajor}-config" \
-               "${D}${PYTHON_SCRIPTDIR}/python-config" || die
-       # 2to3, pydoc, pyvenv
-       ln -s "../../../bin/2to3-${SLOT}" \
-               "${D}${PYTHON_SCRIPTDIR}/2to3" || die
-       ln -s "../../../bin/pydoc${SLOT}" \
-               "${D}${PYTHON_SCRIPTDIR}/pydoc" || die
-       # idle
-       if use tk; then
-               ln -s "../../../bin/idle${SLOT}" \
-                       "${D}${PYTHON_SCRIPTDIR}/idle" || die
-       fi
-}
-
-eselect_python_update() {
-       if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect 
python show)" ]]; then
-               eselect python update
-       fi
-
-       if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f 
"${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then
-               eselect python update --python${PV%%.*}
-       fi
-}
-
-pkg_postinst() {
-       eselect_python_update
-}
-
-pkg_postrm() {
-       eselect_python_update
-}

diff --git a/dev-lang/python/python-2.7.14-r2.ebuild 
b/dev-lang/python/python-2.7.14-r2.ebuild
deleted file mode 100644
index cc59a512433..00000000000
--- a/dev-lang/python/python-2.7.14-r2.ebuild
+++ /dev/null
@@ -1,367 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-WANT_LIBTOOL="none"
-
-inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 
toolchain-funcs multiprocessing
-
-MY_P="Python-${PV}"
-PATCHSET_VERSION="2.7.14-0"
-
-DESCRIPTION="An interpreted, interactive, object-oriented programming language"
-HOMEPAGE="https://www.python.org/";
-SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
-       
https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz";
-
-LICENSE="PSF-2"
-SLOT="2.7"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="-berkdb bluetooth build doc elibc_uclibc examples gdbm hardened ipv6 
libressl +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml"
-
-# Do not add a dependency on dev-lang/python to this ebuild.
-# If you need to apply a patch which requires python for bootstrapping, please
-# run the bootstrap code on your dev box and include the results in the
-# patchset. See bug 447752.
-
-RDEPEND="app-arch/bzip2:0=
-       >=sys-libs/zlib-1.1.3:0=
-       virtual/libffi:=
-       virtual/libintl
-       berkdb? ( || (
-               sys-libs/db:5.3
-               sys-libs/db:5.1
-               sys-libs/db:4.8
-               sys-libs/db:4.7
-               sys-libs/db:4.6
-               sys-libs/db:4.5
-               sys-libs/db:4.4
-               sys-libs/db:4.3
-               sys-libs/db:4.2
-       ) )
-       gdbm? ( sys-libs/gdbm:0=[berkdb] )
-       ncurses? ( >=sys-libs/ncurses-5.2:0= )
-       readline? ( >=sys-libs/readline-4.1:0= )
-       sqlite? ( >=dev-db/sqlite-3.3.8:3= )
-       ssl? (
-               !libressl? ( dev-libs/openssl:0= )
-               libressl? ( dev-libs/libressl:0= )
-       )
-       tk? (
-               >=dev-lang/tcl-8.0:0=
-               >=dev-lang/tk-8.0:0=
-               dev-tcltk/blt:0=
-               dev-tcltk/tix
-       )
-       xml? ( >=dev-libs/expat-2.1 )
-       !!<sys-apps/portage-2.1.9"
-# bluetooth requires headers from bluez
-DEPEND="${RDEPEND}
-       bluetooth? ( net-wireless/bluez )
-       virtual/pkgconfig
-       >=sys-devel/autoconf-2.65
-       !sys-devel/gcc[libffi(-)]"
-RDEPEND+=" !build? ( app-misc/mime-types )
-       doc? ( dev-python/python-docs:${SLOT} )"
-PDEPEND=">=app-eselect/eselect-python-20140125-r1"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_setup() {
-       if use berkdb; then
-               ewarn "'bsddb' module is out-of-date and no longer maintained 
inside"
-               ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been 
additionally"
-               ewarn "removed in Python 3. A maintained alternative of 
'bsddb3' module"
-               ewarn "is provided by dev-python/bsddb3."
-       else
-               if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then
-                       ewarn "You are migrating from 
=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"
-                       ewarn "to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]."
-                       ewarn "You might need to migrate your databases."
-               fi
-       fi
-}
-
-src_prepare() {
-       # Ensure that internal copies of expat, libffi and zlib are not used.
-       rm -r Modules/expat || die
-       rm -r Modules/_ctypes/libffi* || die
-       rm -r Modules/zlib || die
-
-       if tc-is-cross-compiler; then
-               local 
EPATCH_EXCLUDE="*_regenerate_platform-specific_modules.patch"
-       fi
-
-       EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches"
-
-       # Fix for cross-compiling.
-       epatch "${FILESDIR}/python-2.7.5-nonfatal-compileall.patch"
-       epatch "${FILESDIR}/python-2.7.9-ncurses-pkg-config.patch"
-       epatch "${FILESDIR}/python-2.7.10-cross-compile-warn-test.patch"
-       epatch "${FILESDIR}/python-2.7.10-system-libffi.patch"
-       epatch "${FILESDIR}/2.7-disable-nis.patch"
-       epatch "${FILESDIR}/python-2.7-libressl-compatibility.patch"
-
-       epatch_user
-
-       sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
-               Lib/distutils/command/install.py \
-               Lib/distutils/sysconfig.py \
-               Lib/site.py \
-               Lib/sysconfig.py \
-               Lib/test/test_site.py \
-               Makefile.pre.in \
-               Modules/Setup.dist \
-               Modules/getpath.c \
-               setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
-
-       eautoreconf
-}
-
-src_configure() {
-               # dbm module can be linked against berkdb or gdbm.
-               # Defaults to gdbm when both are enabled, #204343.
-               local disable
-               use berkdb   || use gdbm || disable+=" dbm"
-               use berkdb   || disable+=" _bsddb"
-               # disable automagic bluetooth headers detection
-               use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
-               use gdbm     || disable+=" gdbm"
-               use ncurses  || disable+=" _curses _curses_panel"
-               use readline || disable+=" readline"
-               use sqlite   || disable+=" _sqlite3"
-               use ssl      || export PYTHON_DISABLE_SSL="1"
-               use tk       || disable+=" _tkinter"
-               use xml      || disable+=" _elementtree pyexpat" # _elementtree 
uses pyexpat.
-               export PYTHON_DISABLE_MODULES="${disable}"
-
-               if ! use xml; then
-                       ewarn "You have configured Python without XML support."
-                       ewarn "This is NOT a recommended configuration as you"
-                       ewarn "may face problems parsing any XML documents."
-               fi
-
-       if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
-               einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
-       fi
-
-       if [[ "$(gcc-major-version)" -ge 4 ]]; then
-               append-flags -fwrapv
-       fi
-
-       filter-flags -malign-double
-
-       # https://bugs.gentoo.org/show_bug.cgi?id=50309
-       if is-flagq -O3; then
-               is-flagq -fstack-protector-all && replace-flags -O3 -O2
-               use hardened && replace-flags -O3 -O2
-       fi
-
-       if tc-is-cross-compiler; then
-               # Force some tests that try to poke fs paths.
-               export ac_cv_file__dev_ptc=no
-               export ac_cv_file__dev_ptmx=yes
-       fi
-
-       # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile.
-       tc-export CXX
-       # The configure script fails to use pkg-config correctly.
-       # http://bugs.python.org/issue15506
-       export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
-
-       # Set LDFLAGS so we link modules with -lpython2.7 correctly.
-       # Needed on FreeBSD unless Python 2.7 is already installed.
-       # Please query BSD team before removing this!
-       append-ldflags "-L."
-
-       local dbmliborder
-       if use gdbm; then
-               dbmliborder+="${dbmliborder:+:}gdbm"
-       fi
-       if use berkdb; then
-               dbmliborder+="${dbmliborder:+:}bdb"
-       fi
-
-       BUILD_DIR="${WORKDIR}/${CHOST}"
-       mkdir -p "${BUILD_DIR}" || die
-       cd "${BUILD_DIR}" || die
-
-       ECONF_SOURCE="${S}" OPT="" \
-       econf \
-               --with-fpectl \
-               --enable-shared \
-               $(use_enable ipv6) \
-               $(use_with threads) \
-               $(use wide-unicode && echo "--enable-unicode=ucs4" || echo 
"--enable-unicode=ucs2") \
-               --infodir='${prefix}/share/info' \
-               --mandir='${prefix}/share/man' \
-               --with-computed-gotos \
-               --with-dbmliborder="${dbmliborder}" \
-               --with-libc="" \
-               --enable-loadable-sqlite-extensions \
-               --with-system-expat \
-               --with-system-ffi \
-               --without-ensurepip
-
-       if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" 
pyconfig.h; then
-               eerror "configure has detected that the sem_open function is 
broken."
-               eerror "Please ensure that /dev/shm is mounted as a tmpfs with 
mode 1777."
-               die "Broken sem_open function (bug 496328)"
-       fi
-}
-
-src_compile() {
-       # Avoid invoking pgen for cross-compiles.
-       touch Include/graminit.h Python/graminit.c
-
-       cd "${BUILD_DIR}" || die
-       emake
-
-       # Work around bug 329499. See also bug 413751 and 457194.
-       if has_version dev-libs/libffi[pax_kernel]; then
-               pax-mark E python
-       else
-               pax-mark m python
-       fi
-}
-
-src_test() {
-       # Tests will not work when cross compiling.
-       if tc-is-cross-compiler; then
-               elog "Disabling tests due to crosscompiling."
-               return
-       fi
-
-       cd "${BUILD_DIR}" || die
-
-       # Skip failing tests.
-       local skipped_tests="distutils gdb"
-
-       for test in ${skipped_tests}; do
-               mv "${S}"/Lib/test/test_${test}.py "${T}"
-       done
-
-       # Daylight saving time problem
-       # https://bugs.python.org/issue22067
-       # https://bugs.gentoo.org/610628
-       local -x TZ=UTC
-
-       # Rerun failed tests in verbose mode (regrtest -w).
-       emake test EXTRATESTOPTS="-w" < /dev/tty
-       local result="$?"
-
-       for test in ${skipped_tests}; do
-               mv "${T}/test_${test}.py" "${S}"/Lib/test
-       done
-
-       elog "The following tests have been skipped:"
-       for test in ${skipped_tests}; do
-               elog "test_${test}.py"
-       done
-
-       elog "If you would like to run them, you may:"
-       elog "cd '${EPREFIX}/usr/$(get_libdir)/python${SLOT}/test'"
-       elog "and run the tests separately."
-
-       if [[ "${result}" -ne 0 ]]; then
-               die "emake test failed"
-       fi
-}
-
-src_install() {
-       local libdir=${ED}/usr/$(get_libdir)/python${SLOT}
-
-       cd "${BUILD_DIR}" || die
-       emake DESTDIR="${D}" altinstall
-
-       sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die 
"sed failed"
-
-       # Fix collisions between different slots of Python.
-       mv "${ED}usr/bin/2to3" "${ED}usr/bin/2to3-${SLOT}"
-       mv "${ED}usr/bin/pydoc" "${ED}usr/bin/pydoc${SLOT}"
-       mv "${ED}usr/bin/idle" "${ED}usr/bin/idle${SLOT}"
-       rm -f "${ED}usr/bin/smtpd.py"
-
-       use berkdb || rm -r "${libdir}/"{bsddb,dbhash.py*,test/test_bsddb*} || 
die
-       use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
-       use tk || rm -r "${ED}usr/bin/idle${SLOT}" "${libdir}/"{idlelib,lib-tk} 
|| die
-       use elibc_uclibc && rm -fr "${libdir}/"{bsddb/test,test}
-
-       use threads || rm -r "${libdir}/multiprocessing" || die
-       use wininst || rm -r "${libdir}/distutils/command/"wininst-*.exe || die
-
-       dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS}
-
-       if use examples; then
-               insinto /usr/share/doc/${PF}/examples
-               doins -r "${S}"/Tools
-       fi
-       insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
-       local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' 
| \
-               emake --no-print-directory -s -f - 2>/dev/null)
-       newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
-
-       newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT}
-       newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT}
-       sed \
-               -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${SLOT/./_}_PORT:" \
-               -e "s:@PYDOC@:pydoc${SLOT}:" \
-               -i "${ED}etc/conf.d/pydoc-${SLOT}" 
"${ED}etc/init.d/pydoc-${SLOT}" || die "sed failed"
-
-       # for python-exec
-       local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR )
-
-       # if not using a cross-compiler, use the fresh binary
-       if ! tc-is-cross-compiler; then
-               local -x PYTHON=./python
-               local -x 
LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
-       else
-               vars=( PYTHON "${vars[@]}" )
-       fi
-
-       python_export "python${SLOT}" "${vars[@]}"
-       echo "EPYTHON='${EPYTHON}'" > epython.py || die
-       python_domodule epython.py
-
-       # python-exec wrapping support
-       local pymajor=${SLOT%.*}
-       mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die
-       # python and pythonX
-       ln -s "../../../bin/python${SLOT}" \
-               "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die
-       ln -s "python${pymajor}" \
-               "${D}${PYTHON_SCRIPTDIR}/python" || die
-       # python-config and pythonX-config
-       ln -s "../../../bin/python${SLOT}-config" \
-               "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die
-       ln -s "python${pymajor}-config" \
-               "${D}${PYTHON_SCRIPTDIR}/python-config" || die
-       # 2to3, pydoc, pyvenv
-       ln -s "../../../bin/2to3-${SLOT}" \
-               "${D}${PYTHON_SCRIPTDIR}/2to3" || die
-       ln -s "../../../bin/pydoc${SLOT}" \
-               "${D}${PYTHON_SCRIPTDIR}/pydoc" || die
-       # idle
-       if use tk; then
-               ln -s "../../../bin/idle${SLOT}" \
-                       "${D}${PYTHON_SCRIPTDIR}/idle" || die
-       fi
-}
-
-eselect_python_update() {
-       if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect 
python show)" ]]; then
-               eselect python update
-       fi
-
-       if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f 
"${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then
-               eselect python update --python${PV%%.*}
-       fi
-}
-
-pkg_postinst() {
-       eselect_python_update
-}
-
-pkg_postrm() {
-       eselect_python_update
-}

Reply via email to