diff --git a/00376-remove-ac_c_char_unsigned-__char_unsigned__.patch b/00376-remove-ac_c_char_unsigned-__char_unsigned__.patch new file mode 100644 index 0000000..cd2acd2 --- /dev/null +++ b/00376-remove-ac_c_char_unsigned-__char_unsigned__.patch @@ -0,0 +1,113 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Christian Heimes +Date: Wed, 26 Jan 2022 13:20:31 +0200 +Subject: [PATCH] 00376: Remove AC_C_CHAR_UNSIGNED / __CHAR_UNSIGNED__ + +Co-authored-by: Christian Heimes +--- + .../2022-01-25-12-32-37.bpo-46513.mPm9B4.rst | 2 ++ + Modules/audioop.c | 7 ---- + configure | 33 ------------------- + configure.ac | 1 - + pyconfig.h.in | 5 --- + 5 files changed, 2 insertions(+), 46 deletions(-) + create mode 100644 Misc/NEWS.d/next/Build/2022-01-25-12-32-37.bpo-46513.mPm9B4.rst + +diff --git a/Misc/NEWS.d/next/Build/2022-01-25-12-32-37.bpo-46513.mPm9B4.rst b/Misc/NEWS.d/next/Build/2022-01-25-12-32-37.bpo-46513.mPm9B4.rst +new file mode 100644 +index 0000000000..b8986ae31a +--- /dev/null ++++ b/Misc/NEWS.d/next/Build/2022-01-25-12-32-37.bpo-46513.mPm9B4.rst +@@ -0,0 +1,2 @@ ++:program:`configure` no longer uses ``AC_C_CHAR_UNSIGNED`` macro and ++``pyconfig.h`` no longer defines reserved symbol ``__CHAR_UNSIGNED__``. +diff --git a/Modules/audioop.c b/Modules/audioop.c +index 3aeb6f04f1..2a5d805c05 100644 +--- a/Modules/audioop.c ++++ b/Modules/audioop.c +@@ -5,13 +5,6 @@ + + #include "Python.h" + +-#if defined(__CHAR_UNSIGNED__) +-#if defined(signed) +-/* This module currently does not work on systems where only unsigned +- characters are available. Take it out of Setup. Sorry. */ +-#endif +-#endif +- + static const int maxvals[] = {0, 0x7F, 0x7FFF, 0x7FFFFF, 0x7FFFFFFF}; + /* -1 trick is needed on Windows to support -0x80000000 without a warning */ + static const int minvals[] = {0, -0x80, -0x8000, -0x800000, -0x7FFFFFFF-1}; +diff --git a/configure b/configure +index a7d2975f1f..e68e00b0b3 100755 +--- a/configure ++++ b/configure +@@ -14183,39 +14183,6 @@ fi + + # checks for compiler characteristics + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether char is unsigned" >&5 +-$as_echo_n "checking whether char is unsigned... " >&6; } +-if ${ac_cv_c_char_unsigned+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +-$ac_includes_default +-int +-main () +-{ +-static int test_array [1 - 2 * !(((char) -1) < 0)]; +-test_array [0] = 0; +-return test_array [0]; +- +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : +- ac_cv_c_char_unsigned=no +-else +- ac_cv_c_char_unsigned=yes +-fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +-fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_char_unsigned" >&5 +-$as_echo "$ac_cv_c_char_unsigned" >&6; } +-if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then +- $as_echo "#define __CHAR_UNSIGNED__ 1" >>confdefs.h +- +-fi +- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 + $as_echo_n "checking for an ANSI C-conforming const... " >&6; } + if ${ac_cv_c_const+:} false; then : +diff --git a/configure.ac b/configure.ac +index 5aa91cbad3..0efeb8f585 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4322,7 +4322,6 @@ fi + + # checks for compiler characteristics + +-AC_C_CHAR_UNSIGNED + AC_C_CONST + + works=no +diff --git a/pyconfig.h.in b/pyconfig.h.in +index b97b8f8bf8..8a4aeda646 100644 +--- a/pyconfig.h.in ++++ b/pyconfig.h.in +@@ -1656,11 +1656,6 @@ + /* Define on FreeBSD to activate all library features */ + #undef __BSD_VISIBLE + +-/* Define to 1 if type `char' is unsigned and you are not using gcc. */ +-#ifndef __CHAR_UNSIGNED__ +-# undef __CHAR_UNSIGNED__ +-#endif +- + /* Define to 'long' if doesn't define. */ + #undef clock_t + diff --git a/python3.10.spec b/python3.10.spec index cc2c635..636c32a 100644 --- a/python3.10.spec +++ b/python3.10.spec @@ -17,7 +17,7 @@ URL: https://www.python.org/ #global prerel ... %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} -Release: 2%{?dist} +Release: 3%{?dist} License: Python @@ -312,6 +312,10 @@ Patch328: 00328-pyc-timestamp-invalidation-mode.patch # https://github.com/GrahamDumpleton/mod_wsgi/issues/730 Patch371: 00371-revert-bpo-1596321-fix-threading-_shutdown-for-the-main-thread-gh-28549-gh-28589.patch +# 00376 # 9fecd19d88858a4a5ff753c9c91e857c897ff47a +# Remove AC_C_CHAR_UNSIGNED / __CHAR_UNSIGNED__ +Patch376: 00376-remove-ac_c_char_unsigned-__char_unsigned__.patch + # (New patches go here ^^^) # # When adding new patches to "python" and "python3" in Fedora, EL, etc., @@ -1607,6 +1611,10 @@ CheckPython optimized # ====================================================== %changelog +* Tue Feb 01 2022 Tomáš Hrnčiar - 3.10.2-3 +- Backport AC_C_CHAR_UNSIGNED/__CHAR_UNSIGNED__ removal +- Fixes: rhbz#2043555 + * Fri Jan 21 2022 Fedora Release Engineering - 3.10.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild