guix_mirror_bot pushed a commit to branch next-master
in repository guix.

commit b8935035e32ca0063891e30af4439c75a2086407
Author: Nicolas Graves <[email protected]>
AuthorDate: Wed Dec 31 01:42:58 2025 +0100

    gnu: python-xsge: Switch to pyproject.
    
    * gnu/packages/game-development.scm (python-xsge):
    [build-system]: Switch to pyproject-build-system.
    [arguments]<#:configure-flags>: Set them.
    <#:phases>: Replace 'build phase along with the 'install one.
    [native-inputs]: Add python-setuptools.
    
    Change-Id: I6858d63a87e813df0aea78854c3ce56a6d5c94d0
    Signed-off-by: Sharlatan Hellseher <[email protected]>
---
 gnu/packages/game-development.scm | 39 ++++++++++++++++++++++++++-------------
 1 file changed, 26 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/game-development.scm 
b/gnu/packages/game-development.scm
index c8002b23f0..5b3de35c72 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -764,6 +764,9 @@ levels.")
                    ;; under the CC0 license.
                    license:cc0))))
 
+;; XXX: Currently the pyproject build-system is unable to install multiple
+;; python modules in a single package. This package uses old-style 'build and
+;; 'install for this reason.
 (define-public python-xsge
   (package
     (name "python-xsge")
@@ -776,20 +779,30 @@ levels.")
               (sha256
                (base32
                 "0g86p5i9lflvblzy7977lmxbsma5hdlz63sk0k8c59vnhg8sij4i"))))
-    (build-system python-build-system)
+    (build-system pyproject-build-system)
     (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         ;; xSGE's setup.py script does not support one of the Python build
-         ;; system's default flags, "--single-version-externally-managed".
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (invoke "python" "setup.py" "install"
-                     (string-append "--prefix=" (assoc-ref outputs "out"))
-                     "--root=/"))))
-       #:tests? #f)) ; no check target
-    (propagated-inputs
-     (list python-sge))
+     (list
+      #:tests? #f  ; No tests.
+      #:configure-flags
+      ;; Transformed format for #:phases convenience.
+      #~(map (lambda (pair)
+               (string-join (list (car pair) (cdr pair)) "="))
+             ;; Normal/expected pyproject format.
+             `(("--prefix" . ,#$output)))
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; xSGE's setup.py script does not support one of the Python build
+          ;; system's default flags, "--single-version-externally-managed".
+          (replace 'build
+            (lambda* (#:key configure-flags #:allow-other-keys)
+              (apply invoke "python" "setup.py" "build"
+                     configure-flags)))
+          (replace 'install
+            (lambda* (#:key configure-flags #:allow-other-keys)
+              (apply invoke "python" "setup.py" "install"
+                     configure-flags))))))
+    (native-inputs (list python-setuptools))
+    (propagated-inputs (list python-sge))
     (home-page "https://python-sge.github.io/";)
     (synopsis "Extensions for the SGE Game Engine")
     (description

Reply via email to