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: Wed, 18 May 2022 05:23:00
Message-Id: 1652851360.80822835b5ade88d8e533e53f0c7a343890f76ba.mgorny@gentoo
1 commit: 80822835b5ade88d8e533e53f0c7a343890f76ba
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Wed May 18 05:22:40 2022 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Wed May 18 05:22:40 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80822835
7
8 dev-lang/python: Remove 3.7.13
9
10 Remove the last version of Python 3.7. The eclass support has been
11 removed almost a year ago, on 2021-06-01. This version is no longer
12 receiving bug fixes, has known regressions related to OpenSSL 3.x
13 and GCC 12.x and the backports do not apply cleanly.
14
15 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
16
17 dev-lang/python/Manifest | 3 -
18 dev-lang/python/python-3.7.13.ebuild | 349 -----------------------------------
19 2 files changed, 352 deletions(-)
20
21 diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
22 index e368dc5dafdb..952886935407 100644
23 --- a/dev-lang/python/Manifest
24 +++ b/dev-lang/python/Manifest
25 @@ -4,8 +4,6 @@ DIST Python-3.10.4.tar.xz 19342692 BLAKE2B c430ad9bed71729fda29433af0614b6c0110a
26 DIST Python-3.10.4.tar.xz.asc 833 BLAKE2B 289f2e96bfc2b60c4ae94b1591779d604f203890c4f5db2ee16e305bf03c6ddb9c8d6da4471a06b5943e12888f37ca572ea30876e9a80382a26814f66b41b7bf SHA512 699e37bf09067083af159e3734b38c952bdc75432c8abfb7a7b8cce7ca975038da37490abeb5c13befd2dacb84a5341ad30de5d0a63d35af5c512215744f4d6d
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 -DIST Python-3.7.13.tar.xz.asc 833 BLAKE2B 1e09a904c07951ae10fc039935c3974dbe2d0a51fed40c6830f321e42f7ddab32a17afe1b35319982160e0fed47b1ff7663d0f18d0b4ae8e81a34298394462a9 SHA512 35c35bd386841fde4f7d614de84cdc05d8ba1377b224bbcd4d6de18a1c87969b23e1583ca9f4e673e0340350c7f59c80986f8ccf41ef573b6585320c90fde19b
31 DIST Python-3.8.13.tar.xz 19023016 BLAKE2B d3cb8624496e56d93d34f2aa5082746869a99210197529bc19e6a9d265f4ce246e0e83a3528a7602a28aac8855bf84e6bf6495b85e9202fcf04ef90600cb5e43 SHA512 5c732b5d21b189b99a0e9ccd3ae59466bed60a930d5d3f437a262d38f0797b776cecbf12a1852eaebcfb638a6f2e28e471cc2ebf94237cc728144be21842cb81
32 DIST Python-3.8.13.tar.xz.asc 833 BLAKE2B 918894777e1a783f2a7c7958a808610631cb7a6039df84675158e8d2fd66782f29921d44ab9b4625c4ca3821852e0d0e0005163b086c7d0c3d617e3a76cb7033 SHA512 6683c4ae6cf20a97a29165f96b9f5dd09d618892583650d803aa677240695968dfe344294fc33db68fd4669c82021afcc29a1f6afe49915be51fae281eeeedbe
33 DIST Python-3.9.11.tar.xz 19724780 BLAKE2B 25b017e36b22235790633eb1a88f52092225252f39963fc365c1ea863f5b5d98a796bceb01e5e34c02d9690f2a664959766b214b8c13350d6e22839218d0c097 SHA512 804e6e6b31922378f07f290023f6efc870c6fd3010204c499c2b375880f6e6ec0f72ce96a8fff81956f6fa3bea2123df2138ef0fda23a3d5d3cf757174a930c3
34 @@ -18,7 +16,6 @@ DIST python-gentoo-patches-2.7.18_p15.tar.xz 34956 BLAKE2B d173f276dd9c0ce31004d
35 DIST python-gentoo-patches-3.10.4.tar.xz 8592 BLAKE2B 67fba3e1fedb17430e5cd93da995b4acaf714db512031b5a2f775a25f793f007941561663cfa413d645ccddc2e22d65d250a40fa166cafda8805488d877ff57d SHA512 3ed2b8ff8f1eb8febe7dcd4b5d13d6d54468be1d525f8f1118977d3bbc78f690a597b09383939d023b03380a306e4bff1693382e29ff562312d803305b1709b2
36 DIST python-gentoo-patches-3.10.4_p1.tar.xz 9648 BLAKE2B e89fa6d4d0d56614242e23d112931cab3447db258548f86e6d09af3db95a3c4f97bb4a939659b85fcc897c0ce4d613c5d55af5da3ae2bd074c2cfc91210d4d34 SHA512 d6bb91ce471cb01891bf5bc1f03914714a34e6a1780f279b937dfb21aea1cf65d84c89c792e0d46286f3c9030ad99bc42b2657aa7e8c6bf0ed0d973b381fb5f9
37 DIST python-gentoo-patches-3.11.0b1.tar.xz 3324 BLAKE2B aa54baab51376b63d7ec4783f9dd9d18581a07c935aaf3619d009d32e754b3a54cbcc2b4f9b0dd556bb91f74198a27ebee4e31baaac04907ba0f1fa87ad04121 SHA512 d609d95fe2e89550f70bb0cb3e4b468e571d00fa3e8a60020193a048c089685b7452146d8bb51e5e39203f08b0b53c661c156ba7711bdd7b107ceebd4ceec440
38 -DIST python-gentoo-patches-3.7.13.tar.xz 18344 BLAKE2B 038db3d4e08f7af41811af0073b9c970171a26ffdf8ca116646f285101cc2299372f264e89183f136b3a56c4f756f39518ef6083c3c13baf409034706212fd22 SHA512 7f0d95e0a558aa4171589b887121e09c74679fc99089274e38c35188cd77e7fd6c53231d052455d752fab0c7dcef86a0efc4b8875a9e2a6c295907c271c6e822
39 DIST python-gentoo-patches-3.8.13.tar.xz 16004 BLAKE2B 5c0c6c9263570a467391e60c324d1dbc1e50ffda9cad1e204df124441b593146f18e5f1529eb7d385b35c5f4b9e597807971b6b66f7f8eef156ad87c9ad32743 SHA512 4ceb831e2d62bd73909b53a3b553b2cd73d08bcf2a1c92b47eaeb1221d40daabcaed14977265bcb265df00b6bf363dbebbd61a62dca4bf6ef40c6b911e980597
40 DIST python-gentoo-patches-3.8.13_p1.tar.xz 17704 BLAKE2B 9b8fa78945f62809cd146b8009a5bbdf7570bd3e470e602bc20567089f343ed99c2c4b9f99440dde0a7e7ea05e7be280c4756fcd50c88d6b9a39829736b2a435 SHA512 520b521b61128970481202eed57bc56eaeb491a1fb920aa65aa7c80fb96fe4e70e0b5c3ed0813583f6ac22dfc9738ba38247bc639f448c9756aa0dfd1e907b19
41 DIST python-gentoo-patches-3.8.13_p2.tar.xz 18816 BLAKE2B 8612ca33e5569319c5d1a5a3fb1a81e860bd515bfde656b79f087ccf7020923fbd06b315178bef8630e4c36bb22c27299fe439aadc6a161f1ec93be8778314ee SHA512 be5668a0a4be0a03e61466436973125a3be4f33a61524e4a5c8d86745727cfcae59e5048477887c9f6bfc09727f3aef3652ad47a13a6bf0f1452d3172f1c34dc
42
43 diff --git a/dev-lang/python/python-3.7.13.ebuild b/dev-lang/python/python-3.7.13.ebuild
44 deleted file mode 100644
45 index 461983aeeeda..000000000000
46 --- a/dev-lang/python/python-3.7.13.ebuild
47 +++ /dev/null
48 @@ -1,349 +0,0 @@
49 -# Copyright 1999-2022 Gentoo Authors
50 -# Distributed under the terms of the GNU General Public License v2
51 -
52 -EAPI="7"
53 -WANT_LIBTOOL="none"
54 -
55 -inherit autotools flag-o-matic multiprocessing pax-utils \
56 - python-utils-r1 toolchain-funcs verify-sig
57 -
58 -MY_P="Python-${PV%_p*}"
59 -PYVER=$(ver_cut 1-2)
60 -PATCHSET="python-gentoo-patches-${PV}"
61 -
62 -DESCRIPTION="An interpreted, interactive, object-oriented programming language"
63 -HOMEPAGE="https://www.python.org/"
64 -SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
65 - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
66 - verify-sig? (
67 - https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
68 - )
69 -"
70 -S="${WORKDIR}/${MY_P}"
71 -
72 -LICENSE="PSF-2"
73 -SLOT="${PYVER}/${PYVER}m"
74 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
75 -IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml"
76 -RESTRICT="!test? ( test )"
77 -
78 -# Do not add a dependency on dev-lang/python to this ebuild.
79 -# If you need to apply a patch which requires python for bootstrapping, please
80 -# run the bootstrap code on your dev box and include the results in the
81 -# patchset. See bug 447752.
82 -
83 -RDEPEND="
84 - app-arch/bzip2:=
85 - app-arch/xz-utils:=
86 - dev-libs/libffi:=
87 - sys-apps/util-linux:=
88 - >=sys-libs/zlib-1.1.3:=
89 - virtual/libcrypt:=
90 - virtual/libintl
91 - gdbm? ( sys-libs/gdbm:=[berkdb] )
92 - ncurses? ( >=sys-libs/ncurses-5.2:= )
93 - readline? ( >=sys-libs/readline-4.1:= )
94 - sqlite? ( >=dev-db/sqlite-3.3.8:3= )
95 - ssl? ( >=dev-libs/openssl-1.1.1:= )
96 - tk? (
97 - >=dev-lang/tcl-8.0:=
98 - >=dev-lang/tk-8.0:=
99 - dev-tcltk/blt:=
100 - dev-tcltk/tix
101 - )
102 - xml? ( >=dev-libs/expat-2.1:= )
103 -"
104 -# bluetooth requires headers from bluez
105 -DEPEND="
106 - ${RDEPEND}
107 - bluetooth? ( net-wireless/bluez )
108 - test? ( app-arch/xz-utils[extra-filters(+)] )
109 -"
110 -BDEPEND="
111 - virtual/awk
112 - virtual/pkgconfig
113 - verify-sig? ( sec-keys/openpgp-keys-python )
114 - !sys-devel/gcc[libffi(-)]
115 -"
116 -RDEPEND+="
117 - !build? ( app-misc/mime-types )
118 -"
119 -
120 -VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
121 -
122 -QA_PKGCONFIG_VERSION=${PYVER}
123 -
124 -src_unpack() {
125 - if use verify-sig; then
126 - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
127 - fi
128 - default
129 -}
130 -
131 -src_prepare() {
132 - # Ensure that internal copies of expat, libffi and zlib are not used.
133 - rm -fr Modules/expat || die
134 - rm -fr Modules/_ctypes/libffi* || die
135 - rm -fr Modules/zlib || die
136 -
137 - local PATCHES=(
138 - "${WORKDIR}/${PATCHSET}"
139 - )
140 -
141 - default
142 -
143 - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
144 - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
145 -
146 - # force correct number of jobs
147 - # https://bugs.gentoo.org/737660
148 - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
149 - sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
150 -
151 - eautoreconf
152 -}
153 -
154 -src_configure() {
155 - local disable
156 - # disable automagic bluetooth headers detection
157 - use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
158 - use gdbm || disable+=" gdbm"
159 - use ncurses || disable+=" _curses _curses_panel"
160 - use readline || disable+=" readline"
161 - use sqlite || disable+=" _sqlite3"
162 - use ssl || export PYTHON_DISABLE_SSL="1"
163 - use tk || disable+=" _tkinter"
164 - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
165 - export PYTHON_DISABLE_MODULES="${disable}"
166 -
167 - if ! use xml; then
168 - ewarn "You have configured Python without XML support."
169 - ewarn "This is NOT a recommended configuration as you"
170 - ewarn "may face problems parsing any XML documents."
171 - fi
172 -
173 - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
174 - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
175 - fi
176 -
177 - append-flags -fwrapv
178 -
179 - filter-flags -malign-double
180 -
181 - # https://bugs.gentoo.org/show_bug.cgi?id=50309
182 - if is-flagq -O3; then
183 - is-flagq -fstack-protector-all && replace-flags -O3 -O2
184 - use hardened && replace-flags -O3 -O2
185 - fi
186 -
187 - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
188 - tc-export CXX
189 -
190 - # Fix implicit declarations on cross and prefix builds. Bug #674070.
191 - use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
192 -
193 - local dbmliborder
194 - if use gdbm; then
195 - dbmliborder+="${dbmliborder:+:}gdbm"
196 - fi
197 -
198 - local myeconfargs=(
199 - # glibc-2.30 removes it; since we can't cleanly force-rebuild
200 - # Python on glibc upgrade, remove it proactively to give
201 - # a chance for users rebuilding python before glibc
202 - ac_cv_header_stropts_h=no
203 -
204 - --enable-shared
205 - --enable-ipv6
206 - --infodir='${prefix}/share/info'
207 - --mandir='${prefix}/share/man'
208 - --with-computed-gotos
209 - --with-dbmliborder="${dbmliborder}"
210 - --with-libc=
211 - --enable-loadable-sqlite-extensions
212 - --without-ensurepip
213 - --with-system-expat
214 - --with-system-ffi
215 - )
216 -
217 - # disable implicit optimization/debugging flags
218 - local -x OPT=
219 - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
220 - # propagated to sysconfig for built extensions
221 - local -x CFLAGS_NODIST=${CFLAGS}
222 - local -x LDFLAGS_NODIST=${LDFLAGS}
223 - local -x CFLAGS= LDFLAGS=
224 -
225 - econf "${myeconfargs[@]}"
226 -
227 - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
228 - eerror "configure has detected that the sem_open function is broken."
229 - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
230 - die "Broken sem_open function (bug 496328)"
231 - fi
232 -}
233 -
234 -src_compile() {
235 - # Ensure sed works as expected
236 - # https://bugs.gentoo.org/594768
237 - local -x LC_ALL=C
238 -
239 - # also need to clear the flags explicitly here or they end up
240 - # in _sysconfigdata*
241 - emake CPPFLAGS= CFLAGS= LDFLAGS=
242 -
243 - # Work around bug 329499. See also bug 413751 and 457194.
244 - if has_version dev-libs/libffi[pax-kernel]; then
245 - pax-mark E python
246 - else
247 - pax-mark m python
248 - fi
249 -}
250 -
251 -src_test() {
252 - # Tests will not work when cross compiling.
253 - if tc-is-cross-compiler; then
254 - elog "Disabling tests due to crosscompiling."
255 - return
256 - fi
257 -
258 - # Skip failing tests.
259 - local skipped_tests="gdb"
260 -
261 - if use sparc ; then
262 - # bug #788022
263 - skipped_tests+=" multiprocessing_fork"
264 - skipped_tests+=" multiprocessing_forkserver"
265 - fi
266 -
267 - for test in ${skipped_tests}; do
268 - mv "${S}"/Lib/test/test_${test}.py "${T}"
269 - done
270 -
271 - # bug 660358
272 - local -x COLUMNS=80
273 - local -x PYTHONDONTWRITEBYTECODE=
274 -
275 - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
276 -
277 - emake test EXTRATESTOPTS="-u-network -j${jobs}" \
278 - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
279 - local result=$?
280 -
281 - for test in ${skipped_tests}; do
282 - mv "${T}/test_${test}.py" "${S}"/Lib/test
283 - done
284 -
285 - elog "The following tests have been skipped:"
286 - for test in ${skipped_tests}; do
287 - elog "test_${test}.py"
288 - done
289 -
290 - elog "If you would like to run them, you may:"
291 - elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
292 - elog "and run the tests separately."
293 -
294 - if [[ ${result} -ne 0 ]]; then
295 - die "emake test failed"
296 - fi
297 -}
298 -
299 -src_install() {
300 - local libdir=${ED}/usr/lib/python${PYVER}
301 -
302 - emake DESTDIR="${D}" altinstall
303 -
304 - # Remove static library
305 - rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
306 -
307 - # Fix collisions between different slots of Python.
308 - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
309 -
310 - # Cheap hack to get version with ABIFLAGS
311 - local abiver=$(cd "${ED}/usr/include"; echo python*)
312 - if [[ ${abiver} != python${PYVER} ]]; then
313 - # Replace python3.X with a symlink to python3.Xm
314 - rm "${ED}/usr/bin/python${PYVER}" || die
315 - dosym "${abiver}" "/usr/bin/python${PYVER}"
316 - # Create python3.X-config symlink
317 - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
318 - # Create python-3.5m.pc symlink
319 - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
320 - fi
321 -
322 - # python seems to get rebuilt in src_install (bug 569908)
323 - # Work around it for now.
324 - if has_version dev-libs/libffi[pax-kernel]; then
325 - pax-mark E "${ED}/usr/bin/${abiver}"
326 - else
327 - pax-mark m "${ED}/usr/bin/${abiver}"
328 - fi
329 -
330 - use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
331 - use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
332 -
333 - use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
334 -
335 - dodoc Misc/{ACKS,HISTORY,NEWS}
336 -
337 - if use examples; then
338 - docinto examples
339 - find Tools -name __pycache__ -exec rm -fr {} + || die
340 - dodoc -r Tools
341 - fi
342 - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
343 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
344 - emake --no-print-directory -s -f - 2>/dev/null)
345 - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
346 -
347 - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
348 - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
349 - sed \
350 - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
351 - -e "s:@PYDOC@:pydoc${PYVER}:" \
352 - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
353 - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
354 -
355 - local -x EPYTHON=python${PYVER}
356 - # if not using a cross-compiler, use the fresh binary
357 - if ! tc-is-cross-compiler; then
358 - local -x PYTHON=./python
359 - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
360 - else
361 - local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
362 - fi
363 -
364 - echo "EPYTHON='${EPYTHON}'" > epython.py || die
365 - python_domodule epython.py
366 -
367 - # python-exec wrapping support
368 - local pymajor=${PYVER%.*}
369 - local scriptdir=${D}$(python_get_scriptdir)
370 - mkdir -p "${scriptdir}" || die
371 - # python and pythonX
372 - ln -s "../../../bin/${abiver}" \
373 - "${scriptdir}/python${pymajor}" || die
374 - ln -s "python${pymajor}" "${scriptdir}/python" || die
375 - # python-config and pythonX-config
376 - # note: we need to create a wrapper rather than symlinking it due
377 - # to some random dirname(argv[0]) magic performed by python-config
378 - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
379 - #!/bin/sh
380 - exec "${abiver}-config" "\${@}"
381 - EOF
382 - chmod +x "${scriptdir}/python${pymajor}-config" || die
383 - ln -s "python${pymajor}-config" \
384 - "${scriptdir}/python-config" || die
385 - # 2to3, pydoc, pyvenv
386 - ln -s "../../../bin/2to3-${PYVER}" \
387 - "${scriptdir}/2to3" || die
388 - ln -s "../../../bin/pydoc${PYVER}" \
389 - "${scriptdir}/pydoc" || die
390 - ln -s "../../../bin/pyvenv-${PYVER}" \
391 - "${scriptdir}/pyvenv" || die
392 - # idle
393 - if use tk; then
394 - ln -s "../../../bin/idle${PYVER}" \
395 - "${scriptdir}/idle" || die
396 - fi
397 -}