guix_mirror_bot pushed a commit to branch python-team
in repository guix.

commit 53ef62a3c3ce5f29c2a6719b7044dac7a48bf936
Author: Sharlatan Hellseher <sharlata...@gmail.com>
AuthorDate: Tue Jul 29 17:39:54 2025 +0100

    gnu: python-pycairo: Switch to pyproject-build-system.
    
    * gnu/packages/gtk.scm (python-pycairo):
      [build-system]: Use pyproject.
      [arguments] <phases>: Add 'build-extensions.
      [native-inputs]: Add python-setuptools.
    
    Change-Id: I0c5352aaca6e258c7f425e55dfaead3056fe78fe
---
 gnu/packages/gtk.scm | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index d229f7827b..757e194889 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -71,6 +71,7 @@
   #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system pyproject)
   #:use-module (guix build-system waf)
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
@@ -2119,14 +2120,24 @@ printing and other features typical of a source code 
editor.")
     (source
      (origin
       (method url-fetch)
+      ;; TODO: Try to build from git checkout instead GitHub release tarball.
       (uri (string-append 
"https://github.com/pygobject/pycairo/releases/download/v";
                           version "/pycairo-" version ".tar.gz"))
       (sha256
        (base32
         "1sybz43sj4ynjahlkidrcdpdrq8yi1avkndc2hgb5pgvfjld1p9d"))))
-    (build-system python-build-system)
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      ;; XXX: Project provides Meson build as well which may simplify the
+      ;; packaging.
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'check 'build-extensions
+            (lambda _
+              (invoke "python" "setup.py" "build_ext" "--inplace"))))))
     (native-inputs
-     (list pkg-config python-pytest))
+     (list pkg-config python-pytest python-setuptools))
     (propagated-inputs                  ;pycairo.pc references cairo
      (list cairo))
     (home-page "https://cairographics.org/pycairo/";)

Reply via email to