From f7f6603eecbd62d930def55271ae6d31a6317881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hrn=C4=8Diar?= Date: Mon, 8 Sep 2025 13:59:55 +0200 Subject: [PATCH] RHEL: Import from Fedora --- .gitignore | 29 +++ changelog | 238 ++++++++++++++++++ ...nd11-2.13.6-Drop_some_build-requires.patch | 10 + pybind11-2.13.6-Use_usr_prefix.patch | 12 + pybind11.spec | 118 +++++++++ sources | 1 + 6 files changed, 408 insertions(+) create mode 100644 changelog create mode 100644 pybind11-2.13.6-Drop_some_build-requires.patch create mode 100644 pybind11-2.13.6-Use_usr_prefix.patch create mode 100644 pybind11.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..1d16c73 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,29 @@ +/v2.0.1.tar.gz +/pybind11-2.2.1.tar.gz +/pybind11-2.2.2.tar.gz +/pybind11-2.2.3.tar.gz +/pybind11-2.2.4.tar.gz +/pybind11-2.3.0.tar.gz +/pybind11-2.4.0.tar.gz +/pybind11-2.4.1.tar.gz +/pybind11-2.4.2.tar.gz +/pybind11-2.4.3.tar.gz +/pybind11-2.5.0.tar.gz +/pybind11-2.6.0.tar.gz +/pybind11-2.6.1.tar.gz +/pybind11-2.6.2.tar.gz +/pybind11-2.7.0.tar.gz +/pybind11-2.7.1.tar.gz +/v2.8.1.tar.gz +/pybind11-2.9.0.tar.gz +/pybind11-2.9.1.tar.gz +/pybind11-2.9.2.tar.gz +/pybind11-2.10.0.tar.gz +/pybind11-2.10.1.tar.gz +/pybind11-2.10.3.tar.gz +/pybind11-2.10.4.tar.gz +/pybind11-2.11.0.tar.gz +/pybind11-2.11.1.tar.gz +/pybind11-2.12.0.tar.gz +/pybind11-2.13.1.tar.gz +/pybind11-2.13.6.tar.gz diff --git a/changelog b/changelog new file mode 100644 index 0000000..447097a --- /dev/null +++ b/changelog @@ -0,0 +1,238 @@ +* Wed Aug 20 2025 Cristian Le - 2.13.6-7 +- Refactor the build script +- Drop the python3-python2 distinction +- Use standard cmake and pyproject macros (rhbz#2377381) +- Allow to build with arbitrary generator (rhbz#2381106) + +* Fri Aug 15 2025 Python Maint - 2.13.6-6 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Fri Jul 25 2025 Fedora Release Engineering - 2.13.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Wed Jun 04 2025 Python Maint - 2.13.6-4 +- Rebuilt for Python 3.14 + +* Mon Jun 02 2025 Python Maint - 2.13.6-3 +- Bootstrap for Python 3.14 + +* Sat Jan 18 2025 Fedora Release Engineering - 2.13.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Mon Nov 11 2024 Gwyn Ciesla - 2.13.6-1 +- 2.13.6 + +* 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. + +* Wed Jan 27 2021 Fedora Release Engineering - 2.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Nov 12 2020 Susi Lehtola - 2.6.1-1 +- Update to 2.6.1. + +* Wed Aug 12 2020 Merlin Mathesius - 2.5.0-5 +- Drop Python 2 support for ELN and RHEL9+ + +* Wed Aug 05 2020 Susi Lehtola - 2.5.0-6 +- Adapt to new CMake macros. + +* Sat Aug 01 2020 Fedora Release Engineering - 2.5.0-5 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 2.5.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro Hrončok - 2.5.0-3 +- Rebuilt for Python 3.9 + +* Mon May 25 2020 Miro Hrončok - 2.5.0-2 +- Bootstrap for Python 3.9 + +* Wed Apr 01 2020 Susi Lehtola - 2.5.0-1 +- Update to 2.5.0. + +* Thu Jan 30 2020 Fedora Release Engineering - 2.4.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Oct 15 2019 Susi Lehtola - 2.4.3-1 +- Update to 2.4.3. + +* Tue Oct 08 2019 Susi Lehtola - 2.4.2-2 +- Fix Python 3.8 incompatibility. + +* Sat Sep 28 2019 Susi Lehtola - 2.4.2-1 +- Update to 2.4.2. + +* Fri Sep 20 2019 Susi Lehtola - 2.4.1-1 +- Update to 2.4.1. + +* Fri Sep 20 2019 Susi Lehtola - 2.4.0-1 +- Update to 2.4.0. + +* Mon Aug 19 2019 Miro Hrončok - 2.3.0-3 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 2.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jul 10 2019 Susi Lehtola - 2.3.0-1 +- Update to 2.3.0. + +* Fri May 03 2019 Susi Lehtola - 2.2.4-3 +- Fix incompatibility with pytest 4.0. + +* Sat Feb 02 2019 Fedora Release Engineering - 2.2.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Sep 18 2018 Susi Lehtola - 2.2.4-1 +- Remove python2 packages for Fedora >= 30. +- Update to 2.2.4. + +* Fri Jul 13 2018 Fedora Release Engineering - 2.2.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Sat Jun 23 2018 Miro Hrončok - 2.2.3-2 +- Rebuilt for Python 3.7 + +* Fri Jun 22 2018 Susi Lehtola - 2.2.3-1 +- Update to 2.2.3. + +* Tue Jun 19 2018 Miro Hrončok - 2.2.2-4 +- Rebuilt for Python 3.7 + +* Mon Apr 16 2018 Susi Lehtola - 2.2.2-3 +- Add Python subpackages based on Elliott Sales de Andrade's patch. + +* Sat Feb 17 2018 Susi Lehtola - 2.2.2-2 +- Fix FTBS by patch from upstream. + +* Wed Feb 14 2018 Susi Lehtola - 2.2.2-1 +- Update to 2.2.2. + +* Fri Feb 09 2018 Fedora Release Engineering - 2.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Dec 14 2017 Elliott Sales de Andrade - 2.2.1-1 +- Update to latest version +- Update Source URL to include project name. + +* Thu Aug 03 2017 Fedora Release Engineering - 2.0.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2.0.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Feb 27 2017 Susi Lehtola - 2.0.1-5 +- Full compliance with header only libraries guidelines. + +* Thu Feb 23 2017 Susi Lehtola - 2.0.1-4 +- As advised by upstream, disable dtypes test for now. +- Include patch for tests on bigendian systems. + +* Thu Feb 23 2017 Susi Lehtola - 2.0.1-3 +- Make the package arched so that tests can be run on all architectures. +- Run tests both against python2 and python3. + +* Wed Feb 22 2017 Susi Lehtola - 2.0.1-2 +- Switch to python3 for tests. + +* Sun Feb 05 2017 Susi Lehtola - 2.0.1-1 +- First release. diff --git a/pybind11-2.13.6-Drop_some_build-requires.patch b/pybind11-2.13.6-Drop_some_build-requires.patch new file mode 100644 index 0000000..ad703e0 --- /dev/null +++ b/pybind11-2.13.6-Drop_some_build-requires.patch @@ -0,0 +1,10 @@ +diff -ru pybind11-2.13.6/pyproject.toml pybind11-2.13.6_new/pyproject.toml +--- pybind11-2.13.6/pyproject.toml 2024-09-14 02:25:58.000000000 +0200 ++++ pybind11-2.13.6_new/pyproject.toml 2025-04-30 13:40:03.912785944 +0200 +@@ -1,5 +1,5 @@ + [build-system] +-requires = ["setuptools>=42", "cmake>=3.18", "ninja"] ++requires = ["setuptools>=42"] + build-backend = "setuptools.build_meta" + + diff --git a/pybind11-2.13.6-Use_usr_prefix.patch b/pybind11-2.13.6-Use_usr_prefix.patch new file mode 100644 index 0000000..b454a31 --- /dev/null +++ b/pybind11-2.13.6-Use_usr_prefix.patch @@ -0,0 +1,12 @@ +diff -ru pybind11-2.13.6/pybind11/commands.py pybind11-2.13.6_new/pybind11/commands.py +--- pybind11-2.13.6/pybind11/commands.py 2025-04-30 13:21:58.626584173 +0200 ++++ pybind11-2.13.6_new/pybind11/commands.py 2025-04-30 13:22:22.270871704 +0200 +@@ -2,7 +2,7 @@ + + import os + +-DIR = os.path.abspath(os.path.dirname(__file__)) ++DIR = "/usr" + + + def get_include(user: bool = False) -> str: # noqa: ARG001 diff --git a/pybind11.spec b/pybind11.spec new file mode 100644 index 0000000..b805556 --- /dev/null +++ b/pybind11.spec @@ -0,0 +1,118 @@ +# While the headers are architecture independent, the package must be +# built separately on all architectures so that the tests are run +# properly. See also +# https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Header_Only_Libraries +%global debug_package %{nil} + +# Whether to run the tests, enabled by default +%bcond tests 1 + +Name: pybind11 +Version: 2.13.6 +Release: %autorelease +Summary: Seamless operability between C++11 and Python +License: BSD-3-Clause +URL: https://github.com/pybind/pybind11 +Source0: https://github.com/pybind/pybind11/archive/v%{version}/%{name}-%{version}.tar.gz + +# Use the `/usr` prefix for the python commands +Patch1: pybind11-2.13.6-Use_usr_prefix.patch +# Drop cmake and ninja from build-requires +Patch2: pybind11-2.13.6-Drop_some_build-requires.patch + +# Needed to build the python libraries +BuildRequires: python3-devel +# Test depdendencies are not exposed +%if %{with tests} +BuildRequires: python3-pytest +BuildRequires: python3-numpy +BuildRequires: python3-scipy +%endif + +BuildRequires: eigen3-devel +BuildRequires: gcc-c++ +BuildRequires: cmake + +%global base_description \ +pybind11 is a lightweight header-only library that exposes C++ types \ +in Python and vice versa, mainly to create Python bindings of existing \ +C++ code. + +%description +%{base_description} + +%package devel +Summary: Development headers for pybind11 +# https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Header_Only_Libraries +Provides: %{name}-static = %{version}-%{release} + +%description devel +%{base_description} + +This package contains the development headers for pybind11. + +%package -n python3-%{name} +Summary: %{summary} + +Requires: %{name}-devel%{?_isa} = %{version}-%{release} + +%description -n python3-%{name} +%{base_description} + +This package contains the Python 3 files. + +%prep +%autosetup -p1 + + +%generate_buildrequires +%pyproject_buildrequires + + +%build +# Build with CMake first to install the devel files in OS native paths +# When -DCMAKE_BUILD_TYPE is set to Release, the tests in %%check might segfault. +# However, we do not ship any binaries, and therefore Debug +# build type does not affect the results. +# https://bugzilla.redhat.com/show_bug.cgi?id=1921199 +%cmake \ + -DCMAKE_BUILD_TYPE=Debug \ + %{!?with_tests:-DPYBIND11_TEST=OFF} \ + -DUSE_PYTHON_INCLUDE_DIR=FALSE +%cmake_build + +# Build again with the python build system to get the python files +%pyproject_wheel + + +%install +%cmake_install +%pyproject_install +%pyproject_save_files pybind11 + +# Remove the devel files in the python package +rm -rf %{buildroot}%{python3_sitelib}/pybind11/include/ +rm -rf %{buildroot}%{python3_sitelib}/pybind11/share/ +sed -i '/pybind11\/include/d' %{pyproject_files} +sed -i '/pybind11\/share/d' %{pyproject_files} + + +%if %{with tests} +%check +%ctest +%endif + + +%files devel +%license LICENSE +%doc README.rst +%{_includedir}/pybind11/ +%{_datadir}/cmake/pybind11/ +%{_bindir}/pybind11-config +%{_datadir}/pkgconfig/%{name}.pc + +%files -n python3-%{name} -f %{pyproject_files} + + +%changelog +%autochangelog diff --git a/sources b/sources new file mode 100644 index 0000000..9208035 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (pybind11-2.13.6.tar.gz) = 497c25b33b09a9c42f67131ab82e35d689e8ce089dd7639be997305ff9a6d502447b79c824508c455d559e61f0186335b54dd2771d903a7c1621833930622d1a