summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Graves <ngraves@ngraves.fr>2024-05-10 00:53:10 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2024-05-23 22:44:42 +0200
commite37a67e2fc838f1b9c85e99cc362a5ea899c5139 (patch)
tree48ddcbfe1b899775103d05647a2252cc51858dda
parent77eab5b377ed1359d7482a91339e614c33d7b7a7 (diff)
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>
-rw-r--r--gnu/packages/python-xyz.scm44
-rw-r--r--gnu/packages/xorg.scm41
2 files changed, 41 insertions, 44 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 07d6d2f2d4..9e9ead2462 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11141,50 +11141,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 fbe6375818..2bc6946599 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -65,6 +65,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)
@@ -92,6 +93,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)
@@ -1706,6 +1708,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")