commit:     3ba89e722d9775eadc3a8e0aba0282cacc9096b8
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri May 14 20:02:18 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri May 14 21:58:45 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ba89e72

dev-python/pypy: Bump to 7.3.5rc2

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pypy/Manifest              |   2 +
 dev-python/pypy/pypy-7.3.5_rc2.ebuild | 160 ++++++++++++++++++++++++++++++++++
 2 files changed, 162 insertions(+)

diff --git a/dev-python/pypy/Manifest b/dev-python/pypy/Manifest
index 433d96e1c4e..ce23a54a40e 100644
--- a/dev-python/pypy/Manifest
+++ b/dev-python/pypy/Manifest
@@ -1,5 +1,7 @@
 DIST pypy2.7-gentoo-patches-7.3.3_p2.tar.xz 11184 BLAKE2B 
b2b9b94478609372d616c65a87cbb12a07e217928beef9fac26c428f81c662ef390db3fd85bf368ffcc8c6fa3802e506412b7bebd14bdc453009008bc3459d25
 SHA512 
9ab8ed99b42b36e9c212683ef93f7f1fb99caecf056293ab9a5734f8b52eedec192860702baa121630558530cb5c4652f8542300ecaaaa282377ea6456618b95
 DIST pypy2.7-gentoo-patches-7.3.3_p3.tar.xz 12936 BLAKE2B 
7d00353f79d535044e4e2c9cb8ad06d637bca4707123a566989b0ab97ac2f22d9f631d1d5f4e32bf1e0d5202dbc31fffa8d39718963da2a4594f814b90aa8132
 SHA512 
818910bbe3c01399a0da361a48098a4e875ddd7d4fd50f23bc06501dae7ed5eb3ee773b0dd76d256d141ba190d55b5c725fa4d7ed8d7a9841e6be81babaf518b
 DIST pypy2.7-gentoo-patches-7.3.4.tar.xz 7844 BLAKE2B 
d06694fa085667e40ef8805c29f7ccf95b49f9de4e99e3ebfa3d69c4202a0ddcebb54c524d7d9f9ec67573a8d2ebe38fb7023d4d3ecef67afc907ecef5c16c02
 SHA512 
aa8ffefb5d30070ae86c1c14c55c277e39d3da66aea3a0951319158fb65e716e7fa7864e8bf5d26314d4b2a8030c766b63cad6a3663822d2875cd8cc1f3f2de5
+DIST pypy2.7-gentoo-patches-7.3.5rc2.tar.xz 5792 BLAKE2B 
2380dc09be7e8dccfcc151e5c3cc5cc0aeb6a5a284b3b3fa8d12bdc0c6352d0da4fc3cb52762c1b5a38b97b3736147cb10986e0e6fdb622ff277445ba7228252
 SHA512 
1e269a02fc70b67fe44a8d57303a1565acbdb4b7f8065ec489b6bdd9275281e4b516fd1e01223e9635e4759a71c73be941f02e6bc561ab728d6a67e22bda47e3
 DIST pypy2.7-v7.3.3-src.tar.bz2 20881821 BLAKE2B 
ce1ecdd1fffe40574c7662da6038b84d2bca47ab168939ef0c12be2c6348317f17a94a3026e7fa53c71601edc153aefd98f770bd148e7af07ca751c0a5fc1252
 SHA512 
c2b6c44fdcac5f9445fab01572f859228fc286891fd09a4ddb95d283683d805276c853ec8e61fcd04cb9ee811d0e959d19bb03fdd7442c044f28a773633122e7
 DIST pypy2.7-v7.3.4-src.tar.bz2 21571561 BLAKE2B 
d0ac56fadec63fe7e65728c36c2aaf96fc5f54919dddbca9571a24c42a9e3e21f672f84555a18a384c4715f0489bd7aef009c0a47b635de88c472a93e2ae8d71
 SHA512 
4c18c2dbfbf0cc1034bea773828204df77aec7ef82119fb94e5cb762ce1783e00ad70e99d1432b4948dc132e726bdc6015f4a5bf10a5b10415bcfe99da2ecd17
+DIST pypy2.7-v7.3.5rc2-src.tar.bz2 21561927 BLAKE2B 
1fd8aeba0698c95015716109d6a3aec74f95d1a4faea130ffe872b43d0ef8e1e8f8b742aeae6048ab596c5b78634e83c83c95ce3ed047d068dae7bddc02e1281
 SHA512 
d1d4b45c29c5e4c1735744b4aac46c87787bda7db496c8865e099e669f666f223ed9c014f3637065bb7762eda39a0116bab54078cf10ce8fbd8505d1ab952575

