dev-python/pypy-exe: Bump to 7.3.2_rc1

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2020-09-09 07:35:16 +02:00
parent 556638f119
commit 5d36366b9b
2 changed files with 163 additions and 0 deletions

View File

@@ -1,2 +1,3 @@
DIST pypy2.7-v7.3.0-src.tar.bz2 20328540 BLAKE2B 7f71c98f436f11e8f4d248b6aeb3e2f81962cdeeaf3eb534473f1c6b5e8cd37d9abc047d7fa750a1ceeeaa63fab6eff6e5f1e60394b8104bbcd7e1fc47885c61 SHA512 05f039f090d837a72012db55f23d94da3f21c7458f18bd1e8ba632489248eb6486ced07b786d05e573abf2b3def2a68d96e7e1109e6d189d8e6c303c60ee3535
DIST pypy2.7-v7.3.1-src.tar.bz2 21053306 BLAKE2B 071d59b7978c98e9ed9243d9a64d93d21b524351cb9a45e0f7d48828f919c84585a1164e7c38739fdd8828ab4b1eedade96dff7d64d0d9cbfe00c74d88d532bb SHA512 1bec44fa0fc4b1186e25f69303f9e332df32184be990d86fba41c40152664a93bd65eabf4dded133371271402cea9b150b60c13bce89d1004b276f0908c0b8f1
DIST pypy2.7-v7.3.2rc1-src.tar.bz2 21136151 BLAKE2B 50a2fb407624f3831095af9a1859399a39be039e54673a2f015049071cbf128302567f6fd7423bbdf757f46b9f32a09c0ba09985ce046731893f4d1563416050 SHA512 09b0aa48e5d09d87b592d6a5cfa3c7d3e2c93898b8250c31cfae99c44c79c41f05ac1d4b400d82d610e4e56dedacdd97c51b89308ea3a38f6ded8eda0779a08b

View File

@@ -0,0 +1,162 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 )
inherit check-reqs pax-utils python-any-r1 toolchain-funcs
MY_P=pypy2.7-v${PV/_/}
DESCRIPTION="PyPy executable (build from source)"
HOMEPAGE="https://pypy.org/"
SRC_URI="https://downloads.python.org/pypy/${MY_P}-src.tar.bz2"
S="${WORKDIR}/${MY_P}-src"
LICENSE="MIT"
SLOT="${PV}"
KEYWORDS="~amd64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
RDEPEND=">=sys-libs/zlib-1.1.3:0=
dev-libs/libffi:0=
virtual/libintl:0=
dev-libs/expat:0=
bzip2? ( app-arch/bzip2:0= )
ncurses? ( sys-libs/ncurses:0= )
!dev-python/pypy-exe-bin:${PV}"
# don't enforce the dep on pypy with USE=low-memory since it's going
# to cause either collisions or circular dep on itself
DEPEND="${RDEPEND}"
BDEPEND="
!low-memory? (
|| (
dev-python/pypy
(
dev-lang/python:2.7
dev-python/pycparser[python_targets_python2_7(-),python_single_target_python2_7(+)]
)
)
)"
check_env() {
if use low-memory; then
if ! has_version -b dev-python/pypy &&
! has_version -b dev-python/pypy-bin
then
eerror "USE=low-memory requires a (possibly old) version of dev-python/pypy"
eerror "being installed. Please install it using e.g.:"
eerror
eerror " $ emerge -1v dev-python/pypy dev-python/pypy-exe-bin"
eerror
eerror "before attempting to build dev-python/pypy-exe[low-memory]."
die "dev-python/pypy needs to be installed for USE=low-memory"
fi
CHECKREQS_MEMORY="1750M"
use amd64 && CHECKREQS_MEMORY="3500M"
else
CHECKREQS_MEMORY="3G"
use amd64 && CHECKREQS_MEMORY="6G"
fi
check-reqs_pkg_pretend
}
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && check_env
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]]; then
check_env
use low-memory && EPYTHON=
if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] &&
{ has_version -b dev-python/pypy ||
has_version -b dev-python/pypy-bin; }
then
einfo "Using already-installed PyPy to perform the translation."
EPYTHON=pypy
else
einfo "Using ${EPYTHON} to perform the translation. Please note that upstream"
einfo "recommends using PyPy for that. If you wish to do so, please unset"
einfo "the EPYTHON variable."
python-any-r1_pkg_setup
fi
fi
}
src_configure() {
tc-export CC
local jit_backend
if use jit; then
jit_backend='--jit-backend='
# We only need the explicit sse2 switch for x86.
# On other arches we can rely on autodetection which uses
# compiler macros. Plus, --jit-backend= doesn't accept all
# the modern values...
if use x86; then
if use cpu_flags_x86_sse2; then
jit_backend+=x86
else
jit_backend+=x86-without-sse2
fi
else
jit_backend+=auto
fi
fi
local args=(
--no-shared
$(usex jit -Ojit -O2)
${jit_backend}
pypy/goal/targetpypystandalone
)
# Avoid linking against libraries disabled by use flags
local opts=(
bzip2:bz2
ncurses:_minimal_curses
)
local opt
for opt in "${opts[@]}"; do
local flag=${opt%:*}
local mod=${opt#*:}
args+=(
$(usex ${flag} --withmod --withoutmod)-${mod}
)
done
local interp=( "${EPYTHON}" )
if use low-memory; then
interp=( env PYPY_GC_MAX_DELTA=200MB
"${EPYTHON}" --jit loop_longevity=300 )
fi
# translate into the C sources
# we're going to make them ourselves since otherwise pypy does not
# free up the unneeded memory before spawning the compiler
set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
echo -e "\033[1m${@}\033[0m"
"${@}" || die "translation failed"
}
src_compile() {
emake -C "${T}"/usession*-0/testing_1
}
src_install() {
local dest=/usr/lib/pypy2.7
exeinto "${dest}"
newexe "${T}"/usession*-0/testing_1/pypy-c pypy-c-${PV}
insinto "${dest}"/include/${PV}
doins include/pypy_*
pax-mark m "${ED}${dest}/pypy-c-${PV}"
}