python: update to 3.8.0

%ci:reset-backlog
This commit is contained in:
Leonid Pliushch 2019-11-17 21:25:25 +02:00
parent 5cc58be010
commit 2900e195aa
3 changed files with 68 additions and 22 deletions

View File

@ -0,0 +1,57 @@
From 84fdbc156ed424d030686de350fbfc6c3593263f Mon Sep 17 00:00:00 2001
Message-Id: <84fdbc156ed424d030686de350fbfc6c3593263f.1537028533.git.jan.steffens@gmail.com>
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Sat, 15 Sep 2018 18:22:06 +0200
Subject: [PATCH] compileall: Fix ddir when recursing
---
Lib/compileall.py | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/Lib/compileall.py b/Lib/compileall.py
index 72592126d7..70e246fd96 100644
--- a/Lib/compileall.py
+++ b/Lib/compileall.py
@@ -45,12 +45,16 @@ def _walk_dir(dir, ddir=None, maxlevels=10, quiet=0):
else:
dfile = None
if not os.path.isdir(fullname):
- yield fullname
+ yield fullname, ddir
elif (maxlevels > 0 and name != os.curdir and name != os.pardir and
os.path.isdir(fullname) and not os.path.islink(fullname)):
yield from _walk_dir(fullname, ddir=dfile,
maxlevels=maxlevels - 1, quiet=quiet)
+def _compile_one(file_ddir, *args, **kwargs):
+ file, ddir = file_ddir
+ return compile_file(file, ddir, *args, **kwargs)
+
def compile_dir(dir, maxlevels=10, ddir=None, force=False, rx=None,
quiet=0, legacy=False, optimize=-1, workers=1,
invalidation_mode=py_compile.PycInvalidationMode.TIMESTAMP):
@@ -79,17 +83,17 @@ def compile_dir(dir, maxlevels=10, ddir=None, force=False, rx=None,
if workers is not None and workers != 1 and ProcessPoolExecutor is not None:
workers = workers or None
with ProcessPoolExecutor(max_workers=workers) as executor:
- results = executor.map(partial(compile_file,
- ddir=ddir, force=force,
+ results = executor.map(partial(_compile_one,
+ force=force,
rx=rx, quiet=quiet,
legacy=legacy,
optimize=optimize,
invalidation_mode=invalidation_mode),
files)
success = min(results, default=True)
else:
- for file in files:
- if not compile_file(file, ddir, force, rx, quiet,
+ for file_ddir in files:
+ if not _compile_one(file_ddir, force, rx, quiet,
legacy, optimize, invalidation_mode):
success = False
return success
--
2.18.0

View File

@ -1,11 +1,10 @@
TERMUX_PKG_HOMEPAGE=https://python.org/
TERMUX_PKG_DESCRIPTION="Python 3 programming language intended to enable clear programs"
TERMUX_PKG_LICENSE="PythonPL"
_MAJOR_VERSION=3.7
TERMUX_PKG_VERSION=${_MAJOR_VERSION}.5
TERMUX_PKG_REVISION=3
_MAJOR_VERSION=3.8
TERMUX_PKG_VERSION=${_MAJOR_VERSION}.0
TERMUX_PKG_SRCURL=https://www.python.org/ftp/python/${TERMUX_PKG_VERSION}/Python-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_SHA256=e85a76ea9f3d6c485ec1780fca4e500725a4a7bbc63c78ebc44170de9b619d94
TERMUX_PKG_SHA256=b356244e13fb5491da890b35b13b2118c3122977c2cd825e3eb6e7d462030d84
TERMUX_PKG_DEPENDS="gdbm, libandroid-support, libbz2, libcrypt, libffi, liblzma, libsqlite, ncurses, ncurses-ui-libs, openssl, readline, zlib"
TERMUX_PKG_SUGGESTS="python-tkinter"
@ -55,11 +54,6 @@ termux_step_post_make_install() {
ln -sf pydoc3 pydoc)
(cd $TERMUX_PREFIX/share/man/man1
ln -sf python3.1 python.1)
# Save away pyconfig.h so that the python-dev subpackage does not take it.
# It is required by ensurepip so bundled with the main python package.
# Copied back in termux_step_post_massage() after the python-dev package has been built.
mv $TERMUX_PREFIX/include/python${_MAJOR_VERSION}m/pyconfig.h $TERMUX_PKG_TMPDIR/pyconfig.h
}
termux_step_post_massage() {
@ -70,11 +64,6 @@ termux_step_post_massage() {
fi
done
# Restore pyconfig.h saved away in termux_step_post_make_install() above:
mkdir -p $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/include/python${_MAJOR_VERSION}m/
cp $TERMUX_PKG_TMPDIR/pyconfig.h $TERMUX_PREFIX/include/python${_MAJOR_VERSION}m/
mv $TERMUX_PKG_TMPDIR/pyconfig.h $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/include/python${_MAJOR_VERSION}m/
#FIXME: Is this necessary?
find $TERMUX_PKG_MASSAGEDIR -depth -name __pycache__ -exec rm -rf "{}" +
}

View File

@ -1,13 +1,13 @@
diff -u -r ../Python-3.5.0/setup.py ./setup.py
--- ../Python-3.5.0/setup.py 2015-09-13 07:41:26.000000000 -0400
+++ ./setup.py 2015-11-07 17:31:45.332321322 -0500
@@ -661,7 +663,8 @@
diff -uNr Python-3.8.0/setup.py Python-3.8.0.mod/setup.py
--- Python-3.8.0/setup.py 2019-10-14 16:34:47.000000000 +0300
+++ Python-3.8.0.mod/setup.py 2019-11-17 21:16:46.524157731 +0200
@@ -824,7 +824,8 @@
# Lance Ellinghaus's syslog module
# syslog daemon interface
- exts.append( Extension('syslog', ['syslogmodule.c']) )
- self.add(Extension('syslog', ['syslogmodule.c']))
+ # Termux: Add 'log' android library since we use android logging:
+ exts.append( Extension('syslog', ['syslogmodule.c'], libraries=['log']) )
+ self.add(Extension('syslog', ['syslogmodule.c'], libraries=['-llog']))
#
# Here ends the simple stuff. From here on, modules need certain
# Python interface to subinterpreter C-API.
self.add(Extension('_xxsubinterpreters', ['_xxsubinterpretersmodule.c']))