From 41494a7035bbc9b00922f890e961985a88888741 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Fri, 10 May 2024 00:53:10 +0200 Subject: gnu: python-xcffib: Move to (gnu packages xorg). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * /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 --- gnu/packages/xorg.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'gnu/packages/xorg.scm') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index e725b5c8438..562c0facf0b 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) @@ -1726,6 +1728,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") -- cgit v1.2.3