guix_mirror_bot pushed a commit to branch python-team
in repository guix.
commit 4cfa8ddb7f802f5ffc077e4e33d386fd4670a1b9
Author: Danny Milosavljevic <[email protected]>
AuthorDate: Wed Mar 4 19:04:04 2026 +0100
gnu: pybind11: Use python-scikit-build-core-bootstrap.
* gnu/packages/python-xyz.scm (pybind11)[native-inputs]: Remove
cmake-minimal,
python-setuptools, python-wheel.
Add python-scikit-build-core-bootstrap.
[arguments]<#:phases>{prepare-build}: Delete phase.
<#:tests?>: Remove flag.
Change-Id: Id83a350d2530fd169571aa3983cbec702a3d426c
---
gnu/packages/python-xyz.scm | 61 ++-------------------------------------------
1 file changed, 2 insertions(+), 59 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e626dd0046..08adac5aa0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -26738,66 +26738,9 @@ binding is created using the standard @code{ctypes}
library.")
(build-system pyproject-build-system)
(arguments
(list
- #:tests? #f ; Tests require building C++ test modules
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'prepare-build
- ;; Upstream removed setup.py in 3.x and now requires
scikit-build-core,
- ;; which would create a circular dependency. Instead, we run CMake
- ;; to populate pybind11/include and pybind11/share, then use a
simple
- ;; setup.py. Based on pybind11 2.13.6's setup.py approach.
- (lambda _
- (delete-file "pyproject.toml")
- ;; Run CMake to install headers and cmake files into pybind11/
- (invoke "cmake" "-S" "." "-B" "build"
- "-DCMAKE_INSTALL_PREFIX=pybind11"
- "-DBUILD_TESTING=OFF"
- "-DPYBIND11_NOPYTHON=ON"
- "-Dprefix_for_pc_file=${pcfiledir}/../../")
- (invoke "cmake" "--install" "build")
- ;; Write _version.py
- (call-with-output-file "pybind11/_version.py"
- (lambda (port)
- (format port "__version__ = \"~a\"\n" #$version)
- (format port "version_info = (~a)\n"
- (string-join (string-split #$version #\.) ", "))))
- ;; Write setup.py - must explicitly list packages containing
- ;; non-Python files since find_packages() only finds dirs with
.py files
- (call-with-output-file "setup.py"
- (lambda (port)
- (format port "
-from setuptools import setup
-setup(
- name='pybind11',
- version='~a',
- packages=[
- 'pybind11',
- 'pybind11.include.pybind11',
- 'pybind11.include.pybind11.detail',
- 'pybind11.include.pybind11.eigen',
- 'pybind11.include.pybind11.stl',
- 'pybind11.include.pybind11.conduit',
- 'pybind11.share.cmake.pybind11',
- 'pybind11.share.pkgconfig',
- ],
- package_data={
- 'pybind11': ['py.typed'],
- 'pybind11.include.pybind11': ['*.h'],
- 'pybind11.include.pybind11.detail': ['*.h'],
- 'pybind11.include.pybind11.eigen': ['*.h'],
- 'pybind11.include.pybind11.stl': ['*.h'],
- 'pybind11.include.pybind11.conduit': ['*.h'],
- 'pybind11.share.cmake.pybind11': ['*.cmake'],
- 'pybind11.share.pkgconfig': ['*.pc'],
- },
- entry_points={
- 'console_scripts': ['pybind11-config = pybind11.__main__:main'],
- },
-)
-" #$version))))))))
+ #:tests? #f)) ; Tests require building C++ test modules
(native-inputs
- (list cmake-minimal
- python-setuptools
+ (list python-scikit-build-core-bootstrap
python-wrapper))
(home-page "https://github.com/pybind/pybind11/")
(synopsis "Seamless operability between C++11 and Python")