From 98976a59582386b492968b4048ec0d17e8964066 Mon Sep 17 00:00:00 2001 From: AlmaLinux RelEng Bot Date: Thu, 16 Apr 2026 04:58:35 -0400 Subject: [PATCH] import CS python3.14-pybind11-2.13.6-4.el9 --- .fmf/version | 1 - .gitignore | 30 +-- .python3.14-pybind11.metadata | 1 + .../Adjust-test-for-python3.14.patch | 0 ...nd11-2.13.6-Drop_some_build-requires.patch | 0 .../pybind11-2.13.6-Use_usr_prefix.patch | 0 changelog => SPECS/python3.14-pybind11.spec | 172 ++++++++++++++++++ gating.yaml | 6 - plan.fmf | 13 -- python3.14-pybind11.spec | 148 --------------- sources | 1 - 11 files changed, 174 insertions(+), 198 deletions(-) delete mode 100644 .fmf/version create mode 100644 .python3.14-pybind11.metadata rename Adjust-test-for-python3.14.patch => SOURCES/Adjust-test-for-python3.14.patch (100%) rename pybind11-2.13.6-Drop_some_build-requires.patch => SOURCES/pybind11-2.13.6-Drop_some_build-requires.patch (100%) rename pybind11-2.13.6-Use_usr_prefix.patch => SOURCES/pybind11-2.13.6-Use_usr_prefix.patch (100%) rename changelog => SPECS/python3.14-pybind11.spec (62%) delete mode 100644 gating.yaml delete mode 100644 plan.fmf delete mode 100644 python3.14-pybind11.spec delete mode 100644 sources diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index 1d16c73..dc7803b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,29 +1 @@ -/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 +SOURCES/pybind11-2.13.6.tar.gz diff --git a/.python3.14-pybind11.metadata b/.python3.14-pybind11.metadata new file mode 100644 index 0000000..a6f61e7 --- /dev/null +++ b/.python3.14-pybind11.metadata @@ -0,0 +1 @@ +8c7e3e8fec829ced31a495dec281153511f33c63 SOURCES/pybind11-2.13.6.tar.gz diff --git a/Adjust-test-for-python3.14.patch b/SOURCES/Adjust-test-for-python3.14.patch similarity index 100% rename from Adjust-test-for-python3.14.patch rename to SOURCES/Adjust-test-for-python3.14.patch diff --git a/pybind11-2.13.6-Drop_some_build-requires.patch b/SOURCES/pybind11-2.13.6-Drop_some_build-requires.patch similarity index 100% rename from pybind11-2.13.6-Drop_some_build-requires.patch rename to SOURCES/pybind11-2.13.6-Drop_some_build-requires.patch diff --git a/pybind11-2.13.6-Use_usr_prefix.patch b/SOURCES/pybind11-2.13.6-Use_usr_prefix.patch similarity index 100% rename from pybind11-2.13.6-Use_usr_prefix.patch rename to SOURCES/pybind11-2.13.6-Use_usr_prefix.patch diff --git a/changelog b/SPECS/python3.14-pybind11.spec similarity index 62% rename from changelog rename to SPECS/python3.14-pybind11.spec index 447097a..d9a323e 100644 --- a/changelog +++ b/SPECS/python3.14-pybind11.spec @@ -1,3 +1,173 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.6.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 4; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +%global python3_pkgversion 3.14 + +# 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} + +%ifarch ppc64le +# The tests are not LTO-compatible on power +%global _lto_cflags %{nil} +%endif + +# Exclude automatic provides without python3.14 in the name +%global __provides_exclude cmake|pkgconfig + +# Whether to run the tests, enabled by default +%bcond tests 1 + +Name: python%{python3_pkgversion}-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}/pybind11-%{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 +# Adjust test for different syntax in python3.14 +# Upstream commit: https://github.com/pybind/pybind11/commit/094343c +Patch3: Adjust-test-for-python3.14.patch + +# Needed to build the python libraries +BuildRequires: python%{python3_pkgversion}-devel +# Test depdendencies are not exposed +%if %{with tests} +BuildRequires: python%{python3_pkgversion}-pytest +BuildRequires: python%{python3_pkgversion}-numpy +BuildRequires: python%{python3_pkgversion}-scipy +%endif + +BuildRequires: eigen3-devel +BuildRequires: gcc-c++ +BuildRequires: cmake + +Requires: %{name}-devel%{?_isa} = %{version}-%{release} + +%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 + +# This package does not have namespaced file locations, so if we build the +# pybind11-devel subpackage in any other stack as well, the files from these +# packages will conflict. The package name is namespaced so that customers can +# decide which to install, but the packages will conflict with each other. +# Whenever python3.X-pybind11-devel is introduced, it needs to explicitly +# conflict with all the previous python3.X-pybind11-devel packages as well as +# the non-namespaced pybind11-devel package from the main Python stack. +Conflicts: pybind11-devel < %{version}-%{release} +Conflicts: python3.11-pybind11-devel < %{version}-%{release} +Conflicts: python3.12-pybind11-devel < %{version}-%{release} + +# 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 python%{python3_pkgversion}-%{name} +Summary: %{summary} + +Requires: %{name}-devel%{?_isa} = %{version}-%{release} + +%description -n python%{python3_pkgversion}-%{name} +%{base_description} + +This package contains the Python 3 files. + +%prep +%autosetup -n pybind11-%{version} -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=ON} \ + %{!?with_tests:-DPYBIND11_TEST=OFF} \ + -DUSE_PYTHON_INCLUDE_DIR=FALSE \ + -DPython_EXECUTABLE=/usr/bin/python%{python3_pkgversion} \ + -DPython_INCLUDE_DIR=/usr/include/python%{python3_pkgversion} +%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 +%cmake_build --target check +%endif + + +%files devel +%license LICENSE +%doc README.rst +%{_includedir}/pybind11/ +%{_datadir}/cmake/pybind11/ +%{_bindir}/pybind11-config +%{_datadir}/pkgconfig/pybind11.pc + +%files -n python%{python3_pkgversion}-pybind11 -f %{pyproject_files} + + +%changelog +## START: Generated by rpmautospec +* Tue Dec 02 2025 Lumir Balhar - 2.13.6-4 +- Enable tests / disable bootsrap + +* Tue Dec 02 2025 Lukáš Zachar - 2.13.6-3 +- Add gating + +* Tue Dec 02 2025 Tomáš Hrnčiar - 2.13.6-2 +- Convert from Fedora for the Python 3.14 stack in RHEL + +* Fri Nov 28 2025 Tomáš Hrnčiar - 2.13.6-1 +- RHEL: Rename SPEC to python3.14-pybind11.spec + * Wed Aug 20 2025 Cristian Le - 2.13.6-7 - Refactor the build script - Drop the python3-python2 distinction @@ -236,3 +406,5 @@ * Sun Feb 05 2017 Susi Lehtola - 2.0.1-1 - First release. + +## END: Generated by rpmautospec diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index 2c7ed80..0000000 --- a/gating.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- !Policy -product_versions: - - rhel-* -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/plan.fmf b/plan.fmf deleted file mode 100644 index 3c6e903..0000000 --- a/plan.fmf +++ /dev/null @@ -1,13 +0,0 @@ -execute: - how: tmt - -environment: - pybasever: '3.14' - -discover: - how: shell - tests: - - name: smoke - import works - test: python${pybasever} -c 'import pybind11' - require: - - python${pybasever}-pybind11 diff --git a/python3.14-pybind11.spec b/python3.14-pybind11.spec deleted file mode 100644 index 110543b..0000000 --- a/python3.14-pybind11.spec +++ /dev/null @@ -1,148 +0,0 @@ -%global python3_pkgversion 3.14 - -# 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} - -%ifarch ppc64le -# The tests are not LTO-compatible on power -%global _lto_cflags %{nil} -%endif - -# Exclude automatic provides without python3.14 in the name -%global __provides_exclude cmake|pkgconfig - -# Whether to run the tests, enabled by default -%bcond tests 1 - -Name: python%{python3_pkgversion}-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}/pybind11-%{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 -# Adjust test for different syntax in python3.14 -# Upstream commit: https://github.com/pybind/pybind11/commit/094343c -Patch3: Adjust-test-for-python3.14.patch - -# Needed to build the python libraries -BuildRequires: python%{python3_pkgversion}-devel -# Test depdendencies are not exposed -%if %{with tests} -BuildRequires: python%{python3_pkgversion}-pytest -BuildRequires: python%{python3_pkgversion}-numpy -BuildRequires: python%{python3_pkgversion}-scipy -%endif - -BuildRequires: eigen3-devel -BuildRequires: gcc-c++ -BuildRequires: cmake - -Requires: %{name}-devel%{?_isa} = %{version}-%{release} - -%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 - -# This package does not have namespaced file locations, so if we build the -# pybind11-devel subpackage in any other stack as well, the files from these -# packages will conflict. The package name is namespaced so that customers can -# decide which to install, but the packages will conflict with each other. -# Whenever python3.X-pybind11-devel is introduced, it needs to explicitly -# conflict with all the previous python3.X-pybind11-devel packages as well as -# the non-namespaced pybind11-devel package from the main Python stack. -Conflicts: pybind11-devel < %{version}-%{release} -Conflicts: python3.11-pybind11-devel < %{version}-%{release} -Conflicts: python3.12-pybind11-devel < %{version}-%{release} - -# 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 python%{python3_pkgversion}-%{name} -Summary: %{summary} - -Requires: %{name}-devel%{?_isa} = %{version}-%{release} - -%description -n python%{python3_pkgversion}-%{name} -%{base_description} - -This package contains the Python 3 files. - -%prep -%autosetup -n pybind11-%{version} -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=ON} \ - %{!?with_tests:-DPYBIND11_TEST=OFF} \ - -DUSE_PYTHON_INCLUDE_DIR=FALSE \ - -DPython_EXECUTABLE=/usr/bin/python%{python3_pkgversion} \ - -DPython_INCLUDE_DIR=/usr/include/python%{python3_pkgversion} -%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 -%cmake_build --target check -%endif - - -%files devel -%license LICENSE -%doc README.rst -%{_includedir}/pybind11/ -%{_datadir}/cmake/pybind11/ -%{_bindir}/pybind11-config -%{_datadir}/pkgconfig/pybind11.pc - -%files -n python%{python3_pkgversion}-pybind11 -f %{pyproject_files} - - -%changelog -%autochangelog diff --git a/sources b/sources deleted file mode 100644 index 9208035..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (pybind11-2.13.6.tar.gz) = 497c25b33b09a9c42f67131ab82e35d689e8ce089dd7639be997305ff9a6d502447b79c824508c455d559e61f0186335b54dd2771d903a7c1621833930622d1a