diff --git a/.gitignore b/.gitignore index d23c3d9..53b6c60 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/pybind11-2.6.2.tar.gz +SOURCES/pybind11-2.13.1.tar.gz diff --git a/.pybind11.metadata b/.pybind11.metadata index 15aa587..17eddad 100644 --- a/.pybind11.metadata +++ b/.pybind11.metadata @@ -1 +1 @@ -e340be2d61439deaf7bdd4bd273bb8c51b713f26 SOURCES/pybind11-2.6.2.tar.gz +a7708e7b6538f31cb69223815f0304129a0e93ec SOURCES/pybind11-2.13.1.tar.gz diff --git a/SOURCES/0001-fixed-a-compilation-error-with-gcc-14.patch b/SOURCES/0001-fixed-a-compilation-error-with-gcc-14.patch new file mode 100644 index 0000000..08edaee --- /dev/null +++ b/SOURCES/0001-fixed-a-compilation-error-with-gcc-14.patch @@ -0,0 +1,22 @@ +From 51c2aa16de5b50fe4be6a0016d6090d4a831899e Mon Sep 17 00:00:00 2001 +From: wenqing +Date: Fri, 28 Jun 2024 16:12:32 +0200 +Subject: [PATCH] Fixed a compilation error with gcc 14 (#5208) + +--- + include/pybind11/typing.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/pybind11/typing.h b/include/pybind11/typing.h +index c8ba18d499..b0feb9464a 100644 +--- a/include/pybind11/typing.h ++++ b/include/pybind11/typing.h +@@ -14,6 +14,8 @@ + #include "cast.h" + #include "pytypes.h" + ++#include ++ + PYBIND11_NAMESPACE_BEGIN(PYBIND11_NAMESPACE) + PYBIND11_NAMESPACE_BEGIN(typing) + diff --git a/SOURCES/pybind11-2.10.1-hpath.patch b/SOURCES/pybind11-2.10.1-hpath.patch new file mode 100644 index 0000000..c615c6d --- /dev/null +++ b/SOURCES/pybind11-2.10.1-hpath.patch @@ -0,0 +1,28 @@ +diff -uNr pybind11-2.10.1.bak/pybind11/commands.py pybind11-2.10.1/pybind11/commands.py +--- pybind11-2.10.1.bak/pybind11/commands.py 2022-11-07 15:25:26.651515082 -0600 ++++ pybind11-2.10.1/pybind11/commands.py 2022-11-07 15:27:01.574703289 -0600 +@@ -8,22 +8,13 @@ + Return the path to the pybind11 include directory. The historical "user" + argument is unused, and may be removed. + """ +- installed_path = os.path.join(DIR, "include") +- source_path = os.path.join(os.path.dirname(DIR), "include") +- return installed_path if os.path.exists(installed_path) else source_path +- ++ return '/usr/include/pybind11' + + def get_cmake_dir() -> str: + """ + Return the path to the pybind11 CMake module directory. + """ +- cmake_installed_path = os.path.join(DIR, "share", "cmake", "pybind11") +- if os.path.exists(cmake_installed_path): +- return cmake_installed_path +- +- msg = "pybind11 not installed, installation required to access the CMake files" +- raise ImportError(msg) +- ++ return '/usr/share/cmake/pybind11' + + def get_pkgconfig_dir() -> str: + """ diff --git a/SOURCES/pybind11-2.6.1-hpath.patch b/SOURCES/pybind11-2.6.1-hpath.patch deleted file mode 100644 index 07271a2..0000000 --- a/SOURCES/pybind11-2.6.1-hpath.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -up pybind11-2.6.1/pybind11/commands.py.hpath pybind11-2.6.1/pybind11/commands.py ---- pybind11-2.6.1/pybind11/commands.py.hpath 2020-11-11 22:33:21.000000000 +0100 -+++ pybind11-2.6.1/pybind11/commands.py 2020-11-12 13:22:07.355000414 +0100 -@@ -1,22 +1,8 @@ - # -*- coding: utf-8 -*- - import os - -- --DIR = os.path.abspath(os.path.dirname(__file__)) -- -- - def get_include(user=False): -- # type: (bool) -> str -- installed_path = os.path.join(DIR, "include") -- source_path = os.path.join(os.path.dirname(DIR), "include") -- return installed_path if os.path.exists(installed_path) else source_path -- -+ return '/usr/include/pybind11' - - def get_cmake_dir(): -- # type: () -> str -- cmake_installed_path = os.path.join(DIR, "share", "cmake", "pybind11") -- if os.path.exists(cmake_installed_path): -- return cmake_installed_path -- else: -- msg = "pybind11 not installed, installation required to access the CMake files" -- raise ImportError(msg) -+ return '/usr/share/cmake/pybind11' -diff -up pybind11-2.6.1/pybind11/__init__.py.hpath pybind11-2.6.1/pybind11/__init__.py -diff -up pybind11-2.6.1/pybind11/__main__.py.hpath pybind11-2.6.1/pybind11/__main__.py diff --git a/SPECS/pybind11.spec b/SPECS/pybind11.spec index 0957e89..fb018f9 100644 --- a/SPECS/pybind11.spec +++ b/SPECS/pybind11.spec @@ -4,11 +4,6 @@ # https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Header_Only_Libraries %global debug_package %{nil} -%ifarch ppc64le -# The tests are not LTO-compatible on power -%global _lto_cflags %{nil} -%endif - # Whether to run the tests, enabled by default %bcond_without tests @@ -21,15 +16,18 @@ %global python3_enabled 1 Name: pybind11 -Version: 2.6.2 -Release: 6%{?dist} +Version: 2.13.1 +Release: 3%{?dist} Summary: Seamless operability between C++11 and Python -License: BSD +License: BSD-3-Clause URL: https://github.com/pybind/pybind11 Source0: https://github.com/pybind/pybind11/archive/v%{version}/%{name}-%{version}.tar.gz # Patch out header path -Patch1: pybind11-2.6.1-hpath.patch +Patch1: pybind11-2.10.1-hpath.patch + +# https://github.com/pybind/pybind11/commit/51c2aa16de5b50fe4be6a0016d6090d4a831899e +Patch2: 0001-fixed-a-compilation-error-with-gcc-14.patch BuildRequires: make %if %{python2_enabled} @@ -70,12 +68,8 @@ C++ code. %package devel Summary: Development headers for pybind11 -# The manual epoch is set to make this the highest possible EVR -# of pybind11-static across Pythons in RHEL9, to fix RHEL-5571 with RHEL-38108 -Epoch: 1 # https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Header_Only_Libraries -Provides: %{name}-static = 1:%{version}-%{release} -Obsoletes: python39-%{name}-devel < %{version}-%{release} +Provides: %{name}-static = %{version}-%{release} # For dir ownership Requires: cmake @@ -88,7 +82,7 @@ This package contains the development headers for pybind11. %package -n python2-%{name} Summary: %{summary} %{?python_provide:%python_provide python2-pybind11} -Requires: %{name}-devel%{?_isa} = 1:%{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description -n python2-%{name} %{base_description} @@ -101,7 +95,7 @@ This package contains the Python 2 files. Summary: %{summary} %{?python_provide:%python_provide python3-pybind11} -Requires: %{name}-devel%{?_isa} = 1:%{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} %if !%{python2_enabled} # Take care of upgrade path @@ -116,7 +110,8 @@ This package contains the Python 3 files. %prep %setup -q -%patch1 -p1 -b .hpath +%patch 1 -p1 -b .hpath +%patch 2 -p1 -b .gcc-14 %build pys="" @@ -175,6 +170,7 @@ PYBIND11_USE_CMAKE=true %py3_install "--install-purelib" "%{python3_sitearch}" %{_includedir}/pybind11/ %{_datadir}/cmake/pybind11/ %{_bindir}/pybind11-config +%{_datadir}/pkgconfig/%{name}.pc %if %{python2_enabled} %files -n python2-%{name} @@ -189,26 +185,104 @@ PYBIND11_USE_CMAKE=true %py3_install "--install-purelib" "%{python3_sitearch}" %endif %changelog -* Wed Jul 24 2024 Miro Hrončok - 2.6.2-6 -- Introduce epoch to pybind11-devel to sort newer than python3.11-pybind11-devel -- Resolves: RHEL-38108 - -* Tue Feb 22 2022 Tomas Orsava - 2.6.2-5 -- Add gating configuration and a simple smoke test -- Related: rhbz#1950291 - -* Tue Feb 08 2022 Tomas Orsava - 2.6.2-4 -- Add automatically generated Obsoletes tag with the python39- prefix - for smoother upgrade from RHEL8 -- Manually add Provides and Obsoletes for python39-pybind11-devel -- Related: rhbz#1990421 - -* Tue Aug 10 2021 Mohan Boddu - 2.6.2-3 -- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Related: rhbz#1991688 - -* Fri Apr 16 2021 Mohan Boddu - 2.6.2-2 -- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 +* Thu Dec 26 2024 Arkady L. Shane - 2.13.1-3 +- Rebuilt for MSVSphere 10 + +* Sat Jul 20 2024 Kefu Chai - 2.13.1-3 +- Apply upstream patch to fix build with GCC-14 + +* Fri Jul 19 2024 Fedora Release Engineering - 2.13.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jul 05 2024 Susi Lehtola - 2.13.1-1 +- Update to 2.13.1. + +* Mon Jun 10 2024 Lukáš Zaoral - 2.12.0-4 +- migrate to SPDX license format + +* Sat Jun 08 2024 Python Maint - 2.12.0-3 +- Rebuilt for Python 3.13 + +* Fri Jun 07 2024 Python Maint - 2.12.0-2 +- Bootstrap for Python 3.13 + +* Tue Apr 09 2024 Susi Lehtola - 2.12.0-1 +- Update to 2.12.0. + +* Fri Jan 26 2024 Fedora Release Engineering - 2.11.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 2.11.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jul 24 2023 Susi Lehtola - 2.11.1-1 +- Update to 2.11.1. + +* Mon Jul 24 2023 Susi Lehtola - 2.11.0-1 +- Update to 2.11.0. + +* Fri Jul 21 2023 Fedora Release Engineering - 2.10.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jun 16 2023 Python Maint - 2.10.4-3 +- Rebuilt for Python 3.12 + +* Tue Jun 13 2023 Python Maint - 2.10.4-2 +- Bootstrap for Python 3.12 + +* Fri Mar 17 2023 Pavel Šimovec - 2.10.4-1 +- Update to 2.10.4 rhbz#2179208 + +* Fri Jan 20 2023 Fedora Release Engineering - 2.10.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Jan 09 2023 Jonathan Wright - 2.10.3-1 +- Update to 2.10.3 rhbz#2155679 + +* Mon Nov 07 2022 Jonathan Wright - 2.10.1-1 +- Update to 2.10.1 rhbz#2139245 + +* Tue Aug 02 2022 Susi Lehtola - 2.10.0-1 +- Update to 2.10.0. + +* Fri Jul 22 2022 Fedora Release Engineering - 2.9.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jun 14 2022 Python Maint - 2.9.2-3 +- Rebuilt for Python 3.11 + +* Mon Jun 13 2022 Python Maint - 2.9.2-2 +- Bootstrap for Python 3.11 + +* Sat Apr 02 2022 Susi Lehtola - 2.9.2-1 +- Update to 2.9.2. + +* Tue Feb 08 2022 Susi Lehtola - 2.9.1-1 +- Update to 2.9.1. + +* Fri Jan 21 2022 Fedora Release Engineering - 2.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Dec 29 2021 Susi Lehtola - 2.9.0-1 +- Update to 2.9.0. + +* Fri Nov 26 2021 Susi Lehtola - 2.8.1-1 +- Update to 2.8.1. + +* Wed Aug 04 2021 Susi Lehtola - 2.7.1-1 +- Update to 2.7.1. + +* Fri Jul 23 2021 Fedora Release Engineering - 2.7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sat Jul 17 2021 Susi Lehtola - 2.7.0-1 +- Update to 2.7.0. + +* Fri Jun 04 2021 Python Maint - 2.6.2-3 +- Rebuilt for Python 3.10 + +* Fri Jun 04 2021 Python Maint - 2.6.2-2 +- Bootstrap for Python 3.10 * Wed Jan 27 2021 Susi Lehtola - 2.6.2-1 - Update to 2.6.2.