From 235073929191b83bd4937415cbf85166328468b9 Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Sun, 17 Nov 2019 21:25:25 +0200 Subject: [PATCH] python: update to 3.8.0 %ci:reset-backlog --- ...1-compileall-Fix-ddir-when-recursing.patch | 57 +++++++++++++++++++ packages/python/build.sh | 17 +----- packages/python/setup.py.patch | 16 +++--- 3 files changed, 68 insertions(+), 22 deletions(-) create mode 100644 packages/python/0001-compileall-Fix-ddir-when-recursing.patch diff --git a/packages/python/0001-compileall-Fix-ddir-when-recursing.patch b/packages/python/0001-compileall-Fix-ddir-when-recursing.patch new file mode 100644 index 000000000..91ebc71f6 --- /dev/null +++ b/packages/python/0001-compileall-Fix-ddir-when-recursing.patch @@ -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)" +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 + diff --git a/packages/python/build.sh b/packages/python/build.sh index 66112962f..b677a08e3 100644 --- a/packages/python/build.sh +++ b/packages/python/build.sh @@ -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 "{}" + } diff --git a/packages/python/setup.py.patch b/packages/python/setup.py.patch index d514538f9..67fafa0df 100644 --- a/packages/python/setup.py.patch +++ b/packages/python/setup.py.patch @@ -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']))