diff mbox series

[bug#70705,2/3] gnu: Add rust-udev-0.8.

Message ID ccdc515fa8a527c30129c7f63467f39211519813.1714595980.git.goodoldpaul@autistici.org
State New
Headers show
Series [bug#70705,1/3] gnu: Add rust-libudev-sys-0.1. | expand

Commit Message

paul May 1, 2024, 8:39 p.m. UTC
* gnu/packages/crates-io.scm (rust-udev-0.8): New variable.

Change-Id: I77687eadda6348d589970aef8e45a986b8651166
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8352fb56c5..56ecb967cb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -74670,6 +74670,38 @@  (define-public rust-ucd-util-0.1
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-udev-0.8
+  (package
+    (name "rust-udev")
+    (version "0.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "udev" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "18f5vkhjcljw1p5gfvy61p1837n27d7h2l3x45pywa5y49p1q1ah"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     (list pkg-config))
+    (inputs
+     (list eudev))
+    (arguments
+     `(#:tests? #f ;tests are supposed to be run on real hardware
+       #:cargo-inputs (("rust-io-lifetimes" ,rust-io-lifetimes-1)
+                       ("rust-libc" ,rust-libc-0.2)
+                       ("rust-libudev-sys" ,rust-libudev-sys-0.1)
+                       ("rust-mio" ,rust-mio-0.8)
+                       ("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (home-page "https://github.com/Smithay/udev-rs")
+    (synopsis "Safe @code{libudev} bindings for Rust")
+    (description "This crate provides a safe wrapper around the native
+@code{libudev} library.  It applies the RAII pattern and Rust lifetimes to
+ensure safe usage of all @code{libudev} functionality.  The RAII pattern ensures
+that all acquired resources are released when they're no longer needed, and Rust
+lifetimes ensure that resources are released in a proper order.")
+    (license license:expat)))
+
 (define-public rust-ufmt-0.1
   (package
     (name "rust-ufmt")