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")

Reply via email to