%bcond_without tests # disables Python testing
%bcond_with verbose_tests # runs tests in verbose mode
%bcond_without optimizations # expensive, stable optimizations (PGO etc.) + LTO
-%bcond_with semantic_interposition # build without \-fno-semantic-interposition
#
# tests which will not work on 64-bit platforms
%define no64bit_tests -x test_audioop -x test_rgbimg -x test_imageop
%define _python_target_abi %{?_gnu}
%endif
-%define py_ver 3.9
+%define py_ver 3.10
%define py_abi %{py_ver}
%define py_platform %{py_abi}-%{_target_base_arch}-%{_target_os}%{?_python_target_abi}
%define py_prefix %{_prefix}
Summary(tr.UTF-8): X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili
Summary(uk.UTF-8): Мова програмування дуже високого рівня з X-інтерфейсом
Name: python3
-Version: %{py_ver}.7
-Release: 2
+Version: %{py_ver}.4
+Release: 5
Epoch: 1
License: PSF
Group: Development/Languages/Python
Source0: https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
-# Source0-md5: fddb060b483bc01850a3f412eea1d954
+# Source0-md5: 21f2e113e087083a1e8cf10553d93599
Source1: pyconfig.h.in
Patch0: %{name}-pythonpath.patch
Patch1: %{name}-ac_fixes.patch
Patch2: %{name}-multilib.patch
Patch3: %{name}-no_cmdline_tests.patch
-Patch4: %{name}-makefile-location.patch
+
Patch5: %{name}-config.patch
-Patch6: %{name}-BLDLIBRARY.patch
Patch7: %{name}-db.patch
-Patch8: %{name}-install_prefix.patch
Patch9: %{name}-tests_with_pythonpath.patch
Patch10: %{name}-bdist_rpm.patch
Patch11: %{name}-installcompile.patch
# for compatibility with existing Ac packages
Provides: python(bytecode) = %{py_ver}
Provides: python3-enum
-Obsoletes: python3-enum
-%{!?with_info:Obsoletes: python3-doc-info}
+Obsoletes: python3-enum < 0.5
+%{!?with_info:Obsoletes: python3-doc-info < %{epoch}:%{version}-%{release}}
%description libs
Python shared library and very essental modules for Python binary.
Group: Libraries/Python
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
%{?with_system_mpdecimal:Requires: mpdecimal >= 2.4.2-2}
-Obsoletes: python3-modules-sqlite
+Obsoletes: python3-modules-sqlite < 1:3.1-2
%requires_ge_to openssl openssl-devel
%description modules
Summary(uk.UTF-8): Бібліотеки та хедери для програмування на мові Python
Group: Development/Languages/Python
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+Obsoletes: python3-devel-src < 1:3.2-1
%description devel
The Python interpreter is relatively easy to extend with dynamically
розширень з динамічною загрузкою та вбудовується в інші програми. Цей
пакет містить хедери та бібліотеки, необхідні для обох цих задач.
-%package devel-src
-Summary: Python module sources
-Summary(pl.UTF-8): Pliki źródłowe modułów Pythona
-Group: Development/Languages/Python
-Requires: %{name}-modules = %{epoch}:%{version}-%{release}
-
-%description devel-src
-Python module sources.
-
-%description devel-src -l pl.UTF-8
-Pliki źródłowe modułów Pythona.
-
%package devel-tools
Summary: Python development tools
Summary(pl.UTF-8): Narzędzia programistyczne języka Python
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
+
%patch5 -p1
-%patch6 -p1
%patch7 -p1
-%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
find . -name '*.py' | xargs -r grep -El '^#! */usr/bin/env python3?' | xargs %{__sed} -i -e '1s,^#! */usr/bin/env python3\?,#!/usr/bin/python3,'
+sed -E -i -e '1s,#!\s*/usr/bin/env\s+bash(\s|$),#!/bin/bash\1,' \
+ Tools/c-analyzer/must-resolve.sh
+
%build
if ! grep -q "tmpfs" /proc/self/mounts; then
echo "You need to have /dev/shm mounted in order to build this package!" >&2
%configure \
CC="%{__cc}" \
OPT="%{rpmcflags}" \
- CFLAGS_NODIST="%{!?with_semantic_interposition: -fno-semantic-interposition}" \
CPPFLAGS="%{rpmcppflags}" \
LDFLAGS="%{rpmldflags}" \
- LDFLAGS_NODIST="%{debuginfocflags}%{!?with_semantic_interposition: -fno-semantic-interposition}" \
+ LDFLAGS_NODIST="%{debuginfocflags}" \
ac_cv_posix_semaphores_enabled=yes \
ac_cv_broken_sem_getvalue=no \
--enable-ipv6 \
TESTOPTS="%{test_flags} %{test_list}"
%endif
+%if %{with info}
+%{__make} -C Doc texinfo
+%{__make} -C Doc/build/texinfo info
+%endif
+
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_pkgconfigdir}} \
DESTDIR=$RPM_BUILD_ROOT
%if %{with info}
-%{__make} -C Doc/info
-cp -p Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir}
+cp -p Doc/build/texinfo/python*info* $RPM_BUILD_ROOT%{_infodir}
%endif
install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
# that seems to be only an empty extension template,
# which seems to be built only {with tests}
-%{__rm} -f $RPM_BUILD_ROOT%{py_dyndir}/xxlimited.*.so
+%{__rm} $RPM_BUILD_ROOT%{py_dyndir}/xxlimited*.*.so
# already in %%doc
%{__rm} $RPM_BUILD_ROOT%{py_libdir}/LICENSE.txt
%attr(755,root,root) %{_bindir}/python%{py_abi}
%endif
%attr(755,root,root) %{_bindir}/python3
-%{_mandir}/man1/python%{py_ver}.1*
-%{_mandir}/man1/python3.1*
+%{_mandir}/man1/python3*.1*
%files libs
%defattr(644,root,root,755)
%{py_libdir}/__future__.py
%{py_libdir}/__phello__.foo.py
%{py_libdir}/_aix_support.py
-%{py_libdir}/_bootlocale.py
%{py_libdir}/_bootsubprocess.py
%{py_libdir}/_compat_pickle.py
%{py_libdir}/_compression.py
%{py_libdir}/filecmp.py
%{py_libdir}/fileinput.py
%{py_libdir}/fnmatch.py
-%{py_libdir}/formatter.py
%{py_libdir}/fractions.py
%{py_libdir}/ftplib.py
%{py_libdir}/getopt.py
%{py_libdir}/struct.py
%{py_libdir}/subprocess.py
%{py_libdir}/sunau.py
-%{py_libdir}/symbol.py
%{py_libdir}/symtable.py
%{py_libdir}/tabnanny.py
%{py_libdir}/tarfile.py
%{py_libdir}/__pycache__/__future__.cpython-*.py[co]
%{py_libdir}/__pycache__/__phello__.foo.cpython-*.py[co]
%{py_libdir}/__pycache__/_aix_support.cpython-*.py[co]
-%{py_libdir}/__pycache__/_bootlocale.cpython-*.py[co]
%{py_libdir}/__pycache__/_bootsubprocess.cpython-*.py[co]
%{py_libdir}/__pycache__/_compat_pickle.cpython-*.py[co]
%{py_libdir}/__pycache__/_compression.cpython-*.py[co]
%{py_libdir}/__pycache__/filecmp.cpython-*.py[co]
%{py_libdir}/__pycache__/fileinput.cpython-*.py[co]
%{py_libdir}/__pycache__/fnmatch.cpython-*.py[co]
-%{py_libdir}/__pycache__/formatter.cpython-*.py[co]
%{py_libdir}/__pycache__/fractions.cpython-*.py[co]
%{py_libdir}/__pycache__/ftplib.cpython-*.py[co]
%{py_libdir}/__pycache__/getopt.cpython-*.py[co]
%{py_libdir}/__pycache__/struct.cpython-*.py[co]
%{py_libdir}/__pycache__/subprocess.cpython-*.py[co]
%{py_libdir}/__pycache__/sunau.cpython-*.py[co]
-%{py_libdir}/__pycache__/symbol.cpython-*.py[co]
%{py_libdir}/__pycache__/symtable.cpython-*.py[co]
%{py_libdir}/__pycache__/tabnanny.cpython-*.py[co]
%{py_libdir}/__pycache__/tarfile.cpython-*.py[co]
%attr(755,root,root) %{py_dyndir}/mmap.cpython-*.so
%attr(755,root,root) %{py_dyndir}/nis.cpython-*.so
%attr(755,root,root) %{py_dyndir}/ossaudiodev.cpython-*.so
-%attr(755,root,root) %{py_dyndir}/parser.cpython-*.so
%attr(755,root,root) %{py_dyndir}/pyexpat.cpython-*.so
%attr(755,root,root) %{py_dyndir}/readline.cpython-*.so
%attr(755,root,root) %{py_dyndir}/resource.cpython-*.so
%dir %{py_libdir}/importlib
%{py_libdir}/importlib/__pycache__
%{py_libdir}/importlib/*.py
+%dir %{py_libdir}/importlib/metadata
+%{py_libdir}/importlib/metadata/__pycache__
+%{py_libdir}/importlib/metadata/*.py
%dir %{py_libdir}/json
%{py_libdir}/json/__pycache__
%if %{with info}
%files doc-info
%defattr(644,root,root,755)
-%{_infodir}/*.info*
+%{_infodir}/python.info*
%endif
%if %{with tkinter}