guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

150/222: gnu: python-xcffib: Move to (gnu packages xorg).


From: guix-commits
Subject: 150/222: gnu: python-xcffib: Move to (gnu packages xorg).
Date: Fri, 1 Nov 2024 10:56:41 -0400 (EDT)

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

commit 171be4f90dc2603082483fda98b0fa07503c83c9
Author: Nicolas Graves <ngraves@ngraves.fr>
AuthorDate: Fri May 10 00:53:10 2024 +0200

    gnu: python-xcffib: Move to (gnu packages xorg).
    
    * /gnu/packages/python-xyz.scm (python-xcffib): Move from here…
    * gnu/packages/xorg.scm (python-xcffib): …to here.
    
    The package's build is fully rewritten and updated to version 1.5.0.
    
    Change-Id: Ia77b9fc2160dacd77c3eaf4199278046a52515d7
    Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
 gnu/packages/python-xyz.scm | 44 --------------------------------------------
 gnu/packages/xorg.scm       | 41 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 41 insertions(+), 44 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 454ca02933..12cacac712 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11456,50 +11456,6 @@ using Cython.
 ManimPango is internally used in Manim to render (non-LaTeX) text.")
     (license license:expat)))
 
-(define-public python-xcffib
-  (package
-    (name "python-xcffib")
-    (version "0.11.1")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (pypi-uri "xcffib" version))
-      (sha256
-       (base32
-        "0nkglsm9nbhv238iagmmsjcz6lf1yfdvp5kmspphdj385vz9r50j"))))
-    (build-system python-build-system)
-    (inputs
-     (list libxcb))
-    (propagated-inputs
-     (list python-cffi ; used at run time
-           python-six))
-    (arguments
-     `(;; FIXME: Tests need more work. See ".travis.yml" in the repository.
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-libxcb-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((libxcb (assoc-ref inputs "libxcb")))
-               (substitute* '("xcffib/__init__.py")
-                 (("soname = ctypes.util.find_library.*xcb.*")
-                  (string-append "soname = \"" libxcb "/lib/libxcb.so\"\n")))
-               #t)))
-         (add-after 'install 'install-doc
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((doc (string-append (assoc-ref outputs "out") "/share"
-                                       "/doc/" ,name "-" ,version)))
-               (mkdir-p doc)
-               (copy-file "README.md"
-                          (string-append doc "/README.md"))
-               #t))))))
-    (home-page "https://github.com/tych0/xcffib";)
-    (synopsis "XCB Python bindings")
-    (description
-     "Xcffib is a replacement for xpyb, an XCB Python bindings.  It adds
-support for Python 3 and PyPy.  It is based on cffi.")
-    (license license:expat)))
-
 (define-public python-cairocffi
   (package
     (name "python-cairocffi")
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 7f149bc68c..601c5747b7 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -66,6 +66,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 utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages aidc)
@@ -94,6 +95,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages libedit)
+  #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages m4)
@@ -1705,6 +1707,45 @@ network-transparent printing system.")
 generate code for the @code{python-xcbffib} package.")
     (license license:expat)))
 
+(define-public python-xcffib
+  (package
+    (name "python-xcffib")
+    (version "1.5.0")
+    (source (package-source xcffibgen))
+    (build-system pyproject-build-system)
+    (native-inputs
+     (list pkg-config which xcb-proto xcffibgen))
+    (inputs
+     (list libxcb))
+    (propagated-inputs
+     (list python-cffi ; used at run time
+           python-six))
+    (arguments
+     (list
+      ;; Tests seem to require version 3.12 of Python.
+      #:tests? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'build 'generate-bindings
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "Makefile"
+                (("^GEN=.*")
+                 (format #f "GEN=~a~%"
+                         (search-input-file inputs "/bin/xcffibgen"))))
+              (invoke "make" "xcffib")))
+          (add-before 'build 'fix-libxcb-path
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "xcffib/__init__.py"
+                (("ctypes\\.util\\.find_library\\(\"xcb\"\\)")
+                 (format #f "~s"
+                         (search-input-file inputs "/lib/libxcb.so.1")))))))))
+    (home-page "https://github.com/tych0/xcffib";)
+    (synopsis "XCB Python bindings")
+    (description
+     "Xcffib is a replacement for xpyb, an XCB Python bindings.  It adds
+support for Python 3 and PyPy.  It is based on cffi.")
+    (license license:expat)))
+
 (define-public randrproto
   (package
     (name "randrproto")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]