diff --git a/packages/lang/Python3/package.mk b/packages/lang/Python3/package.mk index 86ed754e90..a4fc7b0692 100644 --- a/packages/lang/Python3/package.mk +++ b/packages/lang/Python3/package.mk @@ -3,8 +3,8 @@ PKG_NAME="Python3" # When changing PKG_VERSION remember to sync PKG_PYTHON_VERSION! -PKG_VERSION="3.8.12" -PKG_SHA256="b1d3a76420375343b5e8a22fceb1ac65b77193e9ed27146524f0a9db058728ea" +PKG_VERSION="3.9.10" +PKG_SHA256="0a8fbfb5287ebc3a13e9baf3d54e08fa06778ffeccf6311aef821bb3a6586cc8" PKG_LICENSE="OSS" PKG_SITE="https://www.python.org/" PKG_URL="https://www.python.org/ftp/python/${PKG_VERSION}/${PKG_NAME::-1}-${PKG_VERSION}.tar.xz" @@ -13,7 +13,7 @@ PKG_DEPENDS_TARGET="toolchain Python3:host sqlite expat zlib bzip2 xz openssl li PKG_LONGDESC="Python3 is an interpreted object-oriented programming language." PKG_TOOLCHAIN="autotools" -PKG_PYTHON_VERSION="python3.8" +PKG_PYTHON_VERSION="python3.9" PKG_PY_DISABLED_MODULES="_tkinter nis gdbm bsddb ossaudiodev" diff --git a/packages/lang/Python3/patches/Python3-0000-default-is-optimized.patch b/packages/lang/Python3/patches/Python3-0000-default-is-optimized.patch index 37c32c328c..e2d448bd3a 100644 --- a/packages/lang/Python3/patches/Python3-0000-default-is-optimized.patch +++ b/packages/lang/Python3/patches/Python3-0000-default-is-optimized.patch @@ -8,7 +8,7 @@ package for Generic from building. diff -aur a/Python/initconfig.c b/Python/initconfig.c --- a/Python/initconfig.c 2020-07-20 09:01:32.000000000 -0400 +++ b/Python/initconfig.c 2020-08-08 03:24:02.796189739 -0400 -@@ -147,7 +147,7 @@ +@@ -153,7 +153,7 @@ int Py_QuietFlag = 0; /* Needed by sysmodule.c */ int Py_InteractiveFlag = 0; /* Needed by Py_FdIsInteractive() below */ int Py_InspectFlag = 0; /* Needed to determine whether to exit at SystemExit */ diff --git a/packages/lang/Python3/patches/Python3-0100-buildroot-patches.patch b/packages/lang/Python3/patches/Python3-0100-buildroot-patches.patch index 9c86c12a80..b93975f10f 100644 --- a/packages/lang/Python3/patches/Python3-0100-buildroot-patches.patch +++ b/packages/lang/Python3/patches/Python3-0100-buildroot-patches.patch @@ -18,7 +18,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 502317aa0c..f9011c132a 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1455,6 +1455,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c +@@ -1549,6 +1549,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ $(DESTDIR)$(LIBDEST)/distutils/tests ; \ fi @@ -26,7 +26,7 @@ index 502317aa0c..f9011c132a 100644 -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ -j0 -d $(LIBDEST) -f \ -@@ -1482,6 +1483,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c +@@ -1576,6 +1577,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \ -j0 -d $(LIBDEST)/site-packages -f \ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages @@ -38,7 +38,7 @@ diff --git a/configure.ac b/configure.ac index a189d42c2c..4690cdba9f 100644 --- a/configure.ac +++ b/configure.ac -@@ -1091,6 +1091,12 @@ fi +@@ -1128,6 +1128,12 @@ fi AC_MSG_CHECKING(LDLIBRARY) @@ -69,7 +69,7 @@ diff --git a/configure.ac b/configure.ac index 4690cdba9f..ffeec102b7 100644 --- a/configure.ac +++ b/configure.ac -@@ -4080,7 +4080,7 @@ fi +@@ -4222,7 +4222,7 @@ fi AC_MSG_RESULT($ac_cv_buggy_getaddrinfo) @@ -130,7 +130,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index f9011c132a..e8a6bd5c03 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -205,6 +205,8 @@ FILEMODE= 644 +@@ -215,6 +215,8 @@ FILEMODE= 644 # configure script arguments CONFIG_ARGS= @CONFIG_ARGS@ @@ -139,7 +139,7 @@ index f9011c132a..e8a6bd5c03 100644 # Subdirectories with code SRCDIRS= @SRCDIRS@ -@@ -605,6 +607,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o +@@ -631,6 +633,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o esac; \ echo "$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ @@ -147,7 +147,7 @@ index f9011c132a..e8a6bd5c03 100644 $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ -@@ -1601,7 +1604,8 @@ libainstall: @DEF_MAKE_RULE@ python-config +@@ -1695,7 +1698,8 @@ libainstall: @DEF_MAKE_RULE@ python-config # Install the dynamically loadable modules # This goes into $(exec_prefix) sharedinstall: sharedmods @@ -161,7 +161,7 @@ diff --git a/configure.ac b/configure.ac index ffeec102b7..7872b4dfee 100644 --- a/configure.ac +++ b/configure.ac -@@ -2958,6 +2958,8 @@ LIBS="$withval $LIBS" +@@ -3093,6 +3093,8 @@ LIBS="$withval $LIBS" PKG_PROG_PKG_CONFIG @@ -174,7 +174,7 @@ diff --git a/setup.py b/setup.py index 20d7f35652..d3f2cc1b37 100644 --- a/setup.py +++ b/setup.py -@@ -24,7 +24,10 @@ from distutils.spawn import find_executable +@@ -44,7 +44,10 @@ from distutils.spawn import find_executable TEST_EXTENSIONS = True # This global variable is used to hold the list of modules to be disabled. @@ -231,8 +231,8 @@ diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py index b51629eb94..011a437bcd 100644 --- a/Lib/distutils/sysconfig.py +++ b/Lib/distutils/sysconfig.py -@@ -18,10 +18,17 @@ from .errors import DistutilsPlatformError - from .util import get_platform, get_host_platform +@@ -17,10 +17,17 @@ from .errors import DistutilsPlatformError + from .errors import DistutilsPlatformError # These are needed in a couple of spots, so just compute them once. -PREFIX = os.path.normpath(sys.prefix) @@ -270,7 +270,7 @@ diff --git a/setup.py b/setup.py index d3f2cc1b37..5d504d7638 100644 --- a/setup.py +++ b/setup.py -@@ -955,12 +955,9 @@ class PyBuildExt(build_ext): +@@ -1047,12 +1047,9 @@ class PyBuildExt(build_ext): pass # Issue 7384: Already linked against curses or tinfo. elif curses_library: readline_libs.append(curses_library) @@ -309,7 +309,7 @@ diff --git a/setup.py b/setup.py index 5d504d7638..282a592dc6 100644 --- a/setup.py +++ b/setup.py -@@ -654,10 +654,10 @@ class PyBuildExt(build_ext): +@@ -740,10 +740,10 @@ class PyBuildExt(build_ext): if not CROSS_COMPILING: add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') @@ -343,7 +343,7 @@ diff --git a/setup.py b/setup.py index 282a592dc6..8fda3b4d47 100644 --- a/setup.py +++ b/setup.py -@@ -444,6 +444,7 @@ class PyBuildExt(build_ext): +@@ -529,6 +529,7 @@ class PyBuildExt(build_ext): print("Failed to build these modules:") print_three_column(failed) print() @@ -506,6 +506,8 @@ any system library (eg. libz, libssl, etc.) Signed-off-by: Samuel Cabrero Signed-off-by: Thomas Petazzoni +[james.hilliard1@gmail.com: adapt to python 3.9] +Signed-off-by: James Hilliard --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -514,12 +516,12 @@ diff --git a/setup.py b/setup.py index 8fda3b4d47..bb7eb44213 100644 --- a/setup.py +++ b/setup.py -@@ -600,7 +600,7 @@ class PyBuildExt(build_ext): +@@ -686,7 +686,7 @@ class PyBuildExt(build_ext): tmpfile = os.path.join(self.build_temp, 'ccpaths') if not os.path.exists(self.build_temp): os.makedirs(self.build_temp) -- ret = os.system('%s -E -v - %s 1>/dev/null' % (cc, tmpfile)) -+ ret = os.system('LC_ALL=C %s -E -v - %s 1>/dev/null' % (cc, tmpfile)) +- ret = run_command('%s -E -v - %s 1>/dev/null' % (CC, tmpfile)) ++ ret = run_command('LC_ALL=C %s -E -v - %s 1>/dev/null' % (CC, tmpfile)) is_gcc = False is_clang = False in_incdirs = False @@ -556,7 +558,7 @@ diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_ext index b8ac482994..db034f605a 100644 --- a/Lib/importlib/_bootstrap_external.py +++ b/Lib/importlib/_bootstrap_external.py -@@ -306,8 +306,6 @@ def cache_from_source(path, debug_override=None, *, optimization=None): +@@ -373,8 +373,6 @@ def cache_from_source(path, debug_override=None, *, optimization=None): a True value is the same as setting 'optimization' to the empty string while a False value is equivalent to setting 'optimization' to '1'. @@ -565,7 +567,7 @@ index b8ac482994..db034f605a 100644 """ if debug_override is not None: _warnings.warn('the debug_override parameter is deprecated; use ' -@@ -319,10 +317,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None): +@@ -386,10 +384,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None): path = _os.fspath(path) head, tail = _path_split(path) base, sep, rest = tail.rpartition('.') @@ -577,7 +579,7 @@ index b8ac482994..db034f605a 100644 if optimization is None: if sys.flags.optimize == 0: optimization = '' -@@ -359,46 +354,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None): +@@ -426,46 +421,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None): head.lstrip(path_separators), filename, ) @@ -643,16 +645,18 @@ Signed-off-by: Thomas Petazzoni Signed-off-by: Samuel Martin [ Andrey Smirnov: ported to Python 3.6 ] Signed-off-by: Andrey Smirnov +[james.hilliard1@gmail.com: adapt to python 3.9] +Signed-off-by: James Hilliard --- - Makefile.pre.in | 54 ++++++++++++++++++++++++++++++++----------------- + Makefile.pre.in | 56 ++++++++++++++++++++++++++++++++----------------- configure.ac | 5 +++++ - 2 files changed, 41 insertions(+), 18 deletions(-) + 2 files changed, 42 insertions(+), 19 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index e8a6bd5c03..3abee36f49 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1317,8 +1317,28 @@ maninstall: altmaninstall +@@ -1405,8 +1405,29 @@ maninstall: altmaninstall # Install the library XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax @@ -676,16 +680,17 @@ index e8a6bd5c03..3abee36f49 100644 + multiprocessing multiprocessing/dummy \ + unittest \ + venv venv/scripts venv/scripts/common venv/scripts/posix \ -+ curses pydoc_data ++ curses pydoc_data \ ++ zoneinfo + +TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ + tkinter/test/test_ttk test \ test/audiodata \ test/capath test/data \ test/cjkencodings test/decimaltestdata \ -@@ -1376,26 +1396,24 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ - test/test_importlib/zipdata01 \ +@@ -1467,28 +1488,25 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ test/test_importlib/zipdata02 \ + test/test_zoneinfo test/test_zoneinfo/data \ test/ziptestdata \ - asyncio \ test/test_asyncio \ @@ -708,13 +713,15 @@ index e8a6bd5c03..3abee36f49 100644 + ctypes/test \ + idlelib/idle_test \ + distutils/tests \ + test/test_peg_generator \ + test/test_importlib test/test_importlib/builtin \ test/test_tools test/test_warnings test/test_warnings/data \ - turtledemo \ - multiprocessing multiprocessing/dummy \ - unittest unittest/test unittest/test/testmock \ - venv venv/scripts venv/scripts/common venv/scripts/posix \ -- curses pydoc_data +- curses pydoc_data \ +- zoneinfo + unittest/test unittest/test/testmock + +ifeq (@TEST_MODULES@,yes) @@ -728,7 +735,7 @@ diff --git a/configure.ac b/configure.ac index 7872b4dfee..b820d18c7c 100644 --- a/configure.ac +++ b/configure.ac -@@ -3234,6 +3234,11 @@ if test "$posix_threads" = "yes"; then +@@ -3370,6 +3370,11 @@ if test "$posix_threads" = "yes"; then AC_CHECK_FUNCS(pthread_getcpuclockid) fi @@ -765,7 +772,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 3abee36f49..6fa0549a56 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1289,7 +1289,9 @@ bininstall: altbininstall +@@ -1373,7 +1373,9 @@ bininstall: altbininstall -rm -f $(DESTDIR)$(BINDIR)/idle3 (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) -rm -f $(DESTDIR)$(BINDIR)/pydoc3 @@ -775,16 +782,16 @@ index 3abee36f49..6fa0549a56 100644 -rm -f $(DESTDIR)$(BINDIR)/2to3 (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ -@@ -1335,7 +1337,7 @@ LIBSUBDIRS= tkinter site-packages \ +@@ -1423,7 +1425,7 @@ LIBSUBDIRS= tkinter site-packages \ multiprocessing multiprocessing/dummy \ unittest \ venv venv/scripts venv/scripts/common venv/scripts/posix \ -- curses pydoc_data -+ curses +- curses pydoc_data \ ++ curses \ + zoneinfo TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ - tkinter/test/test_ttk test \ -@@ -1414,6 +1416,10 @@ ifeq (@TEST_MODULES@,yes) +@@ -1507,6 +1509,10 @@ ifeq (@TEST_MODULES@,yes) LIBSUBDIRS += $(TESTSUBDIRS) endif @@ -799,7 +806,7 @@ diff --git a/configure.ac b/configure.ac index b820d18c7c..f53cc86d89 100644 --- a/configure.ac +++ b/configure.ac -@@ -3234,6 +3234,12 @@ if test "$posix_threads" = "yes"; then +@@ -3370,6 +3370,12 @@ if test "$posix_threads" = "yes"; then AC_CHECK_FUNCS(pthread_getcpuclockid) fi @@ -816,7 +823,7 @@ diff --git a/setup.py b/setup.py index bb7eb44213..748c269960 100644 --- a/setup.py +++ b/setup.py -@@ -2401,6 +2401,12 @@ def main(): +@@ -2572,6 +2572,12 @@ def main(): # turn off warnings when deprecated modules are imported import warnings warnings.filterwarnings("ignore",category=DeprecationWarning) @@ -829,7 +836,7 @@ index bb7eb44213..748c269960 100644 setup(# PyPI Metadata (PEP 301) name = "Python", version = sys.version.split()[0], -@@ -2425,8 +2431,7 @@ def main(): +@@ -2596,8 +2602,7 @@ def main(): # If you change the scripts installed here, you also need to # check the PyBuildScripts command above, and change the links # created by the bininstall target in Makefile.pre.in @@ -864,7 +871,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 6fa0549a56..3e1f130532 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1293,7 +1293,9 @@ ifeq (@PYDOC@,yes) +@@ -1377,7 +1377,9 @@ ifeq (@PYDOC@,yes) (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) endif -rm -f $(DESTDIR)$(BINDIR)/2to3 @@ -874,7 +881,7 @@ index 6fa0549a56..3e1f130532 100644 if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ rm -f $(DESTDIR)$(BINDIR)/python3-32$(EXE); \ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-32$(EXE) python3-32$(EXE)) \ -@@ -1328,7 +1330,6 @@ LIBSUBDIRS= tkinter site-packages \ +@@ -1416,7 +1418,6 @@ LIBSUBDIRS= tkinter site-packages \ html json http dbm xmlrpc \ sqlite3 \ logging csv wsgiref urllib \ @@ -882,7 +889,7 @@ index 6fa0549a56..3e1f130532 100644 ctypes ctypes/macholib \ idlelib idlelib/Icons \ distutils distutils/command $(XMLLIBSUBDIRS) \ -@@ -1402,9 +1403,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ +@@ -1494,9 +1495,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ test/test_email test/test_email/data \ test/test_json \ sqlite3/test \ @@ -892,7 +899,7 @@ index 6fa0549a56..3e1f130532 100644 ctypes/test \ idlelib/idle_test \ distutils/tests \ -@@ -1412,6 +1410,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ +@@ -1505,6 +1503,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ test/test_tools test/test_warnings test/test_warnings/data \ unittest/test unittest/test/testmock @@ -907,7 +914,7 @@ index 6fa0549a56..3e1f130532 100644 ifeq (@TEST_MODULES@,yes) LIBSUBDIRS += $(TESTSUBDIRS) endif -@@ -1511,10 +1517,12 @@ ifeq (@PYC_BUILD@,yes) +@@ -1605,10 +1611,12 @@ ifeq (@PYC_BUILD@,yes) -j0 -d $(LIBDEST)/site-packages -f \ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages endif @@ -924,7 +931,7 @@ diff --git a/configure.ac b/configure.ac index f53cc86d89..caa8eaf88a 100644 --- a/configure.ac +++ b/configure.ac -@@ -3246,6 +3246,12 @@ AC_ARG_ENABLE(test-modules, +@@ -3382,6 +3382,12 @@ AC_ARG_ENABLE(test-modules, AS_HELP_STRING([--disable-test-modules], [disable test modules]), [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) @@ -941,7 +948,7 @@ diff --git a/setup.py b/setup.py index 748c269960..1669797cad 100644 --- a/setup.py +++ b/setup.py -@@ -2402,10 +2402,11 @@ def main(): +@@ -2573,10 +2573,11 @@ def main(): import warnings warnings.filterwarnings("ignore",category=DeprecationWarning) @@ -976,7 +983,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 3e1f130532..cf9add0bc7 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1328,7 +1328,6 @@ LIBSUBDIRS= tkinter site-packages \ +@@ -1416,7 +1416,6 @@ LIBSUBDIRS= tkinter site-packages \ email email/mime \ ensurepip ensurepip/_bundled \ html json http dbm xmlrpc \ @@ -984,7 +991,7 @@ index 3e1f130532..cf9add0bc7 100644 logging csv wsgiref urllib \ ctypes ctypes/macholib \ idlelib idlelib/Icons \ -@@ -1402,7 +1401,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ +@@ -1494,7 +1493,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ test/test_asyncio \ test/test_email test/test_email/data \ test/test_json \ @@ -992,7 +999,7 @@ index 3e1f130532..cf9add0bc7 100644 ctypes/test \ idlelib/idle_test \ distutils/tests \ -@@ -1418,6 +1416,11 @@ TESTSUBDIRS += lib2to3/tests \ +@@ -1511,6 +1509,11 @@ TESTSUBDIRS += lib2to3/tests \ lib2to3/tests/data/fixers/myfixes endif @@ -1008,7 +1015,7 @@ diff --git a/configure.ac b/configure.ac index caa8eaf88a..79a8255f44 100644 --- a/configure.ac +++ b/configure.ac -@@ -3234,6 +3234,15 @@ if test "$posix_threads" = "yes"; then +@@ -3370,6 +3370,15 @@ if test "$posix_threads" = "yes"; then AC_CHECK_FUNCS(pthread_getcpuclockid) fi @@ -1045,7 +1052,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index cf9add0bc7..5d78419fd4 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1322,7 +1322,7 @@ maninstall: altmaninstall +@@ -1410,7 +1410,7 @@ maninstall: altmaninstall # Install the library XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax @@ -1054,9 +1061,9 @@ index cf9add0bc7..5d78419fd4 100644 asyncio \ collections concurrent concurrent/futures encodings \ email email/mime \ -@@ -1339,8 +1339,7 @@ LIBSUBDIRS= tkinter site-packages \ - venv venv/scripts venv/scripts/common venv/scripts/posix \ - curses +@@ -1428,8 +1428,7 @@ LIBSUBDIRS= tkinter site-packages \ + curses \ + zoneinfo -TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ - tkinter/test/test_ttk test \ @@ -1064,7 +1071,7 @@ index cf9add0bc7..5d78419fd4 100644 test/audiodata \ test/capath test/data \ test/cjkencodings test/decimaltestdata \ -@@ -1408,6 +1407,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ +@@ -1501,6 +1502,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ test/test_tools test/test_warnings test/test_warnings/data \ unittest/test unittest/test/testmock @@ -1081,7 +1088,7 @@ diff --git a/configure.ac b/configure.ac index 79a8255f44..b5922451cc 100644 --- a/configure.ac +++ b/configure.ac -@@ -3243,6 +3243,15 @@ if test "$SQLITE3" = "no" ; then +@@ -3379,6 +3379,15 @@ if test "$SQLITE3" = "no" ; then DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" fi @@ -1110,25 +1117,23 @@ Signed-off-by: Samuel Martin [ Andrey Smirnov: ported to Python 3.6 ] Signed-off-by: Andrey Smirnov --- - Makefile.pre.in | 7 +++++-- + Makefile.pre.in | 5 ++++- configure.ac | 9 +++++++++ - 2 files changed, 14 insertions(+), 2 deletions(-) + 2 files changed, 13 insertions(+), 1 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index 5d78419fd4..660c292765 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1336,8 +1336,7 @@ LIBSUBDIRS= site-packages \ - turtledemo \ +@@ -1425,7 +1425,6 @@ LIBSUBDIRS= site-packages \ multiprocessing multiprocessing/dummy \ unittest \ -- venv venv/scripts venv/scripts/common venv/scripts/posix \ -- curses -+ venv venv/scripts venv/scripts/common venv/scripts/posix + venv venv/scripts venv/scripts/common venv/scripts/posix \ +- curses \ + zoneinfo TESTSUBDIRS= test \ - test/audiodata \ -@@ -1413,6 +1412,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ +@@ -1506,6 +1505,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ tkinter/test/test_ttk endif @@ -1143,7 +1148,7 @@ diff --git a/configure.ac b/configure.ac index b5922451cc..ea422a86a9 100644 --- a/configure.ac +++ b/configure.ac -@@ -3252,6 +3252,15 @@ if test "$TK" = "no"; then +@@ -3388,6 +3388,15 @@ if test "$TK" = "no"; then DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" fi @@ -1187,7 +1192,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 660c292765..f49abf8395 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1331,7 +1331,7 @@ LIBSUBDIRS= site-packages \ +@@ -1419,7 +1419,7 @@ LIBSUBDIRS= site-packages \ logging csv wsgiref urllib \ ctypes ctypes/macholib \ idlelib idlelib/Icons \ @@ -1196,7 +1201,7 @@ index 660c292765..f49abf8395 100644 importlib \ turtledemo \ multiprocessing multiprocessing/dummy \ -@@ -1416,6 +1416,10 @@ ifeq (@CURSES@,yes) +@@ -1509,6 +1509,10 @@ ifeq (@CURSES@,yes) LIBSUBDIRS += curses endif @@ -1211,13 +1216,13 @@ diff --git a/configure.ac b/configure.ac index ea422a86a9..3c1e2c088d 100644 --- a/configure.ac +++ b/configure.ac -@@ -2961,13 +2961,21 @@ PKG_PROG_PKG_CONFIG +@@ -3096,13 +3096,21 @@ PKG_PROG_PKG_CONFIG AC_SUBST(DISABLED_EXTENSIONS) # Check for use of the system expat library -AC_MSG_CHECKING(for --with-system-expat) -AC_ARG_WITH(system_expat, -- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library]), +- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library, see Doc/library/pyexpat.rst (default is no)]), +AC_MSG_CHECKING(for --with-expat) +AC_ARG_WITH(expat, + AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]), @@ -1242,7 +1247,7 @@ diff --git a/setup.py b/setup.py index 1669797cad..d2727c0da5 100644 --- a/setup.py +++ b/setup.py -@@ -1576,7 +1576,7 @@ class PyBuildExt(build_ext): +@@ -1674,7 +1674,7 @@ class PyBuildExt(build_ext): # # More information on Expat can be found at www.libexpat.org. # @@ -1268,7 +1273,7 @@ diff --git a/configure.ac b/configure.ac index 3c1e2c088d..30a92f9c2e 100644 --- a/configure.ac +++ b/configure.ac -@@ -3251,6 +3251,12 @@ if test "$SQLITE3" = "no" ; then +@@ -3387,6 +3387,12 @@ if test "$SQLITE3" = "no" ; then DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" fi @@ -1301,7 +1306,7 @@ diff --git a/configure.ac b/configure.ac index 30a92f9c2e..20f326db46 100644 --- a/configure.ac +++ b/configure.ac -@@ -3257,6 +3257,12 @@ AC_ARG_ENABLE(codecs-cjk, +@@ -3393,6 +3393,12 @@ AC_ARG_ENABLE(codecs-cjk, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" fi]) @@ -1331,7 +1336,7 @@ diff --git a/configure.ac b/configure.ac index 20f326db46..99bbc37b07 100644 --- a/configure.ac +++ b/configure.ac -@@ -3263,6 +3263,12 @@ AC_ARG_ENABLE(nis, +@@ -3399,6 +3399,12 @@ AC_ARG_ENABLE(nis, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" fi]) @@ -1368,7 +1373,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index f49abf8395..bc777e6504 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1287,7 +1287,9 @@ bininstall: altbininstall +@@ -1371,7 +1371,9 @@ bininstall: altbininstall -rm -f $(DESTDIR)$(LIBPC)/python3-embed.pc (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)-embed.pc python3-embed.pc) -rm -f $(DESTDIR)$(BINDIR)/idle3 @@ -1378,7 +1383,7 @@ index f49abf8395..bc777e6504 100644 -rm -f $(DESTDIR)$(BINDIR)/pydoc3 ifeq (@PYDOC@,yes) (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) -@@ -1330,7 +1332,6 @@ LIBSUBDIRS= site-packages \ +@@ -1418,7 +1420,6 @@ LIBSUBDIRS= site-packages \ html json http dbm xmlrpc \ logging csv wsgiref urllib \ ctypes ctypes/macholib \ @@ -1386,7 +1391,7 @@ index f49abf8395..bc777e6504 100644 distutils distutils/command \ importlib \ turtledemo \ -@@ -1420,6 +1421,10 @@ ifeq (@EXPAT@,yes) +@@ -1513,6 +1514,10 @@ ifeq (@EXPAT@,yes) LIBSUBDIRS += $(XMLLIBSUBDIRS) endif @@ -1401,7 +1406,7 @@ diff --git a/configure.ac b/configure.ac index 99bbc37b07..8c9706582e 100644 --- a/configure.ac +++ b/configure.ac -@@ -3305,6 +3305,12 @@ AC_ARG_ENABLE(lib2to3, +@@ -3441,6 +3441,12 @@ AC_ARG_ENABLE(lib2to3, AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) @@ -1418,7 +1423,7 @@ diff --git a/setup.py b/setup.py index d2727c0da5..9f09b3d985 100644 --- a/setup.py +++ b/setup.py -@@ -2402,11 +2402,13 @@ def main(): +@@ -2573,11 +2573,13 @@ def main(): import warnings warnings.filterwarnings("ignore",category=DeprecationWarning) @@ -1458,13 +1463,13 @@ diff --git a/configure.ac b/configure.ac index 8c9706582e..e6255babb6 100644 --- a/configure.ac +++ b/configure.ac -@@ -3012,13 +3012,20 @@ fi +@@ -3147,13 +3147,20 @@ fi AC_SUBST(LIBFFI_INCLUDEDIR) # Check for use of the system libmpdec library -AC_MSG_CHECKING(for --with-system-libmpdec) -AC_ARG_WITH(system_libmpdec, -- AS_HELP_STRING([--with-system-libmpdec], [build _decimal module using an installed libmpdec library]), +- AS_HELP_STRING([--with-system-libmpdec], [build _decimal module using an installed libmpdec library, see Doc/library/decimal.rst (default is no)]), +AC_MSG_CHECKING(for --with-libmpdec) +AC_ARG_WITH(libmpdec, + AS_HELP_STRING([--with-libmpdec], [select which libmpdec version to use: system, builtin, none]), @@ -1488,7 +1493,7 @@ diff --git a/setup.py b/setup.py index 9f09b3d985..a7f2e23d87 100644 --- a/setup.py +++ b/setup.py -@@ -2076,7 +2076,7 @@ class PyBuildExt(build_ext): +@@ -2202,7 +2202,7 @@ class PyBuildExt(build_ext): # Stefan Krah's _decimal module extra_compile_args = [] undef_macros = [] @@ -1514,7 +1519,7 @@ diff --git a/configure.ac b/configure.ac index e6255babb6..5809233aac 100644 --- a/configure.ac +++ b/configure.ac -@@ -3042,6 +3042,12 @@ fi +@@ -3177,6 +3177,12 @@ fi AC_MSG_RESULT($with_decimal_contextvar) @@ -1544,7 +1549,7 @@ diff --git a/configure.ac b/configure.ac index 5809233aac..6b09bafda4 100644 --- a/configure.ac +++ b/configure.ac -@@ -3282,6 +3282,12 @@ AC_ARG_ENABLE(unicodedata, +@@ -3418,6 +3418,12 @@ AC_ARG_ENABLE(unicodedata, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" fi]) @@ -1574,7 +1579,7 @@ diff --git a/configure.ac b/configure.ac index 6b09bafda4..b64518eed5 100644 --- a/configure.ac +++ b/configure.ac -@@ -3288,6 +3288,12 @@ AC_ARG_ENABLE(openssl, +@@ -3424,6 +3424,12 @@ AC_ARG_ENABLE(openssl, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" fi]) @@ -1604,7 +1609,7 @@ diff --git a/configure.ac b/configure.ac index b64518eed5..d07e371c57 100644 --- a/configure.ac +++ b/configure.ac -@@ -3294,6 +3294,24 @@ AC_ARG_ENABLE(readline, +@@ -3430,6 +3430,24 @@ AC_ARG_ENABLE(readline, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" fi]) @@ -1685,44 +1690,6 @@ index a1bc3cd5f7..164d2d3603 100644 -- 2.20.1 -From 28008e1e4f0349241d22aace3c54f7e9425c6c1f Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Fri, 20 Jul 2018 10:17:39 -0400 -Subject: [PATCH] Fix cross compiling the uuid module - -Python 3.7 has a new _uuid module, however, the include directory -search path for uuid.h is hardcoded to /usr/include/uuid, which should -not be used when cross-compiling. - -To fix this, use the same solution as the one used by the NIS -detection: append "uuid" to each of the include directories in -"inc_dirs", instead of hardcoding /usr/include/uuid. - -Signed-off-by: Adam Duskett -[Thomas: drop STAGING_DIR based solution, use a solution similar to -the one used for the NIS detection.] -Signed-off-by: Thomas Petazzoni ---- - setup.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index a7f2e23d87..b0274a3f67 100644 ---- a/setup.py -+++ b/setup.py -@@ -1674,7 +1674,8 @@ class PyBuildExt(build_ext): - - def detect_uuid(self): - # Build the _uuid module if possible -- uuid_incs = find_file("uuid.h", self.inc_dirs, ["/usr/include/uuid"]) -+ uuid_incs = find_file("uuid.h", self.inc_dirs, -+ [os.path.join(inc_dir, 'uuid') for inc_dir in self.inc_dirs]) - if uuid_incs is not None: - if self.compiler.find_library_file(self.lib_dirs, 'uuid'): - uuid_libs = ['uuid'] --- -2.20.1 - From 74007603df0921450f14e8626df36140426cc300 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 18 Aug 2018 10:54:56 +0200 @@ -1737,7 +1704,7 @@ diff --git a/configure.ac b/configure.ac index d07e371c57..55ab6c3c26 100644 --- a/configure.ac +++ b/configure.ac -@@ -3330,6 +3330,15 @@ if test "$CURSES" = "no"; then +@@ -3466,6 +3466,15 @@ if test "$CURSES" = "no"; then DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" fi @@ -1794,7 +1761,7 @@ index 224585c69b..ef458c0c63 100644 -- 2.20.1 -From 5932fedd9d1d43a230fa353df434f253e9d2b5a0 Mon Sep 17 00:00:00 2001 +From ffe8fb3065973204fce95130c32578163755b71e Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Fri, 2 Aug 2019 15:53:16 +0200 Subject: [PATCH] configure.ac: fixup $CC --print-multiarch output for @@ -1819,26 +1786,30 @@ non-multiarch toolchain on some architectures (E.G. PowerPC), but as a workaround, rewrite the --print-multiarch output to match older GCC versions to keep the configure script happy. +[Rudi: update for 3.9.10, which made the MULTIARCH logic !darwin] +Signed-off-by: Rudi Heitbaum Signed-off-by: Peter Korsgaard --- configure.ac | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 55ab6c3c26..4a6d0662ac 100644 +index 7812dc5102..0ce52b9a7d 100644 --- a/configure.ac +++ b/configure.ac -@@ -706,7 +706,9 @@ then - fi +@@ -884,9 +884,11 @@ - --MULTIARCH=$($CC --print-multiarch 2>/dev/null) -+# GCC 8+ returns $arch-linux-{musl,uclibc} for musl/uClibc based -+# toolchains confusing python. Fix that up -+MULTIARCH=$($CC --print-multiarch 2>/dev/null | sed -E 's/-linux-(musl|uclibc)*$/-linux-gnu/') - AC_SUBST(MULTIARCH) - - AC_MSG_CHECKING([for the platform triplet based on compiler characteristics]) + AC_MSG_CHECKING([for multiarch]) + AS_CASE([$ac_sys_system], ++ # GCC 8+ returns $arch-linux-{musl,uclibc} for musl/uClibc based ++ # toolchains confusing python. Fix that up + [Darwin*], [MULTIARCH=""], + [FreeBSD*], [MULTIARCH=""], +- [MULTIARCH=$($CC --print-multiarch 2>/dev/null)] ++ [MULTIARCH=$($CC --print-multiarch 2>/dev/null | sed -E 's/-linux-(musl|uclibc)*$/-linux-gnu/')] + ) + AC_SUBST([MULTIARCH]) + AC_MSG_RESULT([$MULTIARCH]) -- 2.20.1 diff --git a/packages/lang/Python3/patches/Python3-0201-xcompile.patch b/packages/lang/Python3/patches/Python3-0201-xcompile.patch index eb51f7980b..07f222ae99 100644 --- a/packages/lang/Python3/patches/Python3-0201-xcompile.patch +++ b/packages/lang/Python3/patches/Python3-0201-xcompile.patch @@ -1,7 +1,6 @@ -diff -aur a/Makefile.pre.in b/Makefile.pre.in ---- a/Makefile.pre.in 2020-08-08 14:28:01.691542199 -0400 -+++ b/Makefile.pre.in 2020-08-08 14:17:51.908512177 -0400 -@@ -607,10 +607,12 @@ +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -633,10 +633,12 @@ sharedmods: $(BUILDPYTHON) pybuilddir.tx esac; \ echo "$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ @@ -14,7 +13,7 @@ diff -aur a/Makefile.pre.in b/Makefile.pre.in $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build -@@ -1656,8 +1658,10 @@ +@@ -1750,8 +1752,10 @@ libainstall: @DEF_MAKE_RULE@ python-conf # Install the dynamically loadable modules # This goes into $(exec_prefix) sharedinstall: sharedmods @@ -25,10 +24,9 @@ diff -aur a/Makefile.pre.in b/Makefile.pre.in --prefix=$(prefix) \ --install-scripts=$(BINDIR) \ --install-platlib=$(DESTSHARED) \ -diff -aur a/setup.py b/setup.py ---- a/setup.py 2020-08-08 14:28:01.695542200 -0400 -+++ b/setup.py 2020-08-08 14:28:36.931543934 -0400 -@@ -41,7 +41,7 @@ +--- a/setup.py ++++ b/setup.py +@@ -61,7 +61,7 @@ def get_platform(): return sys.platform @@ -37,7 +35,7 @@ diff -aur a/setup.py b/setup.py HOST_PLATFORM = get_platform() MS_WINDOWS = (HOST_PLATFORM == 'win32') CYGWIN = (HOST_PLATFORM == 'cygwin') -@@ -487,6 +487,13 @@ +@@ -575,6 +575,13 @@ class PyBuildExt(build_ext): ext.name, level=1) return diff --git a/packages/lang/Python3/patches/Python3-0202-xcompile.patch b/packages/lang/Python3/patches/Python3-0202-xcompile.patch index c09d95a4c6..ec81b41118 100644 --- a/packages/lang/Python3/patches/Python3-0202-xcompile.patch +++ b/packages/lang/Python3/patches/Python3-0202-xcompile.patch @@ -1,7 +1,6 @@ -diff -aur a/setup.py b/setup.py ---- a/setup.py 2020-08-08 14:18:41.978514642 -0400 -+++ b/setup.py 2020-08-08 14:26:09.612536681 -0400 -@@ -656,31 +656,23 @@ +--- a/setup.py ++++ b/setup.py +@@ -742,31 +742,23 @@ class PyBuildExt(build_ext): add_dir_to_list(dir_list, directory) def configure_compiler(self): diff --git a/packages/lang/Python3/patches/Python3-0300-generate-legacy-pyc-bytecode.patch b/packages/lang/Python3/patches/Python3-0300-generate-legacy-pyc-bytecode.patch index 9cf95562a2..b4cc4ba3a9 100644 --- a/packages/lang/Python3/patches/Python3-0300-generate-legacy-pyc-bytecode.patch +++ b/packages/lang/Python3/patches/Python3-0300-generate-legacy-pyc-bytecode.patch @@ -22,11 +22,9 @@ https://www.python.org/dev/peps/pep-3147/#case-4-legacy-pyc-files-and-source-les Lib/py_compile.py | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/Lib/py_compile.py b/Lib/py_compile.py -index 8e9dd57..d4b7f4f 100644 --- a/Lib/py_compile.py +++ b/Lib/py_compile.py -@@ -119,6 +119,10 @@ def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1, +@@ -121,6 +121,10 @@ def compile(file, cfile=None, dfile=None the resulting file would be regular and thus not the same type of file as it was previously. """ @@ -37,6 +35,3 @@ index 8e9dd57..d4b7f4f 100644 if invalidation_mode is None: invalidation_mode = _get_default_invalidation_mode() if cfile is None: --- -2.7.4 - diff --git a/packages/lang/Python3/patches/Python3-0400-fix-bpo5537.patch b/packages/lang/Python3/patches/Python3-0400-fix-bpo5537.patch index 9618fc90e3..edb3496a91 100644 --- a/packages/lang/Python3/patches/Python3-0400-fix-bpo5537.patch +++ b/packages/lang/Python3/patches/Python3-0400-fix-bpo5537.patch @@ -9,11 +9,9 @@ https://forum.kodi.tv/showthread.php?tid=343068&pid=2923934#pid2923934 Lib/http/cookiejar.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/Lib/http/cookiejar.py b/Lib/http/cookiejar.py -index d43a219..53bb391 100644 --- a/Lib/http/cookiejar.py +++ b/Lib/http/cookiejar.py -@@ -98,7 +98,7 @@ def time2isoz(t=None): +@@ -99,7 +99,7 @@ def time2isoz(t=None): if t is None: dt = datetime.datetime.utcnow() else: @@ -22,6 +20,3 @@ index d43a219..53bb391 100644 return "%04d-%02d-%02d %02d:%02d:%02dZ" % ( dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second) --- -2.20.1 - diff --git a/packages/lang/Python3/patches/Python3-0500-fix-bpo45262.patch b/packages/lang/Python3/patches/Python3-0500-fix-bpo45262.patch deleted file mode 100644 index b1e671e1c8..0000000000 --- a/packages/lang/Python3/patches/Python3-0500-fix-bpo45262.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c4e2aa8d60f722cece55d446e97585b1fa8a6ae7 Mon Sep 17 00:00:00 2001 -From: Matthias Reichl -Date: Thu, 7 Oct 2021 13:03:27 +0200 -Subject: [PATCH] Prevent use-after-free of running loop holder via cache - ---- - Modules/_asynciomodule.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c -index ecc73d1ca8..56079b0277 100644 ---- a/Modules/_asynciomodule.c -+++ b/Modules/_asynciomodule.c -@@ -3239,6 +3239,9 @@ new_running_loop_holder(PyObject *loop) - static void - PyRunningLoopHolder_tp_dealloc(PyRunningLoopHolder *rl) - { -+ if (cached_running_holder == (PyObject *)rl) { -+ cached_running_holder = NULL; -+ } - Py_CLEAR(rl->rl_loop); - PyObject_Free(rl); - } --- -2.30.2 -