]> git.pld-linux.org Git - packages/python3.git/blobdiff - python3.spec
- rel 2; rediff patches
[packages/python3.git] / python3.spec
index 4ebc77fd34b18b9aa1e180a011c58d3f0ae49b96..2ab914f9d177798c9c6d3e8b17a1065bbc795035 100644 (file)
@@ -11,7 +11,7 @@
 # tests which will not work on 64-bit platforms
 %define                no64bit_tests   -x test_audioop -x test_rgbimg -x test_imageop
 # tests which may fail because of builder environment limitations (no /proc or /dev/pts)
-%define                nobuilder_tests -x test_resource -x test_openpty -x test_socket -x test_nis -x test_posix -x test_locale -x test_pty -x test_asyncio -x test_os -x test_readline -x test_normalization
+%define                nobuilder_tests -u-network -x test_resource -x test_openpty -x test_socket -x test_nis -x test_posix -x test_locale -x test_pty -x test_asyncio -x test_os -x test_readline -x test_normalization
 
 # tests which fail because of some unknown/unresolved reason (this list should be %{nil})
 #   test_site: fails because our site.py is patched to include both /usr/share/... and /usr/lib...
 %define                broken_tests_x32        -x test_time
 %undefine      with_optimizations
 %endif
-%define                broken_tests    -x test_nntplib -x test_gdb -x test_site -x test_distutils -x test_bdist_rpm -x test_ssl %{?broken_tests_x32}
+%define                broken_tests    -x test_embed -x test_nntplib -x test_gdb -x test_site -x test_distutils -x test_bdist_rpm -x test_ssl %{?broken_tests_x32}
 
-%define py_ver         3.7
-%define py_abi         %{py_ver}m
-%define        py_platform     %{py_abi}-%{_target_base_arch}-%{_target_os}%{?_gnu}
+%ifarch armv6hl armv7hl armv7hnl
+%define                _python_target_abi      %{?_gnu}hf
+%else
+%define                _python_target_abi      %{?_gnu}
+%endif
+
+%define py_ver         3.9
+%define py_abi         %{py_ver}
+%define        py_platform     %{py_abi}-%{_target_base_arch}-%{_target_os}%{?_python_target_abi}
 %define py_prefix      %{_prefix}
 %define py_libdir      %{py_prefix}/%{_lib}/python%{py_ver}
 %define py_incdir      %{_includedir}/python%{py_abi}
@@ -41,13 +47,13 @@ Summary(ru.UTF-8):  Язык программирования очень высо
 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}.4
+Version:       %{py_ver}.2
 Release:       2
 Epoch:         1
 License:       PSF
 Group:         Development/Languages/Python
 Source0:       https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
-# Source0-md5: d33e4aae66097051c2eca45ee3604803
+# Source0-md5: f0dc9000312abeb16de4eccce9a870ab
 Source1:       pyconfig.h.in
 Patch0:                %{name}-pythonpath.patch
 Patch1:                %{name}-ac_fixes.patch
@@ -55,16 +61,16 @@ Patch2:             %{name}-multilib.patch
 Patch3:                %{name}-no_cmdline_tests.patch
 Patch4:                %{name}-makefile-location.patch
 Patch5:                %{name}-config.patch
-Patch6:                python-distro.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
-# https://bugs.python.org/file21896/nonexistent_user.patch
-Patch12:        nonexistent_user.patch
+
 Patch13:       %{name}-no-randomize-tests.patch
 Patch14:       python3-profile-tests.patch
+Patch15:       python3-tests.patch
 URL:           https://www.python.org/
 BuildRequires: autoconf >= 2.65
 BuildRequires: automake
@@ -80,8 +86,10 @@ BuildRequires:       glibc-localedb-all
 %endif
 BuildRequires: gmp-devel >= 4.0
 BuildRequires: libffi-devel
+BuildRequires: libnsl-devel
 BuildRequires: libstdc++-devel
