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: profiles/, dev-lang/python/, dev-lang/python/files/
Date: Sat, 20 Apr 2019 23:29:01
Message-Id: 1555748932.7722db56fcda9ed21d8a871553c686ae7f34f4ba.mgorny@gentoo
1 commit: 7722db56fcda9ed21d8a871553c686ae7f34f4ba
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Sat Apr 20 08:27:14 2019 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sat Apr 20 08:28:52 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7722db56
7
8 dev-lang/python: remove 3.4*
9
10 Closes: https://bugs.gentoo.org/673960
11 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
12
13 dev-lang/python/Manifest | 3 -
14 dev-lang/python/files/3.4-getentropy-linux.patch | 40 ---
15 dev-lang/python/files/python-3.4.5-cross.patch | 11 -
16 dev-lang/python/python-3.4.10.ebuild | 363 -----------------------
17 dev-lang/python/python-3.4.8.ebuild | 359 ----------------------
18 profiles/package.mask | 6 -
19 6 files changed, 782 deletions(-)
20
21 diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
22 index 4aa3d6cec65..889454164d3 100644
23 --- a/dev-lang/python/Manifest
24 +++ b/dev-lang/python/Manifest
25 @@ -1,7 +1,5 @@
26 DIST Python-2.7.15.tar.xz 12642436 BLAKE2B d8783a48ea26695e8d4677397a08194c738d7e4bc8ecaddaab609ad1fd5a1ca07701f707fe38d259f6bd44a39171ef95e7530f3df4bcb4d94abc4d21d7e2d489 SHA512 27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6
27 DIST Python-2.7.16.tar.xz 12752104 BLAKE2B 7d6b5b853f9974d44e04dd35ecdffaab87511e183b4b01dd4f8f4ee109c4b4ab208f045708f69717be9d3a706aa078b71438ed482c062c0b89c12730eae074ae SHA512 16e814e8dcffc707b595ca2919bd2fa3db0d15794c63d977364652c4a5b92e90e72b8c9e1cc83b5020398bd90a1b397dbdd7cb931c49f1aa4af6ef95414b43e0
28 -DIST Python-3.4.10.tar.xz 14559088 BLAKE2B ea1e333f04c286fe715c1ce97ade37c6a768e58a2e34da2ec51613a76c87a2e704f67d9ae8fd92a95366ab1814295028d7948e49b071d7e457b388176186c2e8 SHA512 d5d27d68049b61f135e21b12a800dbd4fc521d6935de178de6e2e88a989cda511d3c8fead90d14e38d2db0e528a74b22674e0da01c51ff4fad7d335ec6c3dbbc
29 -DIST Python-3.4.8.tar.xz 14576444 BLAKE2B 262b82fbc0e4852216d2edf05f9e9194bc93be7b14a2d6ef56789b808cff274e58b2fa7134955464fd05ab36181b5861aeca31e2e05b27f0f58ac66d145bd56b SHA512 478552c72efe606cb1993024b81839c51d01f1c949564c007ab2b76016f110e1f7bd418e5de3f4f93b466ce7dbe6583d3c150830d1f28f75e0809625b568a7ec
30 DIST Python-3.5.5.tar.xz 15351440 BLAKE2B 217cb7f51e04d57983ce053ff4276d056e17c8223b6f3d87b69f556453fe2ae3d4dc2c1a6b9c2c6aad033cea9b40cd32264d8208cc81a1ec34ff252379bf95b8 SHA512 c9056baee6a2d1fe7f14b1f310db95b78e8972766d086f8ae10954f38f8182956171580bde01ddadebe897f2545a6fbe47669ca3e4887026ac1fae5ee9197f22
31 DIST Python-3.5.7.tar.xz 15324736 BLAKE2B 0f1dd80584385b7f859652c85dc6b51bf71cd9f1d53fcf1716c54e8ffc3d2a36ef9969956e4429ac1ba878dad1e9acbb5f82ddb6a9923886bf3c84b3327dfecb SHA512 83f57451e1d7082bf19e4e49a0902e9257e381836d9a04154a6b276135fa49e5c96b6869eed9ec4475e06b76556c1ae89f5cca111b762eb8b2dee6f65373e0f4
32 DIST Python-3.6.5.tar.xz 17049912 BLAKE2B f393e9563a18a46c457afcd2e174d9eacda20fe2b0ae5461e11c582fa4d27b85c01bbe7b602f45511b6b44f635c6330205b12fb3e8325ffd07e87b78a8258889 SHA512 6b26fcd296b9bd8e67861eff10d14db7507711ddba947288d16d6def53135c39326b7f969c04bb2b2993f924d9e7ad3f5c5282a3915760bc0885cf0a8ea5eb51
33 @@ -10,7 +8,6 @@ DIST Python-3.7.2.tar.xz 17042320 BLAKE2B 79b06b7d38590b7ad00850a4323156bfee07c4
34 DIST Python-3.7.3.tar.xz 17108364 BLAKE2B ac86ea442519a02f0afcb0d0ec70cb288ae28df63fc9f575ee4d8e03e6e31aff9ad2ff18ff5787d922727bd1c6f1a488f94541cd9787ac932d041c93847dea34 SHA512 6d9b7c0f1764e0f655a39430a3af6f7b5e3c9b7166c042e780677a54b17ad4ca6d0d9cba262c82b1b70bba8f7c28883dad4cc0d7cc194fc7d2c1b5f4f08a763a
35 DIST python-gentoo-patches-2.7.15.tar.xz 16208 BLAKE2B 5739c2b3a236d48f8e33f0fe6515bfe7a8f99096f6223b402653988feac2513d37d26b6e40e5e049852f42657358170e468ca60097e0e2294e760787c12ad591 SHA512 687fd008d1d41b1e65ce5417f6f6aba84ffd42f7af44ef97c03a7806b28e6888f8df043a0c15187a8b229cc17642853e6feb25494db97f4d10f8a66f8ebcbcca
36 DIST python-gentoo-patches-2.7.16.tar.xz 13904 BLAKE2B 218b46f8656f4a792dcd47eabca6d59a1558276b77676544991ee75914cd76dda84c36f43e72e477b850dd4cb52374d289f20dccd244a3b52ae5debaf3363432 SHA512 83f90545231c663a34c6925352a357a2b15997ac0362578a1893304c5070b5251922585ae8bc1bafb68d306bcddd4cdba4b6406648d473bd3e980eef65fe3ecd
37 -DIST python-gentoo-patches-3.4.6-0.tar.xz 11728 BLAKE2B 2a636f5500f4c7d354f421133f086cba9a25c30d5feaaa2dc25c9c588125d7c9097baecaa11f31548fa598b5dc137ca310ad86222510c0a955fa632a6d0a4b06 SHA512 41c22dc8f1db8800fc0b97eed2b27bf1873e5de1369bd4aecf7a7a91e609a78e45a4b56fc89d575317f33a7704c0c1cad1494e8a993415a198f256e8338f49ab
38 DIST python-gentoo-patches-3.5.4-0.tar.xz 11704 BLAKE2B 4a7d71feff18c7c8c109bed10748348484d314183c3de3ec950d5ca5ce7048bb322c470f3f5bff2d63eb7f2ed99c0fe75c621df050273d9d118681b28926061d SHA512 d395a87695f700598026038d6929ea5038abd7d494294037a4dfa02d5262203dbbaa6ae258a5a7f35ff5542f6266dcf69cc0b9c3df2a047cd2f6699a87e182ec
39 DIST python-gentoo-patches-3.6.4.tar.xz 12888 BLAKE2B 7cf49ae22df53e855f2e99df51686b5d4bd0da82ef4c22836e24726ea9ed561808352c0305a5659b052d38b843f1ff61b6466a7bc3673b7e5cfb4d81d22fa4bc SHA512 90a1b685f2539872ffd67f96581f70145b7afaf18af19f4a7f4a61214103d2a10bf0069c1769dac229ae011fceaf8538f041082b33c1671905246d018d184dd7
40 DIST python-gentoo-patches-3.6.8.tar.xz 11224 BLAKE2B 5fe38282bcf28df18e0bd37756c880ae191ea738dc92f1cf83f682cfdc52525b9c44287dc99191a73d75c90672ab501b56adf49515b35ff1fdee88c8dc07b175 SHA512 89e700663db25d6d78eee1d4bfdab686c5341a794062f3a63df3485ac0b58deb4b4885d24701f3ae138d06ca783be92e310e1100c6d633910c33732f3cb0d7df
41
42 diff --git a/dev-lang/python/files/3.4-getentropy-linux.patch b/dev-lang/python/files/3.4-getentropy-linux.patch
43 deleted file mode 100644
44 index 9f12389bb25..00000000000
45 --- a/dev-lang/python/files/3.4-getentropy-linux.patch
46 +++ /dev/null
47 @@ -1,40 +0,0 @@
48 -From 5635d44079e1bbd9c495951ede8d078e7b8d67d5 Mon Sep 17 00:00:00 2001
49 -From: Victor Stinner <victor.stinner@×××××.com>
50 -Date: Mon, 9 Jan 2017 11:10:41 +0100
51 -Subject: [PATCH] Don't use getentropy() on Linux
52 -
53 -Issue #29188: Support glibc 2.24 on Linux: don't use getentropy() function but
54 -read from /dev/urandom to get random bytes, for example in os.urandom(). On
55 -Linux, getentropy() is implemented which getrandom() is blocking mode, whereas
56 -os.urandom() should not block.
57 ----
58 - Python/random.c | 13 ++++++++++---
59 - 1 file changed, 10 insertions(+), 3 deletions(-)
60 -
61 -diff --git a/Python/random.c b/Python/random.c
62 -index af3d0bd0d5..dc6400d3b8 100644
63 ---- a/Python/random.c
64 -+++ b/Python/random.c
65 -@@ -67,9 +67,16 @@ win32_urandom(unsigned char *buffer, Py_ssize_t size, int raise)
66 - return 0;
67 - }
68 -
69 --/* Issue #25003: Don' use getentropy() on Solaris (available since
70 -- * Solaris 11.3), it is blocking whereas os.urandom() should not block. */
71 --#elif defined(HAVE_GETENTROPY) && !defined(sun)
72 -+/* Issue #25003: Don't use getentropy() on Solaris (available since
73 -+ Solaris 11.3), it is blocking whereas os.urandom() should not block.
74 -+
75 -+ Issue #29188: Don't use getentropy() on Linux since the glibc 2.24
76 -+ implements it with the getrandom() syscall which can fail with ENOSYS,
77 -+ and this error is not supported in py_getentropy() and getrandom() is called
78 -+ with flags=0 which blocks until system urandom is initialized, which is not
79 -+ the desired behaviour to seed the Python hash secret nor for os.urandom():
80 -+ see the PEP 524 which was only implemented in Python 3.6. */
81 -+#elif defined(HAVE_GETENTROPY) && !defined(sun) && !defined(linux)
82 - #define PY_GETENTROPY 1
83 -
84 - /* Fill buffer with size pseudo-random bytes generated by getentropy().
85 ---
86 -2.15.0.rc2
87 -
88
89 diff --git a/dev-lang/python/files/python-3.4.5-cross.patch b/dev-lang/python/files/python-3.4.5-cross.patch
90 deleted file mode 100644
91 index 7a016ffbd48..00000000000
92 --- a/dev-lang/python/files/python-3.4.5-cross.patch
93 +++ /dev/null
94 @@ -1,11 +0,0 @@
95 ---- a/Lib/distutils/command/build_ext.py
96 -+++ b/Lib/distutils/command/build_ext.py
97 -@@ -729,7 +729,7 @@
98 - if sysconfig.get_config_var('Py_ENABLE_SHARED'):
99 - pythonlib = 'python{}.{}{}'.format(
100 - sys.hexversion >> 24, (sys.hexversion >> 16) & 0xff,
101 -- sys.abiflags)
102 -+ sysconfig.get_config_var('ABIFLAGS'))
103 - return ext.libraries + [pythonlib]
104 - else:
105 - return ext.libraries
106
107 diff --git a/dev-lang/python/python-3.4.10.ebuild b/dev-lang/python/python-3.4.10.ebuild
108 deleted file mode 100644
109 index 5db97b34710..00000000000
110 --- a/dev-lang/python/python-3.4.10.ebuild
111 +++ /dev/null
112 @@ -1,363 +0,0 @@
113 -# Copyright 1999-2019 Gentoo Authors
114 -# Distributed under the terms of the GNU General Public License v2
115 -
116 -EAPI="5"
117 -WANT_LIBTOOL="none"
118 -
119 -inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs multiprocessing
120 -
121 -MY_P="Python-${PV/_/}"
122 -PATCHSET_VERSION="3.4.6-0"
123 -
124 -DESCRIPTION="An interpreted, interactive, object-oriented programming language"
125 -HOMEPAGE="https://www.python.org/"
126 -SRC_URI="https://www.python.org/ftp/python/${PV%_rc*}/${MY_P}.tar.xz
127 - https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz"
128 -
129 -LICENSE="PSF-2"
130 -SLOT="3.4/3.4m"
131 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
132 -IUSE="bluetooth build elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk wininst +xml"
133 -
134 -# Do not add a dependency on dev-lang/python to this ebuild.
135 -# If you need to apply a patch which requires python for bootstrapping, please
136 -# run the bootstrap code on your dev box and include the results in the
137 -# patchset. See bug 447752.
138 -
139 -RDEPEND="app-arch/bzip2:0=
140 - app-arch/xz-utils:0=
141 - >=sys-libs/zlib-1.1.3:0=
142 - virtual/libffi:=
143 - virtual/libintl
144 - gdbm? ( sys-libs/gdbm:0=[berkdb] )
145 - ncurses? (
146 - >=sys-libs/ncurses-5.2:0=
147 - readline? ( >=sys-libs/readline-4.1:0= )
148 - )
149 - sqlite? ( >=dev-db/sqlite-3.3.8:3= )
150 - ssl? (
151 - !libressl? ( dev-libs/openssl:0= )
152 - libressl? ( dev-libs/libressl:0= )
153 - )
154 - tk? (
155 - >=dev-lang/tcl-8.0:0=
156 - >=dev-lang/tk-8.0:0=
157 - dev-tcltk/blt:0=
158 - dev-tcltk/tix
159 - )
160 - xml? ( >=dev-libs/expat-2.1:0= )
161 - !!<sys-apps/sandbox-2.6-r1"
162 -# bluetooth requires headers from bluez
163 -DEPEND="${RDEPEND}
164 - bluetooth? ( net-wireless/bluez )
165 - virtual/pkgconfig
166 - >=sys-devel/autoconf-2.65
167 - !sys-devel/gcc[libffi(-)]"
168 -RDEPEND+=" !build? ( app-misc/mime-types )"
169 -PDEPEND=">=app-eselect/eselect-python-20140125-r1"
170 -
171 -S="${WORKDIR}/${MY_P}"
172 -
173 -PYVER=${SLOT%/*}
174 -
175 -src_prepare() {
176 - # Ensure that internal copies of expat, libffi and zlib are not used.
177 - rm -fr Modules/expat
178 - rm -fr Modules/_ctypes/libffi*
179 - rm -fr Modules/zlib
180 -
181 - if tc-is-cross-compiler; then
182 - # Invokes BUILDPYTHON, which is built for the host arch
183 - local EPATCH_EXCLUDE="*_regenerate_platform-specific_modules.patch"
184 - fi
185 -
186 - EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches"
187 - epatch "${FILESDIR}/${PN}-3.4.3-ncurses-pkg-config.patch"
188 - epatch "${FILESDIR}/${PN}-3.4.5-cross.patch"
189 - epatch "${FILESDIR}/3.4-getentropy-linux.patch"
190 - epatch "${FILESDIR}/3.6-disable-nis.patch"
191 - epatch "${FILESDIR}/python-3.5.5-hash-unaligned.patch"
192 -
193 - epatch_user
194 -
195 - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
196 - configure.ac \
197 - Lib/distutils/command/install.py \
198 - Lib/distutils/sysconfig.py \
199 - Lib/site.py \
200 - Lib/sysconfig.py \
201 - Lib/test/test_site.py \
202 - Makefile.pre.in \
203 - Modules/Setup.dist \
204 - Modules/getpath.c \
205 - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
206 -
207 - eautoreconf
208 -}
209 -
210 -src_configure() {
211 - local disable
212 - # disable automagic bluetooth headers detection
213 - use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
214 - use gdbm || disable+=" gdbm"
215 - use ncurses || disable+=" _curses _curses_panel"
216 - use readline || disable+=" readline"
217 - use sqlite || disable+=" _sqlite3"
218 - use ssl || export PYTHON_DISABLE_SSL="1"
219 - use tk || disable+=" _tkinter"
220 - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
221 - export PYTHON_DISABLE_MODULES="${disable}"
222 -
223 - if ! use xml; then
224 - ewarn "You have configured Python without XML support."
225 - ewarn "This is NOT a recommended configuration as you"
226 - ewarn "may face problems parsing any XML documents."
227 - fi
228 -
229 - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
230 - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
231 - fi
232 -
233 - if [[ "$(gcc-major-version)" -ge 4 ]]; then
234 - append-flags -fwrapv
235 - fi
236 -
237 - filter-flags -malign-double
238 -
239 - # https://bugs.gentoo.org/show_bug.cgi?id=50309
240 - if is-flagq -O3; then
241 - is-flagq -fstack-protector-all && replace-flags -O3 -O2
242 - use hardened && replace-flags -O3 -O2
243 - fi
244 -
245 - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
246 - tc-export CXX
247 -
248 - # The configure script fails to use pkg-config correctly.
249 - # http://bugs.python.org/issue15506
250 - export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
251 -
252 - # Set LDFLAGS so we link modules with -lpython3.2 correctly.
253 - # Needed on FreeBSD unless Python 3.2 is already installed.
254 - # Please query BSD team before removing this!
255 - append-ldflags "-L."
256 -
257 - local dbmliborder
258 - if use gdbm; then
259 - dbmliborder+="${dbmliborder:+:}gdbm"
260 - fi
261 -
262 - BUILD_DIR="${WORKDIR}/${CHOST}"
263 - mkdir -p "${BUILD_DIR}" || die
264 - cd "${BUILD_DIR}" || die
265 -
266 - ECONF_SOURCE="${S}" OPT="" \
267 - econf \
268 - --with-fpectl \
269 - --enable-shared \
270 - $(use_enable ipv6) \
271 - $(use_with threads) \
272 - --infodir='${prefix}/share/info' \
273 - --mandir='${prefix}/share/man' \
274 - --with-computed-gotos \
275 - --with-dbmliborder="${dbmliborder}" \
276 - --with-libc="" \
277 - --enable-loadable-sqlite-extensions \
278 - --with-system-expat \
279 - --with-system-ffi \
280 - --without-ensurepip
281 -
282 - if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
283 - eerror "configure has detected that the sem_open function is broken."
284 - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
285 - die "Broken sem_open function (bug 496328)"
286 - fi
287 -}
288 -
289 -src_compile() {
290 - # Ensure sed works as expected
291 - # https://bugs.gentoo.org/594768
292 - local -x LC_ALL=C
293 -
294 - # Avoid invoking pgen for cross-compiles.
295 - touch Include/graminit.h Python/graminit.c || die
296 -
297 - cd "${BUILD_DIR}" || die
298 -
299 - emake CPPFLAGS= CFLAGS= LDFLAGS=
300 -
301 - # Work around bug 329499. See also bug 413751 and 457194.
302 - if has_version dev-libs/libffi[pax_kernel]; then
303 - pax-mark E python
304 - else
305 - pax-mark m python
306 - fi
307 -}
308 -
309 -src_test() {
310 - # Tests will not work when cross compiling.
311 - if tc-is-cross-compiler; then
312 - elog "Disabling tests due to crosscompiling."
313 - return
314 - fi
315 -
316 - cd "${BUILD_DIR}" || die
317 -
318 - # Skip failing tests.
319 - local skipped_tests="gdb"
320 -
321 - for test in ${skipped_tests}; do
322 - mv "${S}"/Lib/test/test_${test}.py "${T}"
323 - done
324 -
325 - local -x PYTHONDONTWRITEBYTECODE=
326 - emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
327 - local result=$?
328 -
329 - for test in ${skipped_tests}; do
330 - mv "${T}/test_${test}.py" "${S}"/Lib/test
331 - done
332 -
333 - elog "The following tests have been skipped:"
334 - for test in ${skipped_tests}; do
335 - elog "test_${test}.py"
336 - done
337 -
338 - elog "If you would like to run them, you may:"
339 - elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'"
340 - elog "and run the tests separately."
341 -
342 - if [[ ${result} -ne 0 ]]; then
343 - die "emake test failed"
344 - fi
345 -}
346 -
347 -src_install() {
348 - local libdir=${ED}/usr/$(get_libdir)/python${PYVER}
349 -
350 - cd "${BUILD_DIR}" || die
351 -
352 - emake DESTDIR="${D}" altinstall
353 -
354 - sed \
355 - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
356 - -e "s/\(PY_LDFLAGS=\).*/\1/" \
357 - -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
358 -
359 - # Fix collisions between different slots of Python.
360 - rm -f "${ED}usr/$(get_libdir)/libpython3.so"
361 -
362 - # Cheap hack to get version with ABIFLAGS
363 - local abiver=$(cd "${ED}usr/include"; echo python*)
364 - if [[ ${abiver} != python${PYVER} ]]; then
365 - # Replace python3.X with a symlink to python3.Xm
366 - rm "${ED}usr/bin/python${PYVER}" || die
367 - dosym "${abiver}" "/usr/bin/python${PYVER}"
368 - # Create python3.X-config symlink
369 - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
370 - # Create python-3.5m.pc symlink
371 - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
372 - fi
373 -
374 - use elibc_uclibc && rm -fr "${libdir}/test"
375 - use sqlite || rm -fr "${libdir}/"{sqlite3,test/test_sqlite*}
376 - use tk || rm -fr "${ED}usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*}
377 -
378 - use threads || rm -fr "${libdir}/multiprocessing"
379 - use wininst || rm -f "${libdir}/distutils/command/"wininst-*.exe
380 -
381 - dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS}
382 -
383 - if use examples; then
384 - insinto /usr/share/doc/${PF}/examples
385 - find "${S}"/Tools -name __pycache__ -print0 | xargs -0 rm -fr
386 - doins -r "${S}"/Tools
387 - fi
388 - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
389 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
390 - emake --no-print-directory -s -f - 2>/dev/null)
391 - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
392 -
393 - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
394 - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
395 - sed \
396 - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
397 - -e "s:@PYDOC@:pydoc${PYVER}:" \
398 - -i "${ED}etc/conf.d/pydoc-${PYVER}" "${ED}etc/init.d/pydoc-${PYVER}" || die "sed failed"
399 -
400 - # for python-exec
401 - local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR )
402 -
403 - # if not using a cross-compiler, use the fresh binary
404 - if ! tc-is-cross-compiler; then
405 - local -x PYTHON=./python
406 - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
407 - else
408 - vars=( PYTHON "${vars[@]}" )
409 - fi
410 -
411 - python_export "python${PYVER}" "${vars[@]}"
412 - echo "EPYTHON='${EPYTHON}'" > epython.py || die
413 - python_domodule epython.py
414 -
415 - # python-exec wrapping support
416 - local pymajor=${PYVER%.*}
417 - mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die
418 - # python and pythonX
419 - ln -s "../../../bin/${abiver}" \
420 - "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die
421 - ln -s "python${pymajor}" \
422 - "${D}${PYTHON_SCRIPTDIR}/python" || die
423 - # python-config and pythonX-config
424 - # note: we need to create a wrapper rather than symlinking it due
425 - # to some random dirname(argv[0]) magic performed by python-config
426 - cat > "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" <<-EOF || die
427 - #!/bin/sh
428 - exec "${abiver}-config" "\${@}"
429 - EOF
430 - chmod +x "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die
431 - ln -s "python${pymajor}-config" \
432 - "${D}${PYTHON_SCRIPTDIR}/python-config" || die
433 - # 2to3, pydoc, pyvenv
434 - ln -s "../../../bin/2to3-${PYVER}" \
435 - "${D}${PYTHON_SCRIPTDIR}/2to3" || die
436 - ln -s "../../../bin/pydoc${PYVER}" \
437 - "${D}${PYTHON_SCRIPTDIR}/pydoc" || die
438 - ln -s "../../../bin/pyvenv-${PYVER}" \
439 - "${D}${PYTHON_SCRIPTDIR}/pyvenv" || die
440 - # idle
441 - if use tk; then
442 - ln -s "../../../bin/idle${PYVER}" \
443 - "${D}${PYTHON_SCRIPTDIR}/idle" || die
444 - fi
445 -}
446 -
447 -pkg_preinst() {
448 - if has_version "<${CATEGORY}/${PN}-${PYVER}" && ! has_version ">=${CATEGORY}/${PN}-${PYVER}_alpha"; then
449 - python_updater_warning="1"
450 - fi
451 -}
452 -
453 -eselect_python_update() {
454 - if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then
455 - eselect python update
456 - fi
457 -
458 - if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then
459 - eselect python update --python${PV%%.*}
460 - fi
461 -}
462 -
463 -pkg_postinst() {
464 - eselect_python_update
465 -
466 - if [[ "${python_updater_warning}" == "1" ]]; then
467 - ewarn "You have just upgraded from an older version of Python."
468 - ewarn
469 - ewarn "Please adjust PYTHON_TARGETS (if so desired), and run emerge with the --newuse or --changed-use option to rebuild packages installing python modules."
470 - fi
471 -}
472 -
473 -pkg_postrm() {
474 - eselect_python_update
475 -}
476
477 diff --git a/dev-lang/python/python-3.4.8.ebuild b/dev-lang/python/python-3.4.8.ebuild
478 deleted file mode 100644
479 index 33fdfa12e3e..00000000000
480 --- a/dev-lang/python/python-3.4.8.ebuild
481 +++ /dev/null
482 @@ -1,359 +0,0 @@
483 -# Copyright 1999-2018 Gentoo Authors
484 -# Distributed under the terms of the GNU General Public License v2
485 -
486 -EAPI="5"
487 -WANT_LIBTOOL="none"
488 -
489 -inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs multiprocessing
490 -
491 -MY_P="Python-${PV/_/}"
492 -PATCHSET_VERSION="3.4.6-0"
493 -
494 -DESCRIPTION="An interpreted, interactive, object-oriented programming language"
495 -HOMEPAGE="https://www.python.org/"
496 -SRC_URI="https://www.python.org/ftp/python/${PV%_rc*}/${MY_P}.tar.xz
497 - https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz"
498 -
499 -LICENSE="PSF-2"
500 -SLOT="3.4/3.4m"
501 -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
502 -IUSE="build elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk wininst +xml"
503 -
504 -# Do not add a dependency on dev-lang/python to this ebuild.
505 -# If you need to apply a patch which requires python for bootstrapping, please
506 -# run the bootstrap code on your dev box and include the results in the
507 -# patchset. See bug 447752.
508 -
509 -RDEPEND="app-arch/bzip2:0=
510 - app-arch/xz-utils:0=
511 - >=sys-libs/zlib-1.1.3:0=
512 - virtual/libffi:=
513 - virtual/libintl
514 - gdbm? ( sys-libs/gdbm:0=[berkdb] )
515 - ncurses? (
516 - >=sys-libs/ncurses-5.2:0=
517 - readline? ( >=sys-libs/readline-4.1:0= )
518 - )
519 - sqlite? ( >=dev-db/sqlite-3.3.8:3= )
520 - ssl? (
521 - !libressl? ( dev-libs/openssl:0= )
522 - libressl? ( dev-libs/libressl:0= )
523 - )
524 - tk? (
525 - >=dev-lang/tcl-8.0:0=
526 - >=dev-lang/tk-8.0:0=
527 - dev-tcltk/blt:0=
528 - dev-tcltk/tix
529 - )
530 - xml? ( >=dev-libs/expat-2.1:0= )
531 - !!<sys-apps/sandbox-2.6-r1"
532 -DEPEND="${RDEPEND}
533 - virtual/pkgconfig
534 - >=sys-devel/autoconf-2.65
535 - !sys-devel/gcc[libffi(-)]"
536 -RDEPEND+=" !build? ( app-misc/mime-types )"
537 -PDEPEND=">=app-eselect/eselect-python-20140125-r1"
538 -
539 -S="${WORKDIR}/${MY_P}"
540 -
541 -PYVER=${SLOT%/*}
542 -
543 -src_prepare() {
544 - # Ensure that internal copies of expat, libffi and zlib are not used.
545 - rm -fr Modules/expat
546 - rm -fr Modules/_ctypes/libffi*
547 - rm -fr Modules/zlib
548 -
549 - if tc-is-cross-compiler; then
550 - # Invokes BUILDPYTHON, which is built for the host arch
551 - local EPATCH_EXCLUDE="*_regenerate_platform-specific_modules.patch"
552 - fi
553 -
554 - EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches"
555 - epatch "${FILESDIR}/${PN}-3.4.3-ncurses-pkg-config.patch"
556 - epatch "${FILESDIR}/${PN}-3.4.5-cross.patch"
557 - epatch "${FILESDIR}/3.4-getentropy-linux.patch"
558 - epatch "${FILESDIR}/3.6-disable-nis.patch"
559 - epatch "${FILESDIR}/python-3.5.5-hash-unaligned.patch"
560 -
561 - epatch_user
562 -
563 - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
564 - configure.ac \
565 - Lib/distutils/command/install.py \
566 - Lib/distutils/sysconfig.py \
567 - Lib/site.py \
568 - Lib/sysconfig.py \
569 - Lib/test/test_site.py \
570 - Makefile.pre.in \
571 - Modules/Setup.dist \
572 - Modules/getpath.c \
573 - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
574 -
575 - eautoreconf
576 -}
577 -
578 -src_configure() {
579 - local disable
580 - use gdbm || disable+=" gdbm"
581 - use ncurses || disable+=" _curses _curses_panel"
582 - use readline || disable+=" readline"
583 - use sqlite || disable+=" _sqlite3"
584 - use ssl || export PYTHON_DISABLE_SSL="1"
585 - use tk || disable+=" _tkinter"
586 - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
587 - export PYTHON_DISABLE_MODULES="${disable}"
588 -
589 - if ! use xml; then
590 - ewarn "You have configured Python without XML support."
591 - ewarn "This is NOT a recommended configuration as you"
592 - ewarn "may face problems parsing any XML documents."
593 - fi
594 -
595 - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
596 - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
597 - fi
598 -
599 - if [[ "$(gcc-major-version)" -ge 4 ]]; then
600 - append-flags -fwrapv
601 - fi
602 -
603 - filter-flags -malign-double
604 -
605 - # https://bugs.gentoo.org/show_bug.cgi?id=50309
606 - if is-flagq -O3; then
607 - is-flagq -fstack-protector-all && replace-flags -O3 -O2
608 - use hardened && replace-flags -O3 -O2
609 - fi
610 -
611 - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
612 - tc-export CXX
613 -
614 - # The configure script fails to use pkg-config correctly.
615 - # http://bugs.python.org/issue15506
616 - export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
617 -
618 - # Set LDFLAGS so we link modules with -lpython3.2 correctly.
619 - # Needed on FreeBSD unless Python 3.2 is already installed.
620 - # Please query BSD team before removing this!
621 - append-ldflags "-L."
622 -
623 - local dbmliborder
624 - if use gdbm; then
625 - dbmliborder+="${dbmliborder:+:}gdbm"
626 - fi
627 -
628 - BUILD_DIR="${WORKDIR}/${CHOST}"
629 - mkdir -p "${BUILD_DIR}" || die
630 - cd "${BUILD_DIR}" || die
631 -
632 - ECONF_SOURCE="${S}" OPT="" \
633 - econf \
634 - --with-fpectl \
635 - --enable-shared \
636 - $(use_enable ipv6) \
637 - $(use_with threads) \
638 - --infodir='${prefix}/share/info' \
639 - --mandir='${prefix}/share/man' \
640 - --with-computed-gotos \
641 - --with-dbmliborder="${dbmliborder}" \
642 - --with-libc="" \
643 - --enable-loadable-sqlite-extensions \
644 - --with-system-expat \
645 - --with-system-ffi \
646 - --without-ensurepip
647 -
648 - if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
649 - eerror "configure has detected that the sem_open function is broken."
650 - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
651 - die "Broken sem_open function (bug 496328)"
652 - fi
653 -}
654 -
655 -src_compile() {
656 - # Ensure sed works as expected
657 - # https://bugs.gentoo.org/594768
658 - local -x LC_ALL=C
659 -
660 - # Avoid invoking pgen for cross-compiles.
661 - touch Include/graminit.h Python/graminit.c || die
662 -
663 - cd "${BUILD_DIR}" || die
664 -
665 - emake CPPFLAGS= CFLAGS= LDFLAGS=
666 -
667 - # Work around bug 329499. See also bug 413751 and 457194.
668 - if has_version dev-libs/libffi[pax_kernel]; then
669 - pax-mark E python
670 - else
671 - pax-mark m python
672 - fi
673 -}
674 -
675 -src_test() {
676 - # Tests will not work when cross compiling.
677 - if tc-is-cross-compiler; then
678 - elog "Disabling tests due to crosscompiling."
679 - return
680 - fi
681 -
682 - cd "${BUILD_DIR}" || die
683 -
684 - # Skip failing tests.
685 - local skipped_tests="gdb"
686 -
687 - for test in ${skipped_tests}; do
688 - mv "${S}"/Lib/test/test_${test}.py "${T}"
689 - done
690 -
691 - local -x PYTHONDONTWRITEBYTECODE=
692 - emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
693 - local result=$?
694 -
695 - for test in ${skipped_tests}; do
696 - mv "${T}/test_${test}.py" "${S}"/Lib/test
697 - done
698 -
699 - elog "The following tests have been skipped:"
700 - for test in ${skipped_tests}; do
701 - elog "test_${test}.py"
702 - done
703 -
704 - elog "If you would like to run them, you may:"
705 - elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'"
706 - elog "and run the tests separately."
707 -
708 - if [[ ${result} -ne 0 ]]; then
709 - die "emake test failed"
710 - fi
711 -}
712 -
713 -src_install() {
714 - local libdir=${ED}/usr/$(get_libdir)/python${PYVER}
715 -
716 - cd "${BUILD_DIR}" || die
717 -
718 - emake DESTDIR="${D}" altinstall
719 -
720 - sed \
721 - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
722 - -e "s/\(PY_LDFLAGS=\).*/\1/" \
723 - -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
724 -
725 - # Fix collisions between different slots of Python.
726 - rm -f "${ED}usr/$(get_libdir)/libpython3.so"
727 -
728 - # Cheap hack to get version with ABIFLAGS
729 - local abiver=$(cd "${ED}usr/include"; echo python*)
730 - if [[ ${abiver} != python${PYVER} ]]; then
731 - # Replace python3.X with a symlink to python3.Xm
732 - rm "${ED}usr/bin/python${PYVER}" || die
733 - dosym "${abiver}" "/usr/bin/python${PYVER}"
734 - # Create python3.X-config symlink
735 - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
736 - # Create python-3.5m.pc symlink
737 - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
738 - fi
739 -
740 - use elibc_uclibc && rm -fr "${libdir}/test"
741 - use sqlite || rm -fr "${libdir}/"{sqlite3,test/test_sqlite*}
742 - use tk || rm -fr "${ED}usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*}
743 -
744 - use threads || rm -fr "${libdir}/multiprocessing"
745 - use wininst || rm -f "${libdir}/distutils/command/"wininst-*.exe
746 -
747 - dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS}
748 -
749 - if use examples; then
750 - insinto /usr/share/doc/${PF}/examples
751 - find "${S}"/Tools -name __pycache__ -print0 | xargs -0 rm -fr
752 - doins -r "${S}"/Tools
753 - fi
754 - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
755 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
756 - emake --no-print-directory -s -f - 2>/dev/null)
757 - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
758 -
759 - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
760 - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
761 - sed \
762 - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
763 - -e "s:@PYDOC@:pydoc${PYVER}:" \
764 - -i "${ED}etc/conf.d/pydoc-${PYVER}" "${ED}etc/init.d/pydoc-${PYVER}" || die "sed failed"
765 -
766 - # for python-exec
767 - local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR )
768 -
769 - # if not using a cross-compiler, use the fresh binary
770 - if ! tc-is-cross-compiler; then
771 - local -x PYTHON=./python
772 - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
773 - else
774 - vars=( PYTHON "${vars[@]}" )
775 - fi
776 -
777 - python_export "python${PYVER}" "${vars[@]}"
778 - echo "EPYTHON='${EPYTHON}'" > epython.py || die
779 - python_domodule epython.py
780 -
781 - # python-exec wrapping support
782 - local pymajor=${PYVER%.*}
783 - mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die
784 - # python and pythonX
785 - ln -s "../../../bin/${abiver}" \
786 - "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die
787 - ln -s "python${pymajor}" \
788 - "${D}${PYTHON_SCRIPTDIR}/python" || die
789 - # python-config and pythonX-config
790 - # note: we need to create a wrapper rather than symlinking it due
791 - # to some random dirname(argv[0]) magic performed by python-config
792 - cat > "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" <<-EOF || die
793 - #!/bin/sh
794 - exec "${abiver}-config" "\${@}"
795 - EOF
796 - chmod +x "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die
797 - ln -s "python${pymajor}-config" \
798 - "${D}${PYTHON_SCRIPTDIR}/python-config" || die
799 - # 2to3, pydoc, pyvenv
800 - ln -s "../../../bin/2to3-${PYVER}" \
801 - "${D}${PYTHON_SCRIPTDIR}/2to3" || die
802 - ln -s "../../../bin/pydoc${PYVER}" \
803 - "${D}${PYTHON_SCRIPTDIR}/pydoc" || die
804 - ln -s "../../../bin/pyvenv-${PYVER}" \
805 - "${D}${PYTHON_SCRIPTDIR}/pyvenv" || die
806 - # idle
807 - if use tk; then
808 - ln -s "../../../bin/idle${PYVER}" \
809 - "${D}${PYTHON_SCRIPTDIR}/idle" || die
810 - fi
811 -}
812 -
813 -pkg_preinst() {
814 - if has_version "<${CATEGORY}/${PN}-${PYVER}" && ! has_version ">=${CATEGORY}/${PN}-${PYVER}_alpha"; then
815 - python_updater_warning="1"
816 - fi
817 -}
818 -
819 -eselect_python_update() {
820 - if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then
821 - eselect python update
822 - fi
823 -
824 - if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then
825 - eselect python update --python${PV%%.*}
826 - fi
827 -}
828 -
829 -pkg_postinst() {
830 - eselect_python_update
831 -
832 - if [[ "${python_updater_warning}" == "1" ]]; then
833 - ewarn "You have just upgraded from an older version of Python."
834 - ewarn
835 - ewarn "Please adjust PYTHON_TARGETS (if so desired), and run emerge with the --newuse or --changed-use option to rebuild packages installing python modules."
836 - fi
837 -}
838 -
839 -pkg_postrm() {
840 - eselect_python_update
841 -}
842
843 diff --git a/profiles/package.mask b/profiles/package.mask
844 index 6ccd554f787..928884c0582 100644
845 --- a/profiles/package.mask
846 +++ b/profiles/package.mask
847 @@ -568,12 +568,6 @@ net-vpn/aiccu
848 # Removal in 30 days. Bug #681230.
849 net-misc/sjphone
850
851 -# Michał Górny <mgorny@g.o> (21 Mar 2019)
852 -# Upstream EOL-ed Python 3.4 on 2019-03-19. The last release fails
853 -# to build against openssl-1.1+.
854 -# Removal in 30 days. Bug #673960.
855 -=dev-lang/python-3.4*
856 -
857 # Miroslav Šulc <fordfrog@g.o> (19 Mar 2019)
858 # Depends on >=virtual/{jdk,jre}-11 which is masked
859 =www-servers/tomcat-9.0.17