Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/pypy3/
Date: Fri, 01 Apr 2022 15:39:45
Message-Id: 1648827557.581c3afa485565786674a93da48b953fc89c0233.mgorny@gentoo
1 commit: 581c3afa485565786674a93da48b953fc89c0233
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Fri Apr 1 15:35:44 2022 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Fri Apr 1 15:39:17 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=581c3afa
7
8 dev-python/pypy3: Remove old
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 dev-python/pypy3/Manifest | 2 -
13 dev-python/pypy3/pypy3-7.3.7-r1.ebuild | 182 ---------------------------------
14 2 files changed, 184 deletions(-)
15
16 diff --git a/dev-python/pypy3/Manifest b/dev-python/pypy3/Manifest
17 index 270cb1c9ee60..58d687feafa4 100644
18 --- a/dev-python/pypy3/Manifest
19 +++ b/dev-python/pypy3/Manifest
20 @@ -1,5 +1,3 @@
21 -DIST pypy3.8-gentoo-patches-7.3.7.tar.xz 4396 BLAKE2B adc33a02ada4d22eae0484292ec6cc295805d9f254b7a9110c622628aa40011621a1833ca62d3251e4e5056c406f648e7ad0439bd60e77c38808dd9df46973a5 SHA512 1cda8467de2d749d98fa20d7d200b5f96dae0ca68cf44a054d03f3f148bc3946ba1f1c474ac0336560f79c78b3eddcd4ba24386e83de283c83475b8e4b75bdf8
22 -DIST pypy3.8-v7.3.7-src.tar.bz2 24375444 BLAKE2B 44fe19ee63d95243c499ecb0b84e77873c73da93320b1e028a5c6c4b167441d223812dc66b16e070308cba48c4d8774738f827319cce9d1769b3f4346e15487c SHA512 9e6701cc441d5535968656cfb0cfa9076c364f9ba32bc6f0ef64f06ab343281e2458dbe88791c0e02401457fbf80d367f397fc904f6146bff68e04a15e05fda2
23 DIST pypy3.9-gentoo-patches-7.3.8.tar.xz 1568 BLAKE2B 0011188de7b5757964bd13c49d5995a656a721acd54e1d77f7e77fac7420a2a56ca75eb42709e2304a771fa69c982fc6901e9fc9580ab8e8b35e7bb8b0cc83a6 SHA512 1064e987b7233fc55f94bd49aeeab9a9fd9322e90798439ad9a4c35020ca923fe0670e47406ab180a6f8e7afd65d03be23427d4fa43befa3c0ce172028e1a09f
24 DIST pypy3.9-gentoo-patches-7.3.9.tar.xz 1564 BLAKE2B fe0875ef002842a78fb31589f6d0b255c3dea10f2bd014231ae9b17641f65f810ac84fe7961de1a4614249b0166f2127c3aa37947f7d1d4c85860a31b89110f1 SHA512 a1dc3ee36e908e29b2bbbb100a97b7910bd4325c5dc55c0455cdca450d6b272d1463708b383e0607e9499b1932da4442f97d2da57e47ed3a4ff8fd3c78a54732
25 DIST pypy3.9-v7.3.8-src.tar.bz2 26277823 BLAKE2B 343fa4a57b69936a586acb036506e25c8de3a9761eb6622ef7266c136a1dc977cabc23969917bc2369fd73b1ae6fef731d81536179107f2d731352e6f5387bf9 SHA512 aed018738af7a225f516ec37d059d539f486d9dd427fe000805147b197f496d5fcb0387e47008524753ad18224aebeb1e68f9e2093acbe37468e02bff92f7126
26
27 diff --git a/dev-python/pypy3/pypy3-7.3.7-r1.ebuild b/dev-python/pypy3/pypy3-7.3.7-r1.ebuild
28 deleted file mode 100644
29 index ccc3af660ca2..000000000000
30 --- a/dev-python/pypy3/pypy3-7.3.7-r1.ebuild
31 +++ /dev/null
32 @@ -1,182 +0,0 @@
33 -# Copyright 1999-2022 Gentoo Authors
34 -# Distributed under the terms of the GNU General Public License v2
35 -
36 -EAPI=7
37 -
38 -PYTHON_COMPAT=( python2_7 )
39 -inherit pax-utils python-any-r1 toolchain-funcs
40 -
41 -PYPY_PV=${PV%_p*}
42 -MY_P=pypy3.8-v${PYPY_PV/_rc/rc}
43 -PATCHSET="pypy3.8-gentoo-patches-${PV/_rc/rc}"
44 -
45 -DESCRIPTION="A fast, compliant alternative implementation of the Python (3.8) language"
46 -HOMEPAGE="https://www.pypy.org/"
47 -SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
48 - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
49 -S="${WORKDIR}/${MY_P}-src"
50 -
51 -LICENSE="MIT"
52 -# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
53 -# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
54 -SLOT="0/pypy38-pp73"
55 -KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
56 -IUSE="bzip2 gdbm +jit ncurses sqlite test tk"
57 -# pypy3.8 is in alpha state and many tests are failing
58 -RESTRICT="test"
59 -
60 -RDEPEND="
61 - || (
62 - >=dev-python/pypy3-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?]
63 - >=dev-python/pypy3-exe-bin-${PYPY_PV}:${PYPY_PV}
64 - )
65 - dev-lang/python-exec[python_targets_pypy3(-)]
66 - dev-libs/openssl:0=
67 - gdbm? ( sys-libs/gdbm:0= )
68 - sqlite? ( dev-db/sqlite:3= )
69 - tk? (
70 - dev-lang/tk:0=
71 - dev-tcltk/tix:0=
72 - )
73 - !<dev-python/pypy3-bin-7.3.0:0"
74 -DEPEND="${RDEPEND}
75 - test? (
76 - ${PYTHON_DEPS}
77 - !!dev-python/pytest-forked
78 - )"
79 -
80 -pkg_setup() {
81 - use test && python-any-r1_pkg_setup
82 -}
83 -
84 -src_prepare() {
85 - local PATCHES=(
86 - "${WORKDIR}/${PATCHSET}"
87 - )
88 - default
89 -
90 - eapply_user
91 -}
92 -
93 -src_configure() {
94 - tc-export CC
95 -}
96 -
97 -src_compile() {
98 - mkdir bin || die
99 - # switch to the layout expected for cffi module builds
100 - mkdir include/pypy3.8 || die
101 - cp include/*.h include/pypy3.8/ || die
102 - # copy over to make sys.prefix happy
103 - cp -p "${BROOT}"/usr/bin/pypy3-c-${PYPY_PV} pypy3-c || die
104 - cp -p "${BROOT}"/usr/include/pypy3.8/${PYPY_PV}/* include/pypy3.8/ || die
105 - # (not installed by pypy-exe)
106 - rm pypy/module/cpyext/include/_numpypy/numpy/README || die
107 - mv pypy/module/cpyext/include/* include/pypy3.8/ || die
108 - mv pypy/module/cpyext/parse/*.h include/pypy3.8/ || die
109 - pax-mark m pypy3-c
110 -
111 - # verify the subslot
112 - local soabi=$(./pypy3-c -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))')
113 - [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
114 -
115 - einfo "Generating caches and CFFI modules ..."
116 -
117 - # Generate Grammar and PatternGrammar pickles.
118 - ./pypy3-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
119 - || die "Generation of Grammar and PatternGrammar pickles failed"
120 -
121 - # Generate cffi modules
122 - # Please keep in sync with pypy/tool/build_cffi_imports.py!
123 - # (NB: we build CFFI modules first to avoid error log when importing
124 - # build_cffi_imports).
125 - cffi_targets=( pypy_util blake2/_blake2 sha3/_sha3 ssl
126 - audioop syslog pwdgrp resource lzma posixshmem )
127 - use gdbm && cffi_targets+=( gdbm )
128 - use ncurses && cffi_targets+=( curses )
129 - use sqlite && cffi_targets+=( sqlite3 )
130 - use tk && cffi_targets+=( tkinter/tklib )
131 -
132 - local t
133 - # all modules except tkinter output to .
134 - # tkinter outputs to the correct dir ...
135 - cd lib_pypy || die
136 - for t in "${cffi_targets[@]}"; do
137 - # tkinter doesn't work via -m
138 - ../pypy3-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
139 - done
140 -
141 - # Verify that CFFI module list is up-to-date
142 - local expected_cksum=63d4659f
143 - local local_cksum=$(../pypy3-c -c '
144 -from pypy_tools.build_cffi_imports import cffi_build_scripts as x;
145 -import binascii, json;
146 -print("%08x" % (binascii.crc32(json.dumps(x).encode()),))')
147 - if [[ ${local_cksum} != ${expected_cksum} ]]; then
148 - die "Please verify cffi_targets and update checksum to ${local_cksum}"
149 - fi
150 -
151 - # Cleanup temporary objects
152 - find -name "*_cffi.[co]" -delete || die
153 - find -type d -empty -delete || die
154 -}
155 -
156 -src_test() {
157 - # (unset)
158 - local -x PYTHONDONTWRITEBYTECODE=
159 - local -x COLUMNS=80
160 -
161 - # Test runner requires Python 2 too. However, it spawns PyPy3
162 - # internally so that we end up testing the correct interpreter.
163 - # (--deselect for failing doctests)
164 - "${EPYTHON}" ./pypy/test_all.py --pypy=./pypy3-c -vv lib-python || die
165 -}
166 -
167 -src_install() {
168 - einfo "Installing PyPy ..."
169 - dodir /usr/bin
170 - dosym pypy3-c-${PYPY_PV} /usr/bin/pypy3
171 - insinto /usr/lib/pypy3.8
172 - # preserve mtimes to avoid obsoleting caches
173 - insopts -p
174 - doins -r lib-python/3/. lib_pypy/.
175 - insinto /usr/include
176 - doins -r include/pypy3.8
177 -
178 - # replace copied headers with symlinks
179 - for x in "${BROOT}"/usr/include/pypy3.8/${PYPY_PV}/*; do
180 - dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy3.8/${x##*/}"
181 - done
182 -
183 - dodoc README.rst
184 -
185 - local dest=/usr/lib/pypy3.8
186 - if ! use gdbm; then
187 - rm -r "${ED}${dest}"/_gdbm* || die
188 - fi
189 - if ! use sqlite; then
190 - rm -r "${ED}${dest}"/sqlite3 \
191 - "${ED}${dest}"/_sqlite3* \
192 - "${ED}${dest}"/test/test_sqlite.py || die
193 - fi
194 - if ! use tk; then
195 - rm -r "${ED}${dest}"/{idlelib,tkinter} \
196 - "${ED}${dest}"/_tkinter \
197 - "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
198 - fi
199 -
200 - local -x EPYTHON=pypy3
201 - local -x PYTHON=${ED}/usr/bin/pypy3-c-${PYPY_PV}
202 - # temporarily copy to build tree to facilitate module builds
203 - cp -p "${BROOT}/usr/bin/pypy3-c-${PYPY_PV}" "${PYTHON}" || die
204 -
205 - echo "EPYTHON='${EPYTHON}'" > epython.py || die
206 - python_moduleinto "${dest}"/site-packages
207 - python_domodule epython.py
208 -
209 - einfo "Byte-compiling Python standard library..."
210 - python_optimize "${ED}${dest}"
211 -
212 - # remove to avoid collisions
213 - rm "${PYTHON}" || die
214 -}