-%{?with_system_mpdecimal:BuildRequires:        mpdecimal-devel >= 2.4.1}
+BuildRequires: libtirpc-devel
+%{?with_system_mpdecimal:BuildRequires:        mpdecimal-devel >= 2.5.0}
 BuildRequires: ncurses-ext-devel >= 5.2
 BuildRequires: openssl-devel >= 0.9.7
 BuildRequires: pkgconfig
@@ -239,7 +247,7 @@ Summary:    Python modules
 Summary(pl.UTF-8):     Moduły języka Python
 Group:         Libraries/Python
 Requires:      %{name}-libs = %{epoch}:%{version}-%{release}
-%{?with_system_mpdecimal:Requires:     mpdecimal >= 2.4.1}
+%{?with_system_mpdecimal:Requires:     mpdecimal >= 2.4.2-2}
 Obsoletes:     python3-modules-sqlite
 %requires_ge_to        openssl openssl-devel
 
@@ -495,13 +503,14 @@ Moduły testowe dla Pythona.
 %patch9 -p1
 %patch10 -p1
 %patch11 -p1
-%patch12 -p1
+
 %patch13 -p1
 %patch14 -p1
+%patch15 -p1
 
 %{__rm} -r Modules/expat
 
-for SUBDIR in darwin libffi_msvc libffi_osx; do
+for SUBDIR in darwin libffi_osx; do
        %{__rm} -r Modules/_ctypes/$SUBDIR/*
 done
 
@@ -513,6 +522,16 @@ for f in $files; do
 done
 %endif
 
+sed -E -i -e '1s,#!\s*/usr/bin/env\s+python2(\s|$),#!%{__python}\1,' -e '1s,#!\s*/usr/bin/env\s+python(\s|$),#!%{__python}\1,' -e '1s,#!\s*/usr/bin/python(\s|$),#!%{__python}\1,' \
+      Tools/gdb/libpython.py \
+      Tools/pynche/pynche \
+      Tools/pynche/pynche.pyw \
+      Tools/scripts/2to3
+
+sed -E -i -e '1s,#!\s*/usr/bin/env\s+python3(\s|$),#!%{__python3}\1,' \
+      Tools/scripts/idle3 \
+      Tools/scripts/pydoc3
+
 find . -name '*.py' | xargs -r grep -El '^#! */usr/bin/env python3?' | xargs %{__sed} -i -e '1s,^#! */usr/bin/env python3\?,#!/usr/bin/python3,'
 
 %build
@@ -526,7 +545,7 @@ fi
 %{__autoconf}
 %configure \
        CC="%{__cc}" \
-       OPT="%{rpmcflags} -fno-caller-saves" \
+       OPT="%{rpmcflags}" \
        CPPFLAGS="%{rpmcppflags}" \
        LDFLAGS="%{rpmldflags}" \
        ac_cv_posix_semaphores_enabled=yes \
@@ -537,7 +556,9 @@ fi
        --with-dbmliborder=gdbm:ndbm:bdb \
        --with-doc-strings \
        --without-ensurepip \
+        --with-platlibdir="%{_lib}" \
        %{?with_debug:--with-pydebug} \
+        --with-ssl-default-suites=openssl \
        --with-system-expat \
        --with-system-ffi \
        %{?with_system_mpdecimal:--with-system-libmpdec} \
@@ -546,8 +567,13 @@ fi
        --with-lto
 %endif
 
+if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+      echo "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." >&2
+      exit 1
+fi
+
 %{__make} \
