Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/prefix:master commit in: dev-lang/python/
Date: Sun, 02 Aug 2020 11:14:14
Message-Id: 1596366821.eea50f475181d10fd91d4a7e1b890c23cd3a490c.grobian@gentoo
1 commit: eea50f475181d10fd91d4a7e1b890c23cd3a490c
2 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
3 AuthorDate: Sun Aug 2 11:13:41 2020 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Sun Aug 2 11:13:41 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=eea50f47
7
8 dev-lang/python: bump for security, drop/mask vulnerable versions
9
10 Package-Manager: Portage-2.3.100-prefix, Repoman-2.3.23
11 Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
12
13 dev-lang/python/Manifest | 17 +-
14 dev-lang/python/python-3.7.2.ebuild | 432 ---------------------
15 ...thon-3.7.7-r2.ebuild => python-3.7.8-r2.ebuild} | 6 +-
16 .../{python-3.8.3.ebuild => python-3.8.5.ebuild} | 7 +-
17 4 files changed, 12 insertions(+), 450 deletions(-)
18
19 diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
20 index 782b3511f8..0727452c09 100644
21 --- a/dev-lang/python/Manifest
22 +++ b/dev-lang/python/Manifest
23 @@ -1,18 +1,15 @@
24 DIST Python-2.7.16.tar.xz 12752104 BLAKE2B 7d6b5b853f9974d44e04dd35ecdffaab87511e183b4b01dd4f8f4ee109c4b4ab208f045708f69717be9d3a706aa078b71438ed482c062c0b89c12730eae074ae SHA512 16e814e8dcffc707b595ca2919bd2fa3db0d15794c63d977364652c4a5b92e90e72b8c9e1cc83b5020398bd90a1b397dbdd7cb931c49f1aa4af6ef95414b43e0
25 DIST Python-3.6.8.tar.xz 17212420 BLAKE2B e104b49a35492b622080ab81a446c0cdd1223e8ddf95c4e1b262762a027664b59f3e4deeda4ba7177115d780e48b6764a053acef640a645327df428d2e4820cd SHA512 b17867e451ebe662f50df83ed112d3656c089e7d750651ea640052b01b713b58e66aac9e082f71fd16f5b5510bc9b797f5ccd30f5399581e9aa406197f02938a
26 -DIST Python-3.7.2.tar.xz 17042320 BLAKE2B 79b06b7d38590b7ad00850a4323156bfee07c4cf8531cbc09d262c6eb38721e32b8b0591fc21017e56948dd81763e9061f118f204eda5b9cc0b84e7132b42979 SHA512 6cd2d6d8455558783b99d55985cd7b22d67b98f41a09b4fdd96f680a630a4e035220d2b903f8c59ed513aa5ffe6730fa947ddb55bb72ce36f0e945ef8af5d971
27 -DIST Python-3.7.7.tar.xz 17268888 BLAKE2B 5f16c9559249470a9e6c0aa686965e7d78ce0f7364b5d03fc9590613c7a5456f92835340e49bf9becbec18b18d1e5a6fc318b6e30f2349da3246a918cf8b05ff SHA512 ddc838a7b0c442c2e465616f20231f2b703ed6b69ed2dc17858aac8760814fdf7cff43d350d359300e47b6bb1f0bd38c31126b855e423a3a65ed06a8fa16d136
28 -DIST Python-3.8.3.tar.xz 17912964 BLAKE2B 9c415823f70bad97936e0472fc53a1b7650cbf0082da714266095dec74e0cd4a48c9477ad03fbb75fdc2cd8e41ef3aa5839e38fc69751720f5cb5c7fc77cce17 SHA512 3103bd8d944f3905eee3a2b52fd1f5c7dee380f9c5a99ad35a401fcba5a9117c3860ecec5cb47a92712c6549442fd2fa553a15c5657241dd09f5d00b9ed4f0f4
29 +DIST Python-3.7.8.tar.xz 17399552 BLAKE2B 4bf6c47b1132b6d31a79232002c4d38e2cd123ac05d52b21d6bfba5a4e19ec9130b8df8698d5ce6627e4297c4cf756643f036e694e36364c235306c72ef34bf8 SHA512 d2ba299e3cf8ed0f8fed9317f42bcd8d9af7e0e6175939b4be1be289c1658418bed17899e2608d762ffb15575021956cf6bf2054d7863c04b3bd7642f5b8c7ea
30 +DIST Python-3.8.5.tar.xz 18019640 BLAKE2B bb3e0566afe28759e4ab129ad0986a0fc5103514f2e2b22ff4aa3973c3173ebdd24d4267fbaf903841814a611fd9ea122673e5a1918934366e5c0efaef9d7517 SHA512 460cee65d7df7150694590575502d7f22e548ebfc99c8f8b363eef8bf30ee72e58d8ffacb1d607824f877f880eb9fd6775a508388029583e1e1df3380f3f9587
31 DIST python-gentoo-patches-2.7.16.tar.xz 13904 BLAKE2B 218b46f8656f4a792dcd47eabca6d59a1558276b77676544991ee75914cd76dda84c36f43e72e477b850dd4cb52374d289f20dccd244a3b52ae5debaf3363432 SHA512 83f90545231c663a34c6925352a357a2b15997ac0362578a1893304c5070b5251922585ae8bc1bafb68d306bcddd4cdba4b6406648d473bd3e980eef65fe3ecd
32 DIST python-gentoo-patches-3.6.8.tar.xz 11224 BLAKE2B 5fe38282bcf28df18e0bd37756c880ae191ea738dc92f1cf83f682cfdc52525b9c44287dc99191a73d75c90672ab501b56adf49515b35ff1fdee88c8dc07b175 SHA512 89e700663db25d6d78eee1d4bfdab686c5341a794062f3a63df3485ac0b58deb4b4885d24701f3ae138d06ca783be92e310e1100c6d633910c33732f3cb0d7df
33 -DIST python-gentoo-patches-3.7.2.tar.xz 9776 BLAKE2B fe451c3fb44a1ace4489d1bc68db9848b4227422fe9135659594248d057a8916e2abfe8e2677ef6efc9c962dbefe3ca7cd05cbd62b325d53eef6b05928f82017 SHA512 55e932624333b78b55e8981aaa7e7bfbddb635a61f594353a77a6bd5c2b57de31a4ee9ae04e072c4e2eb0fddd1c2702b4bd6133cf0a2c94ab35808df86550156
34 -DIST python-gentoo-patches-3.7.7.tar.xz 14644 BLAKE2B 1a377eac945310082ec9fa257bcb406c7eaf24b5e80469dd49e82a1bc0554b75394678609cae447cb0fc7a19059b29166bf110b6ed99a89a9919b3a56a323f87 SHA512 2c7fbcefd6f4d1674b78f3b67f2be3f1b168e08c318fefe8d4757f2d30c22477f5010ad6f2c0abb265d819ee667617f21f93e002242e216b4ee570200b0ddf74
35 -DIST python-gentoo-patches-3.8.3.tar.xz 10704 BLAKE2B 6fdd13139b1132313153af2de774abeca7c1fe9acb34a87e5d96875a4cbe8c22c201acbb11c15eeaf828493c32f6acd89e3b5d4012fa2c9d216da556aadb9f01 SHA512 6f67d77e8240983c0dd749620e5df81df5816b831032e190c82c8d73ea8a995daf2631640234a1350e483bd13276466457d110176612bfde3281d1b6a8bf97bb
36 +DIST python-gentoo-patches-3.7.8-r3.tar.xz 13232 BLAKE2B 9df47b1f61d08f62a80221bc48d73ec27cd74a9ade8219912c5b02eaea919b70d91b1154837cd03c0129a5839186e9c970167ca3398129c044c25c7853f1f920 SHA512 e1477d425cb6125ca2286d816f4aa4e9e3c789d6a4f4907bd7b78549598356cae5766f642e2cad9e7c3abe2e82c12cf3cb7db3513be68aa213cb64cc0abc678a
37 +DIST python-gentoo-patches-3.8.5.tar.xz 11280 BLAKE2B 163c577da75f4ec0ebe86b5a08bea96d5ae406020bd211439b1405c0f8a5dddc9422a9ea5b16eed195433cbec010d9def3126a578d3f9716325482216b9e4d62 SHA512 6b7f72b8deb87fb7a169e97391185823984b5e9c99ec5232504c670843fbe0ca76afe32fc3fbe1f850ec6c42e9325cf4697022f36f7b00a4028b324069dd4d5b
38 DIST python-prefix-2.7.16-gentoo-patches-r0.tar.xz 14636 BLAKE2B 54320f5197bb7adeca1e7c97447253e6535a11f380b6d66bc2ce46fa671fe23697aced8fd5619633a00e3ea19ae9dbc3ffe2981173d83dcab6b447d514555c43 SHA512 5380d9b92eb81603ec4d60ff9c940a3a061c06bd6f593d5837e600da5d4417b529d20d98d758aa95cef18fac10bdb5c33f90fa943deb15fdaf048492cf286581
39 DIST python-prefix-3.6.8-gentoo-patches-r0.tar.xz 12732 BLAKE2B 82c91f451aff1dcda6182dfc05f5566261d5ffa36bbf5527931a442e46563220884ca1fb192a7226411f5e0f7c59f347f6f1ed1ffa34aec0eb5208b22cc3f756 SHA512 e52587d5c9169b75f79e942cf5bbade9e499335f7e242ec262bc678e136f1d857803d4a8cb9630fdb8847ea1ab4c293aebf2d498e630984accea48ee0c3723f5
40 -DIST python-prefix-3.7.2-gentoo-patches-r0.tar.xz 12568 BLAKE2B 1894b4a6081c8c6184ed10d405f7d320a25978f5c94be6b43d83a62afb125162fc2b12c4b06552a90bd92866a9a00b259f6c4894b41e1918c5315639b3866771 SHA512 cd2f6cfd65464ebdda7629ce2ff3e204c645bfa05dcecfe9cf02327049733366e069f1cd1291e6733946ad592a7dcd1d4a67877e96a1f41e232a01561b269c95
41 -DIST python-prefix-gentoo-3.7.7-patches-r2.tar.xz 13104 BLAKE2B 3d171aedbb482ccead945f40dd9d6f32c7cde3314c83513bd34ab8da509b589d88b4bf0698b40733a4b933ca6b1ada530293d84c01935f90113e3cdf02f314ba SHA512 3ca3b53a111832e7251a1f8ba8786f8a74df04d4123daa03b5abaeb7d2d70ce0d24062531e4317a0a6398980510fae95eb88704b7092b5aa4f87dcb68332757b
42 -DIST python-prefix-gentoo-3.8.3-patches-r1.tar.xz 9040 BLAKE2B 4eafed41d303bd0caedc1cc4ae5e6f6ad6a394591e7a0e8cda2b3df3d265043d95727d135160946fbcb90bd61017979d34ec39add9750cb4e0af2bde9b2c0f58 SHA512 58e2194297c4fa5b215b0875f91b3f05cfe0c624dbbd6bdd99d936c1db03921ab6c2548cddf0701166a6600244c8f97644568ceb15209758bf9d3925aca28b1d
43 +DIST python-prefix-gentoo-3.7.8-patches-r0.tar.xz 13068 BLAKE2B 32e8baf8a0d5bdcb973ba880dbc35a3bd5c6cba88bf2f647e18fc4839fe8bae94658e403e050bcecc5dd5ddadf5beaf8a489829bc2835589d77b968628c29233 SHA512 1a7c17424edc43b36867d45ac019f48734444328bf17b5eddd07a2b63ef26e74147dea83e1286a9e45372acc85640a8d72fed33cbe551170acd785fe12b43d74
44 +DIST python-prefix-gentoo-3.8.5-patches-r0.tar.xz 8948 BLAKE2B e2da338a00a239355e9d4c79bd46c78b54671017120ff79497a9a95a8e3c3096870a8667667f633de6216e83b574c8e65a8e7bfafd51c84595dca6fe9ccb78ed SHA512 8ae712782a255da8bf451b063e86e92c34a32bccce8ac00d76c0a4b0087cee8ea085f80827b49ec61fea18dc4924d4780c6d2f577c8f5d982d6482dde6e02091
45 DIST python2-cygwinports-7be648659ef46f33db6913ca0ca5a809219d5629.zip 9199 BLAKE2B 85803bc1677bd16650cb5fc4a2c54fdac0228326f25cfba4fcd098ac9d689312d3e0dde6fca57f720d5235361d6462461cf018325c23fda9139e0f1683055aff SHA512 cabc21d2d7379daf1f4bafe7ab00b70e5b4f707d3102496b96ff0dfdced26347097ad771c69e0b9488b7c54b1ef36f9bc019bee72f1ffcbb55dcd0e71095edfe
46 DIST python36-cygwinports-f11d606e98b00f5b143cba92bfee8b7f5ba779b0.zip 15874 BLAKE2B 4d6759dfa7afef796abb25dac94a8dac955638960c0335b0be59d88438d9ac3c1fa3e6e51280ff0ac8f30a77f7129f4d784791f84de80bd5fb57fde3e11fa0e8 SHA512 5d0a286a9444019d70a831432794a3d44ea981f141c327118679c1f16e694525b7d469138b174f1afe02ce069fc8d8ec5be0c924faab04ec24e9f35ab453acc2
47 -DIST python37-cygwinports-941cf340422fe6da6dc48756c1bcbadd7da58f9d.tar.gz 7945 BLAKE2B 6e6ea4d9ca97b04f1a6b17bf40c2f28d2f1d47b093d85f5989e89a09758719e9ca148254ffbe2053dd551b998e5e510f256cce7870c196e37378c9f8a6d5bc86 SHA512 9b79962aed79af742c242c82ddd900cbabd6727d365e107fa3106fd63e169944424819037ee0f7c72898f09c853308572813f31da3c920a2be244c8d53c00769
48 +DIST python37-cygwinports-6df749d21f131eeafa485d40eb1294b28d30ba6a.tar.gz 8102 BLAKE2B 7331142fc9c2fd71e5ec5ae45d6aaebe8e39430b5719d01a673966a5ba10b344bba924d6f7f05cc444cedbf28b11cef2db1c2613ebf45fcceb90354895b9b42c SHA512 da669c3a518af73c4caa7c9cc35af2fd971f98e7ba9b91ae0223b2f031e74acc70644fb2411ad5a8d4b39e2c449b5c256bea4877d957030cb81c0d08e84b38dd
49
50 diff --git a/dev-lang/python/python-3.7.2.ebuild b/dev-lang/python/python-3.7.2.ebuild
51 deleted file mode 100644
52 index 0fed712767..0000000000
53 --- a/dev-lang/python/python-3.7.2.ebuild
54 +++ /dev/null
55 @@ -1,432 +0,0 @@
56 -# Copyright 1999-2019 Gentoo Authors
57 -# Distributed under the terms of the GNU General Public License v2
58 -
59 -EAPI="6"
60 -WANT_LIBTOOL="none"
61 -
62 -inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs epatch
63 -
64 -MY_P="Python-${PV}"
65 -PATCHSET_VERSION="3.7.2"
66 -PREFIX_PATCHREV="${PV}-gentoo-patches-r0"
67 -CYGWINPORTS_GITREV="941cf340422fe6da6dc48756c1bcbadd7da58f9d"
68 -
69 -DESCRIPTION="An interpreted, interactive, object-oriented programming language"
70 -HOMEPAGE="https://www.python.org/"
71 -SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
72 - https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz
73 - https://dev.gentoo.org/~grobian/distfiles/python-prefix-${PREFIX_PATCHREV}.tar.xz"
74 -
75 -[[ -n ${CYGWINPORTS_GITREV} ]] &&
76 -SRC_URI+=" elibc_Cygwin? (
77 - https://github.com/cygwinports/python37/archive/${CYGWINPORTS_GITREV}.tar.gz
78 - -> python37-cygwinports-${CYGWINPORTS_GITREV}.tar.gz )"
79 -
80 -LICENSE="PSF-2"
81 -SLOT="3.7/3.7m"
82 -KEYWORDS="~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
83 -IUSE="aqua bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml"
84 -RESTRICT="!test? ( test )"
85 -
86 -# Do not add a dependency on dev-lang/python to this ebuild.
87 -# If you need to apply a patch which requires python for bootstrapping, please
88 -# run the bootstrap code on your dev box and include the results in the
89 -# patchset. See bug 447752.
90 -
91 -RDEPEND="app-arch/bzip2:0=
92 - app-arch/xz-utils:0=
93 - kernel_linux? ( sys-apps/util-linux:0= )
94 - >=sys-libs/zlib-1.1.3:0=
95 - virtual/libffi:=
96 - virtual/libintl
97 - gdbm? ( sys-libs/gdbm:0=[berkdb] )
98 - ncurses? ( >=sys-libs/ncurses-5.2:0= )
99 - readline? ( >=sys-libs/readline-4.1:0= )
100 - sqlite? ( >=dev-db/sqlite-3.3.8:3= )
101 - ssl? (
102 - !libressl? ( dev-libs/openssl:0= )
103 - libressl? ( dev-libs/libressl:0= )
104 - )
105 - tk? (
106 - >=dev-lang/tcl-8.0:0=
107 - >=dev-lang/tk-8.0:0=[-aqua]
108 - dev-tcltk/blt:0=
109 - dev-tcltk/tix
110 - )
111 - xml? ( >=dev-libs/expat-2.1:0= )
112 - !!<sys-apps/sandbox-2.6-r1"
113 -# bluetooth requires headers from bluez
114 -DEPEND="${RDEPEND}
115 - bluetooth? ( net-wireless/bluez )
116 - test? ( app-arch/xz-utils[extra-filters(+)] )
117 - virtual/pkgconfig
118 - !sys-devel/gcc[libffi(-)]"
119 -RDEPEND+=" !build? ( app-misc/mime-types )"
120 -PDEPEND=">=app-eselect/eselect-python-20140125-r1"
121 -
122 -S="${WORKDIR}/${MY_P}"
123 -PYVER=${SLOT%/*}
124 -
125 -src_prepare() {
126 - # Ensure that internal copies of expat, libffi and zlib are not used.
127 - rm -fr Modules/expat
128 - rm -fr Modules/_ctypes/libffi*
129 - rm -fr Modules/zlib
130 -
131 - local PATCHES=(
132 - "${WORKDIR}/patches"
133 - )
134 -
135 - default
136 -
137 - # Prefix' round of patches
138 - EPATCH_EXCLUDE="${excluded_patches}" EPATCH_SUFFIX="patch" \
139 - epatch "${WORKDIR}"/python-prefix-${PREFIX_PATCHREV}
140 -
141 - if [[ -n ${CYGWINPORTS_GITREV} ]] && use elibc_Cygwin; then
142 - local p d="${WORKDIR}/python37-${CYGWINPORTS_GITREV}"
143 - for p in $(
144 - sed -ne '/PATCH_URI="/,/"/{s/.*="//;s/".*$//;p}' \
145 - < "${d}/python3.cygport"
146 - ); do
147 - # dropped by 01_all_prefix-no-patch-invention.patch
148 - [[ ${p} == *-tkinter-* ]] && continue
149 - epatch "${d}/${p}"
150 - done
151 - fi
152 -
153 - # we provide a fully working readline also on Darwin, so don't force
154 - # usage of less functional libedit
155 - sed -i -e 's/__APPLE__/__NO_MUCKING_AROUND__/g' Modules/readline.c || die
156 -
157 - # We may have wrapped /usr/ccs/bin/nm on AIX for long TMPDIR.
158 - sed -i -e "/^NM=.*nm$/s,^.*$,NM=$(tc-getNM)," Modules/makexp_aix || die
159 -
160 - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
161 - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
162 -
163 - # workaround a development build env problem and muck around
164 - # framework install to get the best of both worlds (non-standard)
165 - sed -i \
166 - -e "s:FRAMEWORKINSTALLAPPSPREFIX=\":FRAMEWORKINSTALLAPPSPREFIX=\"${EPREFIX}:" \
167 - -e '/RUNSHARED=DYLD_FRAMEWORK_PATH/s/FRAMEWORK/LIBRARY/g' \
168 - configure.ac configure || die
169 - sed -i -e '/find/s/$/ || true/' Mac/PythonLauncher/Makefile.in || die
170 -
171 - # workaround a problem on ppc-macos with >=GCC-8 where dtoa gets
172 - # miscompiled when optimisation is being used
173 - if [[ ${CHOST} == powerpc*-darwin* ]] && \
174 - tc-is-gcc && [[ $(gcc-major-version) -ge 8 ]] ;
175 - then
176 - sed -i \
177 - -e '/^CFLAGS_ALIASING=/s/$/ -fno-tree-ter/' Makefile.pre.in || die
178 - fi
179 -
180 - # Darwin 9's kqueue seems to act up (at least at this stage), so
181 - # make Python's selectors resort to poll() or select()
182 - if [[ ${CHOST} == powerpc*-darwin* ]] ; then
183 - sed -i \
184 - -e 's/KQUEUE/KQUEUE_DISABLED/' \
185 - configure.ac configure || die
186 - fi
187 -
188 - eautoreconf
189 -}
190 -
191 -src_configure() {
192 - local disable
193 - # disable automagic bluetooth headers detection
194 - use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
195 - use gdbm || disable+=" gdbm"
196 - use ncurses || disable+=" _curses _curses_panel"
197 - use readline || disable+=" readline"
198 - use sqlite || disable+=" _sqlite3"
199 - use ssl || export PYTHON_DISABLE_SSL="1"
200 - use tk || disable+=" _tkinter"
201 - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
202 - export PYTHON_DISABLE_MODULES="${disable}"
203 -
204 - if ! use xml; then
205 - ewarn "You have configured Python without XML support."
206 - ewarn "This is NOT a recommended configuration as you"
207 - ewarn "may face problems parsing any XML documents."
208 - fi
209 -
210 - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
211 - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
212 - fi
213 -
214 - if [[ "$(gcc-major-version)" -ge 4 ]]; then
215 - append-flags -fwrapv
216 - fi
217 -
218 - filter-flags -malign-double
219 -
220 - # https://bugs.gentoo.org/show_bug.cgi?id=50309
221 - if is-flagq -O3; then
222 - is-flagq -fstack-protector-all && replace-flags -O3 -O2
223 - use hardened && replace-flags -O3 -O2
224 - fi
225 -
226 - # Export CC so even AIX will use gcc instead of xlc_r.
227 - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
228 - tc-export CC CXX
229 -
230 - # Set LDFLAGS so we link modules with -lpython3.2 correctly.
231 - # Needed on FreeBSD unless Python 3.2 is already installed.
232 - # Please query BSD team before removing this!
233 - append-ldflags "-L."
234 -
235 - # make sure setup.py considers Prefix' paths before system ones
236 - use prefix && append-cppflags -I"${EPREFIX}"/usr/include
237 - use prefix && append-ldflags -L"${EPREFIX}"/lib -L"${EPREFIX}"/usr/lib
238 -
239 - local dbmliborder
240 - if use gdbm; then
241 - dbmliborder+="${dbmliborder:+:}gdbm"
242 - fi
243 -
244 - if use aqua ; then
245 - ECONF_SOURCE="${S}" OPT="" \
246 - econf \
247 - --enable-framework="${EPREFIX}"/usr/lib \
248 - --config-cache
249 - fi
250 -
251 - local myeconfargs=(
252 - $(use aqua && echo --config-cache) \
253 - --enable-shared
254 - $(use_enable ipv6)
255 - --infodir='${prefix}/share/info'
256 - --mandir='${prefix}/share/man'
257 - --with-computed-gotos
258 - --with-dbmliborder="${dbmliborder}"
259 - --with-libc=
260 - --enable-loadable-sqlite-extensions
261 - --without-ensurepip
262 - --with-system-expat
263 - --with-system-ffi
264 - )
265 -
266 - OPT="" econf "${myeconfargs[@]}"
267 -}
268 -
269 -src_compile() {
270 - # Ensure sed works as expected
271 - # https://bugs.gentoo.org/594768
272 - local -x LC_ALL=C
273 -
274 - emake CPPFLAGS= CFLAGS= LDFLAGS=
275 -
276 - # Work around bug 329499. See also bug 413751 and 457194.
277 - if has_version dev-libs/libffi[pax_kernel]; then
278 - pax-mark E python
279 - else
280 - pax-mark m python
281 - fi
282 -}
283 -
284 -src_test() {
285 - # Tests will not work when cross compiling.
286 - if tc-is-cross-compiler; then
287 - elog "Disabling tests due to crosscompiling."
288 - return
289 - fi
290 -
291 - # Skip failing tests.
292 - local skipped_tests="gdb"
293 -
294 - for test in ${skipped_tests}; do
295 - mv "${S}"/Lib/test/test_${test}.py "${T}"
296 - done
297 -
298 - # bug 660358
299 - local -x COLUMNS=80
300 -
301 - local -x PYTHONDONTWRITEBYTECODE=
302 -
303 - emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
304 - local result=$?
305 -
306 - for test in ${skipped_tests}; do
307 - mv "${T}/test_${test}.py" "${S}"/Lib/test
308 - done
309 -
310 - elog "The following tests have been skipped:"
311 - for test in ${skipped_tests}; do
312 - elog "test_${test}.py"
313 - done
314 -
315 - elog "If you would like to run them, you may:"
316 - elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
317 - elog "and run the tests separately."
318 -
319 - if [[ ${result} -ne 0 ]]; then
320 - die "emake test failed"
321 - fi
322 -}
323 -
324 -src_install() {
325 - local libdir=${ED%/}/usr/lib/python${PYVER}
326 -
327 - emake DESTDIR="${D}" altinstall
328 -
329 - if use aqua ; then
330 - # avoid config.status to be triggered
331 - find Mac -name "Makefile" -exec touch \{\} + || die
332 -
333 - # Python_Launcher is kind of a wrapper, and we should fix it for
334 - # Prefix (it uses /usr/bin/pythonw) so useless
335 - # IDLE doesn't run, no idea, but definitely not used
336 - emake DESTDIR="${D}" -C Mac install_Python || die
337 - rmdir "${ED}"/Applications/Python* || die
338 - rmdir "${ED}"/Applications || die
339 -
340 - local fwdir=/usr/$(get_libdir)/Python.framework/Versions/${PYVER}
341 - ln -s "${EPREFIX}"/usr/include/python${PYVER} \
342 - "${ED}${fwdir}"/Headers || die
343 - ln -s "${EPREFIX}"/usr/lib/libpython${PYVER}.dylib \
344 - "${ED}${fwdir}"/Python || die
345 - fi
346 -
347 - sed \
348 - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
349 - -e "s/\(PY_LDFLAGS=\).*/\1/" \
350 - -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
351 -
352 - # Fix collisions between different slots of Python.
353 - rm -f "${ED}usr/$(get_libdir)/libpython3.so"
354 -
355 - if use elibc_Cygwin; then
356 - # We may recreate symlinks, but without any .exe extension. Cygwin
357 - # can resolv either without it, so just drop .exe from shebangs:
358 - sed -i -e '1s/\.exe//' "$ED"/usr/bin/* || die
359 - fi
360 - sed \
361 - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
362 - -e "s/\(PY_LDFLAGS=\).*/\1/" \
363 - -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
364 -
365 - # Fix collisions between different slots of Python.
366 - rm -f "${ED%/}/usr/$(get_libdir)/libpython3.so"
367 -
368 - # Cheap hack to get version with ABIFLAGS
369 - local abiver=$(cd "${ED%/}/usr/include"; echo python*)
370 - if [[ ${abiver} != python${PYVER} ]]; then
371 - # Replace python3.X with a symlink to python3.Xm
372 - rm "${ED%/}/usr/bin/python${PYVER}" || die
373 - dosym "${abiver}" "/usr/bin/python${PYVER}"
374 - # Create python3.X-config symlink
375 - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
376 - # Create python-3.5m.pc symlink
377 - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
378 - fi
379 -
380 - # python seems to get rebuilt in src_install (bug 569908)
381 - # Work around it for now.
382 - if has_version dev-libs/libffi[pax_kernel]; then
383 - pax-mark E "${ED%/}/usr/bin/${abiver}"
384 - else
385 - pax-mark m "${ED%/}/usr/bin/${abiver}"
386 - fi
387 -
388 - use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
389 - use tk || rm -r "${ED%/}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
390 -
391 - use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
392 -
393 - dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS}
394 -
395 - if use examples; then
396 - insinto /usr/share/doc/${PF}/examples
397 - find "${S}"/Tools -name __pycache__ -print0 | xargs -0 rm -fr
398 - doins -r "${S}"/Tools
399 - fi
400 - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
401 - if use aqua ; then
402 - # we do framework, so the emake trick below returns a pathname
403 - # since that won't work here, use a (cheap) trick instead
404 - local libname=libpython${PYVER}
405 - else
406 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
407 - emake --no-print-directory -s -f - 2>/dev/null)
408 - fi
409 - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
410 -
411 - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
412 - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
413 - sed \
414 - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
415 - -e "s:@PYDOC@:pydoc${PYVER}:" \
416 - -i "${ED%/}/etc/conf.d/pydoc-${PYVER}" "${ED%/}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
417 -
418 - # for python-exec
419 - local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR )
420 -
421 - # if not using a cross-compiler, use the fresh binary
422 - if ! tc-is-cross-compiler; then
423 - local -x PYTHON=./python$(sed -n '/BUILDEXE=/s/^.*=\s\+//p' Makefile)
424 - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
425 - local -x DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH+${DYLD_LIBRARY_PATH}:}${PWD}
426 - else
427 - vars=( PYTHON "${vars[@]}" )
428 - fi
429 -
430 - python_export "python${PYVER}" "${vars[@]}"
431 - echo "EPYTHON='${EPYTHON}'" > epython.py || die
432 - python_domodule epython.py
433 -
434 - # python-exec wrapping support
435 - local pymajor=${PYVER%.*}
436 - mkdir -p "${D%/}${PYTHON_SCRIPTDIR}" || die
437 - # python and pythonX
438 - ln -s "../../../bin/${abiver}" "${D%/}${PYTHON_SCRIPTDIR}/python${pymajor}" || die
439 - ln -s "python${pymajor}" "${D%/}${PYTHON_SCRIPTDIR}/python" || die
440 - # python-config and pythonX-config
441 - # note: we need to create a wrapper rather than symlinking it due
442 - # to some random dirname(argv[0]) magic performed by python-config
443 - cat > "${D%/}${PYTHON_SCRIPTDIR}/python${pymajor}-config" <<-EOF || die
444 - #!/bin/sh
445 - exec "${abiver}-config" "\${@}"
446 - EOF
447 - chmod +x "${D%/}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die
448 - ln -s "python${pymajor}-config" "${D%/}${PYTHON_SCRIPTDIR}/python-config" || die
449 - # 2to3, pydoc, pyvenv
450 - ln -s "../../../bin/2to3-${PYVER}" "${D%/}${PYTHON_SCRIPTDIR}/2to3" || die
451 - ln -s "../../../bin/pydoc${PYVER}" "${D%/}${PYTHON_SCRIPTDIR}/pydoc" || die
452 - ln -s "../../../bin/pyvenv-${PYVER}" "${D%/}${PYTHON_SCRIPTDIR}/pyvenv" || die
453 - # idle
454 - if use tk; then
455 - ln -s "../../../bin/idle${PYVER}" "${D%/}${PYTHON_SCRIPTDIR}/idle" || die
456 - fi
457 -}
458 -
459 -pkg_preinst() {
460 - if has_version "<${CATEGORY}/${PN}-${PYVER}" && ! has_version ">=${CATEGORY}/${PN}-${PYVER}_alpha"; then
461 - python_updater_warning="1"
462 - fi
463 -}
464 -
465 -eselect_python_update() {
466 - if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then
467 - eselect python update
468 - fi
469 -
470 - if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then
471 - eselect python update --python${PV%%.*}
472 - fi
473 -}
474 -
475 -pkg_postinst() {
476 - eselect_python_update
477 -
478 - if [[ "${python_updater_warning}" == "1" ]]; then
479 - ewarn "You have just upgraded from an older version of Python."
480 - ewarn
481 - ewarn "Please adjust PYTHON_TARGETS (if so desired), and run emerge with the --newuse or --changed-use option to rebuild packages installing python modules."
482 - fi
483 -}
484 -
485 -pkg_postrm() {
486 - eselect_python_update
487 -}
488
489 diff --git a/dev-lang/python/python-3.7.7-r2.ebuild b/dev-lang/python/python-3.7.8-r2.ebuild
490 similarity index 98%
491 rename from dev-lang/python/python-3.7.7-r2.ebuild
492 rename to dev-lang/python/python-3.7.8-r2.ebuild
493 index fdd913966a..fc085055b7 100644
494 --- a/dev-lang/python/python-3.7.7-r2.ebuild
495 +++ b/dev-lang/python/python-3.7.8-r2.ebuild
496 @@ -8,9 +8,9 @@ inherit autotools flag-o-matic multilib pax-utils python-utils-r1 toolchain-func
497
498 MY_P="Python-${PV}"
499 PYVER=$(ver_cut 1-2)
500 -PATCHSET="python-gentoo-patches-3.7.7"
501 -PREFIX_PATCHSET="python-prefix-gentoo-3.7.7-patches-r2"
502 -CYGWINPORTS_GITREV="941cf340422fe6da6dc48756c1bcbadd7da58f9d"
503 +PATCHSET="python-gentoo-patches-3.7.8-r3"
504 +PREFIX_PATCHSET="python-prefix-gentoo-3.7.8-patches-r0"
505 +CYGWINPORTS_GITREV="6df749d21f131eeafa485d40eb1294b28d30ba6a"
506
507 DESCRIPTION="An interpreted, interactive, object-oriented programming language"
508 HOMEPAGE="https://www.python.org/"
509
510 diff --git a/dev-lang/python/python-3.8.3.ebuild b/dev-lang/python/python-3.8.5.ebuild
511 similarity index 98%
512 rename from dev-lang/python/python-3.8.3.ebuild
513 rename to dev-lang/python/python-3.8.5.ebuild
514 index 99b214f27b..4b87c91b40 100644
515 --- a/dev-lang/python/python-3.8.3.ebuild
516 +++ b/dev-lang/python/python-3.8.5.ebuild
517 @@ -8,8 +8,8 @@ inherit autotools flag-o-matic multilib pax-utils python-utils-r1 toolchain-func
518
519 MY_P="Python-${PV}"
520 PYVER=$(ver_cut 1-2)
521 -PATCHSET="python-gentoo-patches-3.8.3"
522 -PREFIX_PATCHSET="python-prefix-gentoo-3.8.3-patches-r1"
523 +PATCHSET="python-gentoo-patches-${PV}"
524 +PREFIX_PATCHSET="python-prefix-gentoo-${PV}-patches-r0"
525
526 DESCRIPTION="An interpreted, interactive, object-oriented programming language"
527 HOMEPAGE="https://www.python.org/"
528 @@ -78,9 +78,6 @@ src_prepare() {
529 # usage of less functional libedit
530 sed -i -e 's/__APPLE__/__NO_MUCKING_AROUND__/g' Modules/readline.c || die
531
532 - # missed patch
533 - sed -i -e '/is_macosx_sdk_path(zlib_h):/s/MACOS/False/' setup.py || die
534 -
535 # We may have wrapped /usr/ccs/bin/nm on AIX for long TMPDIR.
536 sed -i -e "/^NM=.*nm$/s,^.*$,NM=$(tc-getNM)," Modules/makexp_aix || die