pybind11/pybind11.spec

94 lines
2.4 KiB
RPMSpec

%global debug_package %{nil}
%bcond_without tests
Name: pybind11
Version: 2.11.1
Release: 2
Summary: Seamless operability between C++11 and Python
License: BSD
URL: https://github.com/pybind/pybind11
Source0: https://github.com/pybind/pybind11/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Patch0001: 0001-fix-cmake-skip-empty-PYBIND11_PYTHON_EXECUTABLE_LAST.patch
BuildRequires: make cmake eigen3-devel gcc-c++
BuildRequires: python3-devel python3-setuptools
#BuildRequires: python3-numpy python3-pytest
%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.
%package devel
Summary: Development headers for pybind11
Provides: %{name}-static = %{version}-%{release}
Requires: cmake
%description devel
This package contains the development headers for pybind11.
%package -n python3-%{name}
Summary: %{summary}
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description -n python3-%{name}
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.
%prep
%autosetup -n %{name}-%{version} -p1
%build
pys=""
pys="$pys python3"
for py in $pys; do
mkdir $py
%cmake -B $py -DCMAKE_BUILD_TYPE=Debug -DPYTHON_EXECUTABLE=%{_bindir}/$py -DPYBIND11_INSTALL=TRUE -DUSE_PYTHON_INCLUDE_DIR=FALSE %{!?with_tests:-DPYBIND11_TEST=OFF}
%make_build -C $py
done
%py3_build
%check
#make -C python3 check %{?_smp_mflags}
%install
%make_install -C python3
PYBIND11_USE_CMAKE=true %py3_install "--install-purelib" "%{python3_sitearch}"
%files devel
%license LICENSE
%doc README.rst
%{_includedir}/pybind11/
%{_datadir}/cmake/pybind11/
%{_bindir}/pybind11-config
%{_datadir}/pkgconfig/%{name}.pc
%files -n python3-%{name}
%{python3_sitearch}/%{name}/
%{python3_sitearch}/%{name}-%{version}-py%{python3_version}.egg-info
%changelog
* Thu May 09 2024 lixiaoyong <lixiaoyong@kylinos.cn> - 2.11.1-2
- fix(cmake): skip empty PYBIND11_PYTHON_EXECUTABLE_LAST for the first cmake run
* Mon Jul 31 2023 zhangchenglin <zhangchenglin@kylinos.cn> - 2.11.1-1
- Update package to version 2.11.1
* Fri Apr 7 2023 liyanan <thistleslyn@163.com> - 2.10.4-1
- Upgrade package to version 2.10.4
* Thu Aug 4 2022 wenzhiwei <wenzhiwei@kylinos.cn> - 2.10.0-1
- Update to 2.10.0
* Sat Dec 11 2021 zhouwenpei <zhouwenpei1@huawei.com> - 2.8.1-1
- package init