diff --git a/dev-python/pypy/pypy-7.3.5_rc2.ebuild 
b/dev-python/pypy/pypy-7.3.5_rc2.ebuild
new file mode 100644
index 00000000000..82edf15baf9
--- /dev/null
+++ b/dev-python/pypy/pypy-7.3.5_rc2.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit pax-utils python-utils-r1
+
+PYPY_PV=${PV%_p*}
+MY_P=pypy2.7-v${PYPY_PV/_}
+PATCHSET="pypy2.7-gentoo-patches-${PV/_}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python 
language"
+HOMEPAGE="https://www.pypy.org/";
+SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+       https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz";
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")'
+SLOT="0/73"
+KEYWORDS=""
+IUSE="bzip2 gdbm +jit ncurses sqlite tk"
+
+RDEPEND="
+       || (
+               >=dev-python/pypy-exe-${PV}:${PYPY_PV}[bzip2?,ncurses?]
+               >=dev-python/pypy-exe-bin-${PV}:${PYPY_PV}
+       )
+       dev-libs/openssl:0=
+       gdbm? ( sys-libs/gdbm:0= )
+       sqlite? ( dev-db/sqlite:3= )
+       tk? (
+               dev-lang/tk:0=
+               dev-tcltk/tix:0=
+       )
+       !<dev-python/pypy-bin-7.3.0:0"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+       local PATCHES=(
+               "${WORKDIR}/${PATCHSET}"
+       )
+       default
+
+       sed -e "s^@EPREFIX@^${EPREFIX}^" \
+               -i lib-python/2.7/distutils/command/install.py || die
+}
+
+src_compile() {
+       # copy over to make sys.prefix happy
+       cp -p "${BROOT}"/usr/lib/pypy2.7/pypy-c-${PYPY_PV} pypy-c || die
+       cp -p "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/* include/ || die
+       # (not installed by pypy)
+       rm pypy/module/cpyext/include/_numpypy/numpy/README || die
+       mv pypy/module/cpyext/include/* include/ || die
+       mv pypy/module/cpyext/parse/*.h include/ || die
+       pax-mark m pypy-c
+
+       einfo "Generating caches and CFFI modules ..."
+
+       # Generate Grammar and PatternGrammar pickles.
+       ./pypy-c -c "import lib2to3.pygram, lib2to3.patcomp; 
lib2to3.patcomp.PatternCompiler()" \
+               || die "Generation of Grammar and PatternGrammar pickles failed"
+
+       # Generate cffi modules
+       # Please keep in sync with pypy/tool/build_cffi_imports.py!
+#cffi_build_scripts = {
+#    "_ssl": "_ssl_build.py",
+#    "sqlite3": "_sqlite3_build.py",
+#    "audioop": "_audioop_build.py",
+#    "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,
+#    "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
+#    "resource": "_resource_build.py" if sys.platform != "win32" else None,
+       cffi_targets=( ssl audioop syslog pwdgrp resource )
+       use gdbm && cffi_targets+=( gdbm )
+       use ncurses && cffi_targets+=( curses )
+       use sqlite && cffi_targets+=( sqlite3 )
+       use tk && cffi_targets+=( tkinter/tklib )
+
+       local t
+       # all modules except tkinter output to .
+       # tkinter outputs to the correct dir ...
+       cd lib_pypy || die
+       for t in "${cffi_targets[@]}"; do
+               # tkinter doesn't work via -m
+               ../pypy-c "_${t}_build.py" || die "Failed to build CFFI 
bindings for ${t}"
+       done
+
+       # Cleanup temporary objects
+       find -name "_cffi_*.[co]" -delete || die
+       find -type d -empty -delete || die
+}
+
+src_test() {
+       # (unset)
+       local -x PYTHONDONTWRITEBYTECODE=
+       local -x COLUMNS=80
+
+       local ignored_tests=(
+               # network
+               --ignore=lib-python/2.7/test/test_urllibnet.py
+               --ignore=lib-python/2.7/test/test_urllib2net.py
+               # lots of free space
+               --ignore=lib-python/2.7/test/test_zipfile64.py
+       )
+
+       ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \
+               "${ignored_tests[@]}" lib-python || die
+}
+
+src_install() {
+       local dest=/usr/lib/pypy2.7
+       einfo "Installing PyPy ..."
+       dosym pypy-c-${PYPY_PV} "${dest}/pypy-c"
+       insinto "${dest}"
+       # preserve mtimes to avoid obsoleting caches
+       insopts -p
+       doins -r include lib_pypy lib-python
+
+       # replace copied headers with symlinks
+       for x in "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/*; do
+               dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
+       done
+
+       dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy
+       dodoc README.rst
+
+       if ! use gdbm; then
+               rm -r "${ED}${dest}"/lib_pypy/gdbm.py \
+                       "${ED}${dest}"/lib-python/*2.7/test/test_gdbm.py || die
+       fi
+       if ! use sqlite; then
+               rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \
+                       "${ED}${dest}"/lib_pypy/_sqlite3.py \
+                       "${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || 
die
+       fi
+       if ! use tk; then
+               rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \
+                       "${ED}${dest}"/lib_pypy/_tkinter \
+                       
"${ED}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+       fi
+
+       local -x EPYTHON=pypy
+       local -x PYTHON=${ED}${dest}/pypy-c-${PYPY_PV}
+       # temporarily copy to build tree to facilitate module builds
+       cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die
+
+       echo "EPYTHON='${EPYTHON}'" > epython.py || die
+       python_moduleinto /usr/lib/pypy2.7/site-packages
+       python_domodule epython.py
+
+       einfo "Byte-compiling Python standard library..."
+       python_optimize "${ED}${dest}"
+
+       # remove to avoid collisions
+       rm "${PYTHON}" || die
+}

Reply via email to