Skip to content

Commit

Permalink
bpo-45873: Restore Python 3.6 compatibility (GH-29730)
Browse files Browse the repository at this point in the history
Co-authored-by: Guido van Rossum <[email protected]>
  • Loading branch information
tiran and gvanrossum authored Nov 23, 2021
1 parent 4ae26b9 commit f840398
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 3 deletions.
8 changes: 7 additions & 1 deletion Tools/scripts/deepfreeze.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,24 @@
import contextlib
import os
import re
import sys
import time
import types
import unicodedata
from typing import Dict, FrozenSet, Tuple, TextIO

import umarshal

verbose = False


def isprintable(b: bytes) -> bool:
return all(0x20 <= c < 0x7f for c in b)


def make_string_literal(b: bytes) -> str:
res = ['"']
if b.isascii() and b.decode("ascii").isprintable():
if isprintable(b):
res.append(b.decode("ascii").replace("\\", "\\\\").replace("\"", "\\\""))
else:
for i in b:
Expand Down
12 changes: 11 additions & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -3142,7 +3142,7 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
# pybuilddir.txt will be created by --generate-posix-vars in the Makefile
rm -f pybuilddir.txt

for ac_prog in python$PACKAGE_VERSION python3 python
for ac_prog in python$PACKAGE_VERSION python3.10 python3.9 python3.8 python3.7 python3.6 python3 python
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
Expand Down Expand Up @@ -3187,6 +3187,16 @@ test -n "$PYTHON_FOR_REGEN" || PYTHON_FOR_REGEN="python3"



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python for regen version" >&5
$as_echo_n "checking Python for regen version... " >&6; }
if command -v $PYTHON_FOR_REGEN >/dev/null 2>&1; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $($PYTHON_FOR_REGEN -V 2>/dev/null)" >&5
$as_echo "$($PYTHON_FOR_REGEN -V 2>/dev/null)" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: missing" >&5
$as_echo "missing" >&6; }
fi

if test "$cross_compiling" = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for python interpreter for cross build" >&5
$as_echo_n "checking for python interpreter for cross build... " >&6; }
Expand Down
11 changes: 10 additions & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,18 @@ AC_SUBST(host)
# pybuilddir.txt will be created by --generate-posix-vars in the Makefile
rm -f pybuilddir.txt

AC_CHECK_PROGS(PYTHON_FOR_REGEN, python$PACKAGE_VERSION python3 python, python3)
AC_CHECK_PROGS([PYTHON_FOR_REGEN],
[python$PACKAGE_VERSION python3.10 python3.9 python3.8 python3.7 python3.6 python3 python],
[python3])
AC_SUBST(PYTHON_FOR_REGEN)

AC_MSG_CHECKING([Python for regen version])
if command -v $PYTHON_FOR_REGEN >/dev/null 2>&1; then
AC_MSG_RESULT([$($PYTHON_FOR_REGEN -V 2>/dev/null)])
else
AC_MSG_RESULT([missing])
fi

if test "$cross_compiling" = yes; then
AC_MSG_CHECKING([for python interpreter for cross build])
if test -z "$PYTHON_FOR_BUILD"; then
Expand Down

0 comments on commit f840398

Please sign in to comment.