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-lang/python/
Date: Mon, 09 May 2022 20:34:42
Message-Id: 1652128366.5620dd6cbc846c9089bf8c426f2326b30467cd47.mgorny@gentoo
1 commit: 5620dd6cbc846c9089bf8c426f2326b30467cd47
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Mon May 9 20:32:46 2022 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Mon May 9 20:32:46 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5620dd6c
7
8 dev-lang/python: Remove old
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 dev-lang/python/Manifest | 4 -
13 dev-lang/python/python-2.7.18_p14.ebuild | 346 ------------------------
14 dev-lang/python/python-3.11.0_alpha7.ebuild | 405 ----------------------------
15 3 files changed, 755 deletions(-)
16
17 diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
18 index 91207518b603..7ec3962075aa 100644
19 --- a/dev-lang/python/Manifest
20 +++ b/dev-lang/python/Manifest
21 @@ -2,8 +2,6 @@ DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381
22 DIST Python-2.7.18.tar.xz.asc 833 BLAKE2B 1d98770e46171971fb99994508d238c01d2755281d2f94353314014d9e83e0ec5f0b3e3950ea1fdf5fce9ba6b8f55312355845c2a3fc4291c27ee56fe6215448 SHA512 c2a5f5a52f47dec52460ad3275758d4e5de6e7075c3def4353c988d74d563a39b42cae2d5eb24e2a23a6247cef69100f91620b11a49c2359fbf99b203c9cbda8
23 DIST Python-3.10.4.tar.xz 19342692 BLAKE2B c430ad9bed71729fda29433af0614b6c0110a85e23f4cb5cff3a9b501febe99b20094367a5428f256fb3aeef97f34d439ef677fc8ae4d596d52da7976b65ebb5 SHA512 6c9aeecddc55c7896b2e8527fca131c7b2b6127d56ce1a001ccedfebf590334e0c0bb7c517ed3cf1da3c1910e002552b56aa7e03eeb672f42ff0bd8150799113
24 DIST Python-3.10.4.tar.xz.asc 833 BLAKE2B 289f2e96bfc2b60c4ae94b1591779d604f203890c4f5db2ee16e305bf03c6ddb9c8d6da4471a06b5943e12888f37ca572ea30876e9a80382a26814f66b41b7bf SHA512 699e37bf09067083af159e3734b38c952bdc75432c8abfb7a7b8cce7ca975038da37490abeb5c13befd2dacb84a5341ad30de5d0a63d35af5c512215744f4d6d
25 -DIST Python-3.11.0a7.tar.xz 19362368 BLAKE2B e11ba447731b5e7a15f9c11e44ebf2555e67cdebd9c52b0d232fdcbf1c061a4ed9e528bf493d68a868b438c65b54b30f426da41009408df286bc1583ab0124cd SHA512 f193ff9dedece16a428db129f4aac9ee2ad5f73a7f7eda2063ed58bfe230a4bfef067fe6c03e2b26d01be1d3205cee8778489ea6543b74a9d2a1f415739a63ba
26 -DIST Python-3.11.0a7.tar.xz.asc 833 BLAKE2B 33788f8855fd65fd27473a503c2e711fde6bbd52d0c812cdccd495daed2b3d3b1f93590d1b9aa87840326caf264a796875b626c06bd58060f070fe7c802dd10f SHA512 eae66913e3a5efe70a0c3639537e5b19cd66175a61f6e8b46b194411e27df2ea3f6a8154ed05c5905f511815f011e80c5b06b3a836ea8749cb9825f85223ecc2
27 DIST Python-3.11.0b1.tar.xz 19416160 BLAKE2B b0eeb2d9ee9d54def7bf555d9d0dc9f343e98b48b77ce4d9a9ec5b7c45a4bfb11e70159cca8a4e384f8d21678f210dcaca5016f68ac59859a1bf336148498dc0 SHA512 f59f2905315593b2f486827ed7a1ffcce9e0faaac671c16026373c3e40d1e1c7b3e1f3384c2fbcbff8acc72c2466cd11c20fd04fbb6e839510d85966b38ebbf1
28 DIST Python-3.11.0b1.tar.xz.asc 833 BLAKE2B d2e9fe9271d916133e3e9e13cef72af193cd3fd870143702f200ab77f14e85d1fdae2a59d12a62a361cc38f2a70d03aa0225f57f4c56c6ecdec9e687f9db245b SHA512 e47f2ad1ebc98681f82de74250b5d890e13d1c3c3573da24a4e646f9cdd41e035b9405646e0aee331df120d977f544a215df370b7a4b203082cf489776eca5ff
29 DIST Python-3.7.13.tar.xz 18027980 BLAKE2B e5ea14e3b080e7a126a4faeaad9287a7b5cb6be138a0423b4dbfd1c3b07e452ed99aeb818380ab02e9967673b0855a4a81cec1fa5b9b919f8a4e45da70e9df3a SHA512 e95366b68c1bc1dc1cfb2d956f1f49c5d0f620b4780d03002b3c321d2788108eb4e51d224cfa6bcecf7d780e9024ab0ef88b422d6d25e983dbc56b2a89b7dce9
30 @@ -14,10 +12,8 @@ DIST Python-3.9.11.tar.xz 19724780 BLAKE2B 25b017e36b22235790633eb1a88f520922252
31 DIST Python-3.9.11.tar.xz.asc 833 BLAKE2B c60c291f3dad39c842d16717239006f3ee703eaa586d95ea02ba4486d20a1e82065bbaf7af6f7cf6a04799229359791a72834096b6ce5f5d2b583ba5962d441b SHA512 a84bbfa68ec1c0e45bbd64af4481be7d68885021287731c69346a3cb25c9bf607be84dd72af2d3a6fbeabbde64975f37c4bb4f61274e72b92b4277fa48543e52
32 DIST Python-3.9.12.tar.xz 19740524 BLAKE2B 05f2469aa53ca36221ef4976b17bfde3e5b86afd5a8114e5a7fd899f975a8e55022555ef718d5352ab68de1b7b23865a0bf713768c9c2b30d591438c9a396d25 SHA512 081981901e14149748fd35228db0b3b1d96fef227ae7404f07b8bad0fda4b02649bf31c348c94aefdaf3327565d78f9489437c2c02f647b15d41376a27a23e97
33 DIST Python-3.9.12.tar.xz.asc 833 BLAKE2B 33436d0404a643215a8fd2b967ffd216201da24f374941bf65b888159ccfabcbe79b751eca2dd489b06605604338c8bbaab74aa10abbe4bcffaa54236301228e SHA512 dddaa27f8a29034f458edb6739398a5455c87fe37b6349e161865a9deedca118ffe9cb82663cc75bbe60b3b556399c0c6855f5262aac1fe90d36a3694fca65b2
34 -DIST python-gentoo-patches-2.7.18_p14.tar.xz 34292 BLAKE2B 654cefb34e3ff61b2a212b83ec1344ebace160aa3971a4a61212b637b83083864e1bdad2b78b166ba0b2302d145f3051b71b3e6b581b064f7f09353acdb4e4b1 SHA512 d6551a045ade16ef523a29451cc07499c29aca92548e46c21bcd6b3a3549f5a0f1f7e420ac326e7ac2e0158fb5490429a9d28994cbfd6c8b5b652788612bac26
35 DIST python-gentoo-patches-2.7.18_p15.tar.xz 34956 BLAKE2B d173f276dd9c0ce31004dcc55a0d18e9ce25a47683c2df3c4dd62e967dfbbb35be59a2f08cf20f30a19475a8a2344dd95b17400eafa88b5fdbe9270a12ccbf32 SHA512 d9386808265f978808e5c0ffd384cefe54fb0e05aeccfd394167d5227d9cd66e25c8e93c54914762b2cfc3c2dd851b26a7a84d62634c6aa8a0798aacbb7ac25f
36 DIST python-gentoo-patches-3.10.4.tar.xz 8592 BLAKE2B 67fba3e1fedb17430e5cd93da995b4acaf714db512031b5a2f775a25f793f007941561663cfa413d645ccddc2e22d65d250a40fa166cafda8805488d877ff57d SHA512 3ed2b8ff8f1eb8febe7dcd4b5d13d6d54468be1d525f8f1118977d3bbc78f690a597b09383939d023b03380a306e4bff1693382e29ff562312d803305b1709b2
37 -DIST python-gentoo-patches-3.11.0a7.tar.xz 3332 BLAKE2B 3c658cd486d96fe103146cfa77deaaf828919ad1d8cb4b73bc48e7c9f856c58634aa99fffe16fcd4bc071f70651313ee0e46f60cef8b129c2f096c0db7873303 SHA512 1787f75997e34544f4756a647a69ba3d188574430a1a317bef25cf8e7aaab8a78f0d6c94fd9c603f45262bf55eb6c9d9557e167e53aef7ac6f9ed88a93d39434
38 DIST python-gentoo-patches-3.11.0b1.tar.xz 3324 BLAKE2B aa54baab51376b63d7ec4783f9dd9d18581a07c935aaf3619d009d32e754b3a54cbcc2b4f9b0dd556bb91f74198a27ebee4e31baaac04907ba0f1fa87ad04121 SHA512 d609d95fe2e89550f70bb0cb3e4b468e571d00fa3e8a60020193a048c089685b7452146d8bb51e5e39203f08b0b53c661c156ba7711bdd7b107ceebd4ceec440
39 DIST python-gentoo-patches-3.7.13.tar.xz 18344 BLAKE2B 038db3d4e08f7af41811af0073b9c970171a26ffdf8ca116646f285101cc2299372f264e89183f136b3a56c4f756f39518ef6083c3c13baf409034706212fd22 SHA512 7f0d95e0a558aa4171589b887121e09c74679fc99089274e38c35188cd77e7fd6c53231d052455d752fab0c7dcef86a0efc4b8875a9e2a6c295907c271c6e822
40 DIST python-gentoo-patches-3.8.13.tar.xz 16004 BLAKE2B 5c0c6c9263570a467391e60c324d1dbc1e50ffda9cad1e204df124441b593146f18e5f1529eb7d385b35c5f4b9e597807971b6b66f7f8eef156ad87c9ad32743 SHA512 4ceb831e2d62bd73909b53a3b553b2cd73d08bcf2a1c92b47eaeb1221d40daabcaed14977265bcb265df00b6bf363dbebbd61a62dca4bf6ef40c6b911e980597
41
42 diff --git a/dev-lang/python/python-2.7.18_p14.ebuild b/dev-lang/python/python-2.7.18_p14.ebuild
43 deleted file mode 100644
44 index da93a624d8f9..000000000000
45 --- a/dev-lang/python/python-2.7.18_p14.ebuild
46 +++ /dev/null
47 @@ -1,346 +0,0 @@
48 -# Copyright 1999-2022 Gentoo Authors
49 -# Distributed under the terms of the GNU General Public License v2
50 -
51 -EAPI="7"
52 -WANT_LIBTOOL="none"
53 -
54 -inherit autotools flag-o-matic pax-utils \
55 - python-utils-r1 toolchain-funcs verify-sig
56 -
57 -MY_P="Python-${PV%_p*}"
58 -PYVER=$(ver_cut 1-2)
59 -PATCHSET="python-gentoo-patches-${PV}"
60 -
61 -DESCRIPTION="An interpreted, interactive, object-oriented programming language"
62 -HOMEPAGE="https://www.python.org/"
63 -SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
64 - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
65 - verify-sig? (
66 - https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
67 - )"
68 -S="${WORKDIR}/${MY_P}"
69 -
70 -LICENSE="PSF-2"
71 -SLOT="${PYVER}"
72 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
73 -IUSE="berkdb bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl tk wininst +xml"
74 -
75 -# Do not add a dependency on dev-lang/python to this ebuild.
76 -# If you need to apply a patch which requires python for bootstrapping, please
77 -# run the bootstrap code on your dev box and include the results in the
78 -# patchset. See bug 447752.
79 -
80 -RDEPEND="app-arch/bzip2:=
81 - dev-libs/libffi:=
82 - >=sys-libs/zlib-1.1.3:=
83 - virtual/libcrypt:=
84 - virtual/libintl
85 - berkdb? ( || (
86 - sys-libs/db:5.3
87 - sys-libs/db:4.8
88 - ) )
89 - gdbm? ( sys-libs/gdbm:=[berkdb] )
90 - ncurses? ( >=sys-libs/ncurses-5.2:= )
91 - readline? ( >=sys-libs/readline-4.1:= )
92 - sqlite? ( >=dev-db/sqlite-3.3.8:3= )
93 - ssl? ( dev-libs/openssl:= )
94 - tk? (
95 - >=dev-lang/tcl-8.0:=
96 - >=dev-lang/tk-8.0:=
97 - dev-tcltk/blt:=
98 - dev-tcltk/tix
99 - )
100 - xml? ( >=dev-libs/expat-2.1:= )"
101 -# bluetooth requires headers from bluez
102 -DEPEND="${RDEPEND}
103 - bluetooth? ( net-wireless/bluez )"
104 -BDEPEND="
105 - virtual/awk
106 - virtual/pkgconfig
107 - verify-sig? ( sec-keys/openpgp-keys-python )
108 - !sys-devel/gcc[libffi(-)]"
109 -RDEPEND+="
110 - !build? ( app-misc/mime-types )
111 - !<=dev-lang/python-exec-2.4.6-r1"
112 -
113 -VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
114 -
115 -pkg_setup() {
116 - if use berkdb; then
117 - ewarn "'bsddb' module is out-of-date and no longer maintained inside"
118 - ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been additionally"
119 - ewarn "removed in Python 3. A maintained alternative of 'bsddb3' module"
120 - ewarn "is provided by dev-python/bsddb3."
121 - else
122 - if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then
123 - ewarn "You are migrating from =${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"
124 - ewarn "to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]."
125 - ewarn "You might need to migrate your databases."
126 - fi
127 - fi
128 -}
129 -
130 -src_unpack() {
131 - if use verify-sig; then
132 - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
133 - fi
134 - default
135 -}
136 -
137 -src_prepare() {
138 - # Ensure that internal copies of expat, libffi and zlib are not used.
139 - rm -fr Modules/expat || die
140 - rm -fr Modules/_ctypes/libffi* || die
141 - rm -fr Modules/zlib || die
142 -
143 - local PATCHES=(
144 - "${WORKDIR}/${PATCHSET}"
145 - )
146 -
147 - default
148 -
149 - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
150 - Lib/distutils/command/install.py \
151 - Lib/distutils/sysconfig.py \
152 - Lib/site.py \
153 - Lib/sysconfig.py \
154 - Lib/test/test_site.py \
155 - Makefile.pre.in \
156 - Modules/Setup.dist \
157 - Modules/getpath.c \
158 - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
159 -
160 - eautoreconf
161 -}
162 -
163 -src_configure() {
164 - # dbm module can be linked against berkdb or gdbm.
165 - # Defaults to gdbm when both are enabled, #204343.
166 - local disable
167 - use berkdb || use gdbm || disable+=" dbm"
168 - use berkdb || disable+=" _bsddb"
169 - # disable automagic bluetooth headers detection
170 - use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
171 - use gdbm || disable+=" gdbm"
172 - use ncurses || disable+=" _curses _curses_panel"
173 - use readline || disable+=" readline"
174 - use sqlite || disable+=" _sqlite3"
175 - use ssl || export PYTHON_DISABLE_SSL="1"
176 - use tk || disable+=" _tkinter"
177 - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
178 - export PYTHON_DISABLE_MODULES="${disable}"
179 -
180 - if ! use xml; then
181 - ewarn "You have configured Python without XML support."
182 - ewarn "This is NOT a recommended configuration as you"
183 - ewarn "may face problems parsing any XML documents."
184 - fi
185 -
186 - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
187 - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
188 - fi
189 -
190 - if [[ "$(gcc-major-version)" -ge 4 ]]; then
191 - append-flags -fwrapv
192 - fi
193 -
194 - filter-flags -malign-double
195 -
196 - # https://bugs.gentoo.org/show_bug.cgi?id=50309
197 - if is-flagq -O3; then
198 - is-flagq -fstack-protector-all && replace-flags -O3 -O2
199 - use hardened && replace-flags -O3 -O2
200 - fi
201 -
202 - if tc-is-cross-compiler; then
203 - # Force some tests that try to poke fs paths.
204 - export ac_cv_file__dev_ptc=no
205 - export ac_cv_file__dev_ptmx=yes
206 - fi
207 -
208 - # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile.
209 - tc-export CXX
210 - # The configure script fails to use pkg-config correctly.
211 - # http://bugs.python.org/issue15506
212 - export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
213 -
214 - local dbmliborder
215 - if use gdbm; then
216 - dbmliborder+="${dbmliborder:+:}gdbm"
217 - fi
218 - if use berkdb; then
219 - dbmliborder+="${dbmliborder:+:}bdb"
220 - fi
221 -
222 - local myeconfargs=(
223 - # The check is broken on clang, and gives false positive:
224 - # https://bugs.gentoo.org/596798
225 - # (upstream dropped this flag in 3.2a4 anyway)
226 - ac_cv_opt_olimit_ok=no
227 - # glibc-2.30 removes it; since we can't cleanly force-rebuild
228 - # Python on glibc upgrade, remove it proactively to give
229 - # a chance for users rebuilding python before glibc
230 - ac_cv_header_stropts_h=no
231 -
232 - --with-fpectl
233 - --enable-shared
234 - --enable-ipv6
235 - --with-threads
236 - --enable-unicode=ucs4
237 - --infodir='${prefix}/share/info'
238 - --mandir='${prefix}/share/man'
239 - --with-computed-gotos
240 - --with-dbmliborder="${dbmliborder}"
241 - --with-libc=
242 - --enable-loadable-sqlite-extensions
243 - --with-system-expat
244 - --with-system-ffi
245 - --without-ensurepip
246 - )
247 -
248 - OPT="" econf "${myeconfargs[@]}"
249 -
250 - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
251 - eerror "configure has detected that the sem_open function is broken."
252 - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
253 - die "Broken sem_open function (bug 496328)"
254 - fi
255 -}
256 -
257 -src_compile() {
258 - # Ensure sed works as expected
259 - # https://bugs.gentoo.org/594768
260 - local -x LC_ALL=C
261 -
262 - # Avoid invoking pgen for cross-compiles.
263 - touch Include/graminit.h Python/graminit.c
264 -
265 - emake
266 -
267 - # Work around bug 329499. See also bug 413751 and 457194.
268 - if has_version dev-libs/libffi[pax-kernel]; then
269 - pax-mark E python
270 - else
271 - pax-mark m python
272 - fi
273 -}
274 -
275 -src_test() {
276 - # Tests will not work when cross compiling.
277 - if tc-is-cross-compiler; then
278 - elog "Disabling tests due to crosscompiling."
279 - return
280 - fi
281 -
282 - # Skip failing tests.
283 - local skipped_tests="distutils gdb"
284 -
285 - for test in ${skipped_tests}; do
286 - mv "${S}"/Lib/test/test_${test}.py "${T}"
287 - done
288 -
289 - # bug 660358
290 - local -x COLUMNS=80
291 -
292 - # Daylight saving time problem
293 - # https://bugs.python.org/issue22067
294 - # https://bugs.gentoo.org/610628
295 - local -x TZ=UTC
296 -
297 - # Rerun failed tests in verbose mode (regrtest -w).
298 - emake test EXTRATESTOPTS="-w" < /dev/tty
299 - local result="$?"
300 -
301 - for test in ${skipped_tests}; do
302 - mv "${T}/test_${test}.py" "${S}"/Lib/test
303 - done
304 -
305 - elog "The following tests have been skipped:"
306 - for test in ${skipped_tests}; do
307 - elog "test_${test}.py"
308 - done
309 -
310 - elog "If you would like to run them, you may:"
311 - elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'"
312 - elog "and run the tests separately."
313 -
314 - if [[ ${result} -ne 0 ]]; then
315 - die "emake test failed"
316 - fi
317 -}
318 -
319 -src_install() {
320 - local libdir=${ED}/usr/$(get_libdir)/python${PYVER}
321 -
322 - emake DESTDIR="${D}" altinstall
323 -
324 - sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die
325 -
326 - # Fix collisions between different slots of Python.
327 - mv "${ED}/usr/bin/2to3" "${ED}/usr/bin/2to3-${PYVER}" || die
328 - mv "${ED}/usr/bin/pydoc" "${ED}/usr/bin/pydoc${PYVER}" || die
329 - mv "${ED}/usr/bin/idle" "${ED}/usr/bin/idle${PYVER}" || die
330 - rm "${ED}/usr/bin/smtpd.py" || die
331 -
332 - use berkdb || rm -r "${libdir}/"{bsddb,dbhash.py*,test/test_bsddb*} || die
333 - use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
334 - use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,lib-tk} || die
335 -
336 - use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
337 -
338 - dodoc Misc/{ACKS,HISTORY,NEWS}
339 -
340 - if use examples; then
341 - docinto examples
342 - dodoc -r Tools
343 - fi
344 - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
345 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
346 - emake --no-print-directory -s -f - 2>/dev/null)
347 - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
348 -
349 - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
350 - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
351 - sed \
352 - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
353 - -e "s:@PYDOC@:pydoc${PYVER}:" \
354 - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
355 - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
356 -
357 - local -x EPYTHON=python${PYVER}
358 - # if not using a cross-compiler, use the fresh binary
359 - if ! tc-is-cross-compiler; then
360 - local -x PYTHON=./python
361 - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
362 - else
363 - local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
364 - fi
365 -
366 - echo "EPYTHON='${EPYTHON}'" > epython.py || die
367 - python_domodule epython.py
368 -
369 - # python-exec wrapping support
370 - local scriptdir=${D}$(python_get_scriptdir)
371 - mkdir -p "${scriptdir}" || die
372 - # python
373 - ln -s "../../../bin/python${PYVER}" \
374 - "${scriptdir}/python" || die
375 - # python-config
376 - ln -s "../../../bin/python${PYVER}-config" \
377 - "${scriptdir}/python-config" || die
378 - # 2to3, pydoc, pyvenv
379 - ln -s "../../../bin/2to3-${PYVER}" \
380 - "${scriptdir}/2to3" || die
381 - ln -s "../../../bin/pydoc${PYVER}" \
382 - "${scriptdir}/pydoc" || die
383 - # idle
384 - if use tk; then
385 - ln -s "../../../bin/idle${PYVER}" \
386 - "${scriptdir}/idle" || die
387 - fi
388 -
389 - # python2* is no longer wrapped, so just symlink it
390 - local pymajor=${PYVER%.*}
391 - dosym "python${PYVER}" "/usr/bin/python${pymajor}"
392 - dosym "python${PYVER}-config" "/usr/bin/python${pymajor}-config"
393 -}
394
395 diff --git a/dev-lang/python/python-3.11.0_alpha7.ebuild b/dev-lang/python/python-3.11.0_alpha7.ebuild
396 deleted file mode 100644
397 index e0a70414581f..000000000000
398 --- a/dev-lang/python/python-3.11.0_alpha7.ebuild
399 +++ /dev/null
400 @@ -1,405 +0,0 @@
401 -# Copyright 1999-2022 Gentoo Authors
402 -# Distributed under the terms of the GNU General Public License v2
403 -
404 -EAPI="7"
405 -WANT_LIBTOOL="none"
406 -
407 -inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
408 - python-utils-r1 toolchain-funcs verify-sig
409 -
410 -MY_PV=${PV/_alpha/a}
411 -MY_P="Python-${MY_PV%_p*}"
412 -PYVER=$(ver_cut 1-2)
413 -PATCHSET="python-gentoo-patches-${MY_PV}"
414 -
415 -DESCRIPTION="An interpreted, interactive, object-oriented programming language"
416 -HOMEPAGE="https://www.python.org/"
417 -SRC_URI="https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
418 - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
419 - verify-sig? (
420 - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
421 - )"
422 -S="${WORKDIR}/${MY_P}"
423 -
424 -LICENSE="PSF-2"
425 -SLOT="${PYVER}"
426 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
427 -IUSE="bluetooth build examples gdbm hardened libedit lto +ncurses pgo +readline +sqlite +ssl test tk wininst"
428 -RESTRICT="!test? ( test )"
429 -
430 -# Do not add a dependency on dev-lang/python to this ebuild.
431 -# If you need to apply a patch which requires python for bootstrapping, please
432 -# run the bootstrap code on your dev box and include the results in the
433 -# patchset. See bug 447752.
434 -
435 -RDEPEND="app-arch/bzip2:=
436 - app-arch/xz-utils:=
437 - >=dev-libs/expat-2.1:=
438 - dev-libs/libffi:=
439 - sys-apps/util-linux:=
440 - >=sys-libs/zlib-1.1.3:=
441 - virtual/libcrypt:=
442 - virtual/libintl
443 - gdbm? ( sys-libs/gdbm:=[berkdb] )
444 - ncurses? ( >=sys-libs/ncurses-5.2:= )
445 - readline? (
446 - !libedit? ( >=sys-libs/readline-4.1:= )
447 - libedit? ( dev-libs/libedit:= )
448 - )
449 - sqlite? ( >=dev-db/sqlite-3.3.8:3= )
450 - ssl? ( >=dev-libs/openssl-1.1.1:= )
451 - tk? (
452 - >=dev-lang/tcl-8.0:=
453 - >=dev-lang/tk-8.0:=
454 - dev-tcltk/blt:=
455 - dev-tcltk/tix
456 - )
457 - !!<sys-apps/sandbox-2.21"
458 -# bluetooth requires headers from bluez
459 -DEPEND="${RDEPEND}
460 - bluetooth? ( net-wireless/bluez )
461 - test? ( app-arch/xz-utils[extra-filters(+)] )"
462 -# autoconf-archive needed to eautoreconf
463 -BDEPEND="
464 - sys-devel/autoconf-archive
465 - virtual/awk
466 - virtual/pkgconfig
467 - verify-sig? ( sec-keys/openpgp-keys-python )
468 - !sys-devel/gcc[libffi(-)]"
469 -RDEPEND+=" !build? ( app-misc/mime-types )"
470 -[[ ${PV} != *_alpha* ]] &&
471 - RDEPEND+=" dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]"
472 -
473 -VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
474 -
475 -# large file tests involve a 2.5G file being copied (duplicated)
476 -CHECKREQS_DISK_BUILD=5500M
477 -
478 -QA_PKGCONFIG_VERSION=${PYVER}
479 -
480 -pkg_pretend() {
481 - use test && check-reqs_pkg_pretend
482 -}
483 -
484 -pkg_setup() {
485 - use test && check-reqs_pkg_setup
486 -}
487 -
488 -src_unpack() {
489 - if use verify-sig; then
490 - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
491 - fi
492 - default
493 -}
494 -
495 -src_prepare() {
496 - # Ensure that internal copies of expat, libffi and zlib are not used.
497 - rm -fr Modules/expat || die
498 - rm -fr Modules/_ctypes/libffi* || die
499 - rm -fr Modules/zlib || die
500 -
501 - local PATCHES=(
502 - "${WORKDIR}/${PATCHSET}"
503 - )
504 -
505 - default
506 -
507 - # force correct number of jobs
508 - # https://bugs.gentoo.org/737660
509 - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
510 - sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
511 - sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
512 -
513 - eautoreconf
514 -}
515 -
516 -src_configure() {
517 - local disable
518 - # disable automagic bluetooth headers detection
519 - use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
520 -
521 - if [[ "$(gcc-major-version)" -ge 4 ]]; then
522 - append-flags -fwrapv
523 - fi
524 -
525 - filter-flags -malign-double
526 -
527 - # https://bugs.gentoo.org/show_bug.cgi?id=50309
528 - if is-flagq -O3; then
529 - is-flagq -fstack-protector-all && replace-flags -O3 -O2
530 - use hardened && replace-flags -O3 -O2
531 - fi
532 -
533 - # https://bugs.gentoo.org/700012
534 - if is-flagq -flto || is-flagq '-flto=*'; then
535 - append-cflags $(test-flags-CC -ffat-lto-objects)
536 - fi
537 -
538 - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
539 - tc-export CXX
540 -
541 - # Fix implicit declarations on cross and prefix builds. Bug #674070.
542 - use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
543 -
544 - local dbmliborder
545 - if use gdbm; then
546 - dbmliborder+="${dbmliborder:+:}gdbm"
547 - fi
548 -
549 - if use pgo; then
550 - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
551 - export PROFILE_TASK="-m test -j${jobs} --pgo-extended -x test_gdb -u-network"
552 -
553 - # All of these seem to occasionally hang for PGO inconsistently
554 - # They'll even hang here but be fine in src_test sometimes.
555 - # bug #828535 (and related: bug #788022)
556 - PROFILE_TASK+=" -x test_socket -x test_asyncio -x test_httpservers -x test_logging -x test_multiprocessing_fork -x test_xmlrpc"
557 -
558 - if has_version "app-arch/rpm" ; then
559 - # Avoid sandbox failure (attempts to write to /var/lib/rpm)
560 - PROFILE_TASK+=" -x test_distutils"
561 - fi
562 - fi
563 -
564 - local myeconfargs=(
565 - # glibc-2.30 removes it; since we can't cleanly force-rebuild
566 - # Python on glibc upgrade, remove it proactively to give
567 - # a chance for users rebuilding python before glibc
568 - ac_cv_header_stropts_h=no
569 -
570 - --enable-shared
571 - --without-static-libpython
572 - --enable-ipv6
573 - --infodir='${prefix}/share/info'
574 - --mandir='${prefix}/share/man'
575 - --with-computed-gotos
576 - --with-dbmliborder="${dbmliborder}"
577 - --with-libc=
578 - --enable-loadable-sqlite-extensions
579 - --without-ensurepip
580 - --with-system-expat
581 - --with-system-ffi
582 - --with-platlibdir=lib
583 -
584 - $(use_with lto)
585 - $(use_enable pgo optimizations)
586 - $(use_with readline readline "$(usex libedit editline readline)")
587 - )
588 -
589 - # disable implicit optimization/debugging flags
590 - local -x OPT=
591 - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
592 - # propagated to sysconfig for built extensions
593 - local -x CFLAGS_NODIST=${CFLAGS}
594 - local -x LDFLAGS_NODIST=${LDFLAGS}
595 - local -x CFLAGS= LDFLAGS=
596 -
597 - econf "${myeconfargs[@]}"
598 -
599 - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
600 - eerror "configure has detected that the sem_open function is broken."
601 - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
602 - die "Broken sem_open function (bug 496328)"
603 - fi
604 -
605 - # force-disable modules we don't want built
606 - local disable_modules=(
607 - NIS
608 - )
609 - use gdbm || disable_modules+=( _GDBM _DBM )
610 - use sqlite || disable_modules+=( _SQLITE3 )
611 - use ssl || disable_modules+=( _HASHLIB _SSL )
612 - use ncurses || disable_modules+=( _CURSES _CURSES_PANEL )
613 - use readline || disable_modules+=( READLINE )
614 - use tk || disable_modules+=( _TKINTER )
615 -
616 - local mod
617 - for mod in "${disable_modules[@]}"; do
618 - echo "MODULE_${mod}=disabled"
619 - done >> Makefile || die
620 -}
621 -
622 -src_compile() {
623 - # Ensure sed works as expected
624 - # https://bugs.gentoo.org/594768
625 - local -x LC_ALL=C
626 - # Prevent using distutils bundled by setuptools.
627 - # https://bugs.gentoo.org/823728
628 - export SETUPTOOLS_USE_DISTUTILS=stdlib
629 - export PYTHONSTRICTEXTENSIONBUILD=1
630 -
631 - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
632 - # end up writing bytecode & violating sandbox.
633 - # bug #831897
634 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
635 -
636 - if use pgo ; then
637 - # bug 660358
638 - local -x COLUMNS=80
639 - local -x PYTHONDONTWRITEBYTECODE=
640 -
641 - addpredict /usr/lib/python3.11/site-packages
642 - fi
643 -
644 - # also need to clear the flags explicitly here or they end up
645 - # in _sysconfigdata*
646 - emake CPPFLAGS= CFLAGS= LDFLAGS=
647 -
648 - # Restore saved value from above.
649 - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
650 -
651 - # Work around bug 329499. See also bug 413751 and 457194.
652 - if has_version dev-libs/libffi[pax-kernel]; then
653 - pax-mark E python
654 - else
655 - pax-mark m python
656 - fi
657 -}
658 -
659 -src_test() {
660 - # Tests will not work when cross compiling.
661 - if tc-is-cross-compiler; then
662 - elog "Disabling tests due to crosscompiling."
663 - return
664 - fi
665 -
666 - # Skip failing tests.
667 - local skipped_tests="gdb"
668 -
669 - if use sparc ; then
670 - # bug #788022
671 - skipped_tests+=" multiprocessing_fork"
672 - skipped_tests+=" multiprocessing_forkserver"
673 - fi
674 -
675 - for test in ${skipped_tests}; do
676 - mv "${S}"/Lib/test/test_${test}.py "${T}"
677 - done
678 -
679 - # Expects to find skipped tests and fails
680 - mv "${S}"/Lib/test/test_tools/test_freeze.py "${T}" || die
681 -
682 - # bug 660358
683 - local -x COLUMNS=80
684 - local -x PYTHONDONTWRITEBYTECODE=
685 - # workaround https://bugs.gentoo.org/775416
686 - addwrite /usr/lib/python3.11/site-packages
687 -
688 - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
689 -
690 - emake test EXTRATESTOPTS="-u-network -j${jobs}" \
691 - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
692 - local result=$?
693 -
694 - for test in ${skipped_tests}; do
695 - mv "${T}/test_${test}.py" "${S}"/Lib/test
696 - done
697 -
698 - mv "${T}"/test_freeze.py "${S}"/Lib/test/test_tools/test_freeze.py || die
699 -
700 - elog "The following tests have been skipped:"
701 - for test in ${skipped_tests}; do
702 - elog "test_${test}.py"
703 - done
704 -
705 - elog "If you would like to run them, you may:"
706 - elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
707 - elog "and run the tests separately."
708 -
709 - if [[ ${result} -ne 0 ]]; then
710 - die "emake test failed"
711 - fi
712 -}
713 -
714 -src_install() {
715 - local libdir=${ED}/usr/lib/python${PYVER}
716 -
717 - emake DESTDIR="${D}" altinstall
718 -
719 - # Fix collisions between different slots of Python.
720 - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
721 -
722 - # Cheap hack to get version with ABIFLAGS
723 - local abiver=$(cd "${ED}/usr/include"; echo python*)
724 - if [[ ${abiver} != python${PYVER} ]]; then
725 - # Replace python3.X with a symlink to python3.Xm
726 - rm "${ED}/usr/bin/python${PYVER}" || die
727 - dosym "${abiver}" "/usr/bin/python${PYVER}"
728 - # Create python3.X-config symlink
729 - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
730 - # Create python-3.5m.pc symlink
731 - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
732 - fi
733 -
734 - # python seems to get rebuilt in src_install (bug 569908)
735 - # Work around it for now.
736 - if has_version dev-libs/libffi[pax-kernel]; then
737 - pax-mark E "${ED}/usr/bin/${abiver}"
738 - else
739 - pax-mark m "${ED}/usr/bin/${abiver}"
740 - fi
741 -
742 - use sqlite || rm -r "${libdir}/"sqlite3 || die
743 - use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
744 -
745 - dodoc Misc/{ACKS,HISTORY,NEWS}
746 -
747 - if use examples; then
748 - docinto examples
749 - find Tools -name __pycache__ -exec rm -fr {} + || die
750 - dodoc -r Tools
751 - fi
752 - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
753 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
754 - emake --no-print-directory -s -f - 2>/dev/null)
755 - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
756 -
757 - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
758 - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
759 - sed \
760 - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
761 - -e "s:@PYDOC@:pydoc${PYVER}:" \
762 - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
763 - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
764 -
765 - local -x EPYTHON=python${PYVER}
766 - # if not using a cross-compiler, use the fresh binary
767 - if ! tc-is-cross-compiler; then
768 - local -x PYTHON=./python
769 - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
770 - else
771 - local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
772 - fi
773 -
774 - echo "EPYTHON='${EPYTHON}'" > epython.py || die
775 - python_domodule epython.py
776 -
777 - # python-exec wrapping support
778 - local pymajor=${PYVER%.*}
779 - local scriptdir=${D}$(python_get_scriptdir)
780 - mkdir -p "${scriptdir}" || die
781 - # python and pythonX
782 - ln -s "../../../bin/${abiver}" \
783 - "${scriptdir}/python${pymajor}" || die
784 - ln -s "python${pymajor}" "${scriptdir}/python" || die
785 - # python-config and pythonX-config
786 - # note: we need to create a wrapper rather than symlinking it due
787 - # to some random dirname(argv[0]) magic performed by python-config
788 - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
789 - #!/bin/sh
790 - exec "${abiver}-config" "\${@}"
791 - EOF
792 - chmod +x "${scriptdir}/python${pymajor}-config" || die
793 - ln -s "python${pymajor}-config" \
794 - "${scriptdir}/python-config" || die
795 - # 2to3, pydoc
796 - ln -s "../../../bin/2to3-${PYVER}" \
797 - "${scriptdir}/2to3" || die
798 - ln -s "../../../bin/pydoc${PYVER}" \
799 - "${scriptdir}/pydoc" || die
800 - # idle
801 - if use tk; then
802 - ln -s "../../../bin/idle${PYVER}" \
803 - "${scriptdir}/idle" || die
804 - fi
805 -}