From 66f89cc25abb1d26f567ba09d209d1cfa37419ea Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 23 Apr 2023 16:18:00 +0300 Subject: [PATCH] gnu: Add rust-wayland-sys-0.30. * gnu/packages/crates-graphics.scm (rust-wayland-sys-0.30): New variable. (rust-wayland-sys-0.29): Inherit from rust-wayland-sys-0.30. --- gnu/packages/crates-graphics.scm | 52 ++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 10 deletions(-) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index 5d82c68f81..7fc4697964 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -3104,8 +3104,49 @@ (define-public rust-wayland-server-0.21 ("rust-wayland-sys" ,rust-wayland-sys-0.21) ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)))))) +(define-public rust-wayland-sys-0.30 + (package + (name "rust-wayland-sys") + (version "0.30.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "01man4ll2kyxp9x2934rhnf98522pzwsd2c6jwr73q08qqma1cln")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-dlib" ,rust-dlib-0.5) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-memoffset" ,rust-memoffset-0.7) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-libraries + (lambda* (#:key inputs #:allow-other-keys) + (let ((libwayland (dirname (search-input-file + inputs "lib/libwayland-client.so")))) + (substitute* (find-files "src" "\\.rs$") + (("libwayland.*\\.so" shared-lib) + (string-append libwayland "/" shared-lib))))))))) + (propagated-inputs + (list wayland)) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "FFI bindings to the various @file{libwayland-*.so} libraries") + (description + "This package provides FFI bindings to the various +@file{libwayland-*.so} libraries. You should only need this crate if +you are working on custom Wayland protocol extensions. Look at the +crate @code{rust-wayland-client} for usable bindings.") + (license license:expat))) + (define-public rust-wayland-sys-0.29 (package + (inherit rust-wayland-sys-0.30) (name "rust-wayland-sys") (version "0.29.4") (source @@ -3115,7 +3156,6 @@ (define-public rust-wayland-sys-0.29 (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1m2jwk5q36jidwbdmdicmi27r9dzi4wanzg3i28nfxc9kbvisd6r")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-dlib" ,rust-dlib-0.5) @@ -3136,15 +3176,7 @@ (define-public rust-wayland-sys-0.29 (list rust-dlib-0.5 rust-lazy-static-1 rust-libc-0.2 rust-pkg-config-0.3)) (propagated-inputs - (list wayland)) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis "FFI bindings to the various @file{libwayland-*.so} libraries") - (description - "This package provides FFI bindings to the various -@file{libwayland-*.so} libraries. You should only need this crate if -you are working on custom Wayland protocol extensions. Look at the -crate @code{rust-wayland-client} for usable bindings.") - (license license:expat))) + (list wayland)))) (define-public rust-wayland-sys-0.28 (package