-       TESTOPTS="%{test_list}" \
+       TESTOPTS="%{_smp_mflags} %{test_list}" \
        2>&1 | awk '
 BEGIN { fail = 0; logmsg = ""; }
 {
@@ -562,7 +588,7 @@ END { if (fail) { print "\nPROBLEMS FOUND:"; print logmsg; exit(1); } }'
 LC_ALL=C.UTF-8
 export LC_ALL
 %if %{with tests}
-WITHIN_PYTHON_RPM_BUILD=1 %{__make} -j1 test \
+WITHIN_PYTHON_RPM_BUILD=1 %{__make} test \
        TESTOPTS="%{test_flags} %{test_list}"
 %endif
 
@@ -631,7 +657,6 @@ install -p Tools/scripts/reindent.py $RPM_BUILD_ROOT%{_bindir}/pyreindent%{py_ve
 
 # just to cut the noise, as they are not packaged (now)
 %{__rm} $RPM_BUILD_ROOT%{py_libdir}/ctypes/macholib/fetch_macholib*
-%{__rm} $RPM_BUILD_ROOT%{py_libdir}/distutils/command/wininst*.exe
 %{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/*.bat
 %{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/*.pyw
 %{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/help.html
@@ -665,7 +690,9 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/python%{py_ver}
+%if "%{py_ver}" != "%{py_abi}"
 %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*
@@ -769,14 +796,13 @@ rm -rf $RPM_BUILD_ROOT
 %files modules
 %defattr(644,root,root,755)
 %config(noreplace) %verify(not md5 mtime size) /etc/shrc.d/python*-modules*
-%attr(755,root,root) %{_bindir}/pyvenv
-%attr(755,root,root) %{_bindir}/pyvenv-%{py_ver}
 %{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}/_dummy_thread.py
 %{py_libdir}/_markupbase.py
 %{py_libdir}/_osx_support.py
 %{py_libdir}/_pydecimal.py
@@ -816,7 +842,6 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/difflib.py
 %{py_libdir}/dis.py
 %{py_libdir}/doctest.py
-%{py_libdir}/dummy_threading.py
 %{py_libdir}/filecmp.py
 %{py_libdir}/fileinput.py
 %{py_libdir}/fnmatch.py
@@ -827,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/getpass.py
 %{py_libdir}/gettext.py
 %{py_libdir}/glob.py
+%{py_libdir}/graphlib.py
 %{py_libdir}/gzip.py
 %{py_libdir}/hashlib.py
 %{py_libdir}/hmac.py
@@ -836,7 +862,6 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/inspect.py
 %{py_libdir}/ipaddress.py
 %{py_libdir}/lzma.py
-%{py_libdir}/macpath.py
 %{py_libdir}/mailbox.py
 %{py_libdir}/mailcap.py
 %{py_libdir}/mimetypes.py
@@ -906,12 +931,14 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/xdrlib.py
 %{py_libdir}/zipapp.py
 %{py_libdir}/zipfile.py
+%{py_libdir}/zipimport.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__/_dummy_thread.cpython-*.py[co]
 %{py_libdir}/__pycache__/_markupbase.cpython-*.py[co]
 %{py_libdir}/__pycache__/_osx_support.cpython-*.py[co]
 %{py_libdir}/__pycache__/_pydecimal.cpython-*.py[co]
@@ -951,7 +978,6 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/__pycache__/difflib.cpython-*.py[co]
 %{py_libdir}/__pycache__/dis.cpython-*.py[co]
 %{py_libdir}/__pycache__/doctest.cpython-*.py[co]
-%{py_libdir}/__pycache__/dummy_threading.cpython-*.py[co]
 %{py_libdir}/__pycache__/filecmp.cpython-*.py[co]
 %{py_libdir}/__pycache__/fileinput.cpython-*.py[co]
 %{py_libdir}/__pycache__/fnmatch.cpython-*.py[co]
@@ -962,6 +988,7 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/__pycache__/getpass.cpython-*.py[co]
 %{py_libdir}/__pycache__/gettext.cpython-*.py[co]
 %{py_libdir}/__pycache__/glob.cpython-*.py[co]
+%{py_libdir}/__pycache__/graphlib.cpython-*.py[co]
 %{py_libdir}/__pycache__/gzip.cpython-*.py[co]
 %{py_libdir}/__pycache__/hashlib.cpython-*.py[co]
 %{py_libdir}/__pycache__/hmac.cpython-*.py[co]
@@ -971,7 +998,6 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/__pycache__/inspect.cpython-*.py[co]
 %{py_libdir}/__pycache__/ipaddress.cpython-*.py[co]
 %{py_libdir}/__pycache__/lzma.cpython-*.py[co]
-%{py_libdir}/__pycache__/macpath.cpython-*.py[co]
 %{py_libdir}/__pycache__/mailbox.cpython-*.py[co]
 %{py_libdir}/__pycache__/mailcap.cpython-*.py[co]
 %{py_libdir}/__pycache__/mimetypes.cpython-*.py[co]
@@ -1041,6 +1067,7 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/__pycache__/xdrlib.cpython-*.py[co]
 %{py_libdir}/__pycache__/zipapp.cpython-*.py[co]
 %{py_libdir}/__pycache__/zipfile.cpython-*.py[co]
+%{py_libdir}/__pycache__/zipimport.cpython-*.py[co]
 
 #
 # list .so modules to be sure that all of them are built
@@ -1079,6 +1106,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{py_dyndir}/_multiprocessing.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_opcode.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_pickle.cpython-*.so
+%attr(755,root,root) %{py_dyndir}/_posixshmem.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_posixsubprocess.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_queue.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_random.cpython-*.so
@@ -1086,11 +1114,14 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{py_dyndir}/_sha3.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_socket.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_ssl.cpython-*.so
+%attr(755,root,root) %{py_dyndir}/_statistics.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_testbuffer.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_testcapi.cpython-*.so
+%attr(755,root,root) %{py_dyndir}/_testinternalcapi.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_testimportmultiple.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_testmultiphase.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_uuid.cpython-*.so
+%attr(755,root,root) %{py_dyndir}/_xxsubinterpreters.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_xxtestfuzz.cpython-*.so
 
 # for openssl < 0.9.8 package sha256 and sha512 modules
@@ -1209,6 +1240,7 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/venv/*.py
 %dir %{py_libdir}/venv/scripts
 %dir %{py_libdir}/venv/scripts/common
+%{py_libdir}/venv/scripts/common/Activate.ps1
 %{py_libdir}/venv/scripts/common/activate
 %dir %{py_libdir}/venv/scripts/posix
 %{py_libdir}/venv/scripts/posix/activate.csh
@@ -1243,6 +1275,11 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/sqlite3/__pycache__
 %{py_libdir}/sqlite3/*.py
 
+%attr(755,root,root) %{py_dyndir}/_zoneinfo.cpython-*.so
+%dir %{py_libdir}/zoneinfo
+%{py_libdir}/zoneinfo/__pycache__
+%{py_libdir}/zoneinfo/*.py
+
 %files -n pydoc3
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/pydoc3
@@ -1270,12 +1307,15 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc Misc/{ACKS,NEWS,README,README.valgrind,valgrind-python.supp}
 %attr(755,root,root) %{_bindir}/python%{py_ver}-config
+%if "%{py_ver}" != "%{py_abi}"
 %attr(755,root,root) %{_bindir}/python%{py_abi}-config
+%endif
 %attr(755,root,root) %{_bindir}/python3-config
 %attr(755,root,root) %{_libdir}/libpython%{py_abi}.so
 %attr(755,root,root) %{_libdir}/libpython3.so
 %{py_incdir}/*.h
 %exclude %{py_incdir}/pyconfig.h
+%{py_incdir}/cpython
 %{py_incdir}/internal
 %attr(755,root,root) %{py_libdir}/config-%{py_platform}/makesetup
 %attr(755,root,root) %{py_libdir}/config-%{py_platform}/install-sh
@@ -1286,7 +1326,11 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{py_libdir}/config-%{py_platform}/__pycache__
 %{py_libdir}/config-%{py_platform}/__pycache__/python-config.*
 %{_pkgconfigdir}/python-%{py_ver}.pc
+%{_pkgconfigdir}/python-%{py_ver}-embed.pc
+%{_pkgconfigdir}/python3-embed.pc
+%if "%{py_ver}" != "%{py_abi}"
 %{_pkgconfigdir}/python-%{py_abi}.pc
+%endif
 %{_pkgconfigdir}/python3.pc
 
 %files devel-tools
This page took 0.122644 seconds and 4 git commands to generate.