dev-python/pypy3: Sync the live ebuild

This commit is contained in:
Michał Górny
2017-03-08 11:30:51 +01:00
parent 80dfd9952e
commit b03b6ba8e7
2 changed files with 30 additions and 11 deletions

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -11,12 +11,16 @@ EHG_REVISION="py3k"
inherit check-reqs eutils mercurial multilib multiprocessing pax-utils \
python-any-r1 toolchain-funcs versionator
DESCRIPTION="A fast, compliant alternative implementation of Python 3"
CPY_PATCHSET_VERSION="3.3.5-0"
DESCRIPTION="A fast, compliant alternative implementation of the Python (3.3) language"
HOMEPAGE="http://pypy.org/"
SRC_URI=""
SRC_URI="
https://dev.gentoo.org/~floppym/python-gentoo-patches-${CPY_PATCHSET_VERSION}.tar.xz"
LICENSE="MIT"
SLOT="0/$(get_version_component_range 1-2 ${PV})"
# XX from pypy3-XX.so module suffix
SLOT="0/55"
KEYWORDS=""
IUSE="bzip2 gdbm +jit libressl low-memory ncurses sandbox +shadowstack sqlite cpu_flags_x86_sse2 tk"
@@ -24,8 +28,8 @@ RDEPEND=">=sys-libs/zlib-1.1.3:0=
virtual/libffi:0=
virtual/libintl:0=
dev-libs/expat:0=
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
!libressl? ( dev-libs/openssl:0=[-bindist] )
libressl? ( dev-libs/libressl:0= )
bzip2? ( app-arch/bzip2:0= )
gdbm? ( sys-libs/gdbm:0= )
ncurses? ( sys-libs/ncurses:0= )
@@ -38,8 +42,10 @@ RDEPEND=">=sys-libs/zlib-1.1.3:0=
DEPEND="${RDEPEND}
low-memory? ( virtual/pypy:0 )
!low-memory? ( ${PYTHON_DEPS} )"
# doc? ( dev-python/sphinx )
S="${WORKDIR}/${P}-src"
# Who would care about predictable directory names?
S="${WORKDIR}/pypy3-v${PV%_*}-src"
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]]; then
@@ -90,7 +96,8 @@ src_prepare() {
# apply CPython stdlib patches
pushd lib-python/3 > /dev/null || die
epatch "${FILESDIR}"/5.2.0-distutils-c++.patch
epatch "${FILESDIR}"/5.2.0-distutils-c++.patch \
"${WORKDIR}"/patches/24_all_sqlite-3.8.4.patch
popd > /dev/null || die
epatch_user
@@ -161,6 +168,15 @@ src_compile() {
pax-mark m pypy-c libpypy-c.so
}
src_test() {
# (unset)
local -x PYTHONDONTWRITEBYTECODE
# Test runner requires Python 2 too. However, it spawns PyPy3
# internally so that we end up testing the correct interpreter.
"${PYTHON}" ./pypy/test_all.py --pypy=./pypy-c lib-python || die
}
src_install() {
local dest=/usr/$(get_libdir)/pypy3
einfo "Installing PyPy ..."
@@ -213,9 +229,12 @@ src_install() {
# "tk": "_tkinter/tklib_build.py",
# "curses": "_curses_build.py" if sys.platform != "win32" else None,
# "syslog": "_syslog_build.py" if sys.platform != "win32" else None,
# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None,
# "_gdbm": "_gdbm_build.py" if sys.platform != "win32" else None,
# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
cffi_targets=( audioop syslog pwdgrp )
# "resource": "_resource_build.py" if sys.platform != "win32" else None,
# "lzma": "_lzma_build.py",
# "_decimal": "_decimal_build.py",
cffi_targets=( audioop syslog pwdgrp resource lzma decimal )
use gdbm && cffi_targets+=( gdbm )
use ncurses && cffi_targets+=( curses )
use sqlite && cffi_targets+=( sqlite3 )