Subject: [PATCH v8 14/44] gnu: Add rust-diffus-0.10.

From: Herman Rimm <[email-masked]>
Date: Wed, 5 Feb 2025 19:31:29 +0100

From: Jordan Moore <[email-masked]>

* gnu/packages/crates-io.scm (rust-diffus-0.10): New variable.

Change-Id: I78ec4ad8f7b5796215dbf14c787c97317a35430d
---
 gnu/packages/crates-io.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3beb514f0c6..dc369879eae 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20887,6 +20887,41 @@ (define-public rust-diffs-0.5
 diff.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-diffus-0.10
+  (package
+    (name "rust-diffus")
+    (version "0.10.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "diffus" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0lsn5h1mfa8x7bfg9yqgr52p7drigpwgm5q8qh4r07dmfd5g43rw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  ;; Cargo toml specifies a readme path that only
+                  ;; exists in the git checkout
+                  (add-after 'unpack 'omit-absent-readme
+                    (lambda _
+                      (substitute* "Cargo.toml"
+                        (("readme = \"../README.md\"")
+                         "")))))
+       #:cargo-inputs (("rust-diffus-derive" ,rust-diffus-derive-0.10)
+                       ("rust-indexmap" ,rust-indexmap-1)
+                       ("rust-itertools" ,rust-itertools-0.10)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-snake-case" ,rust-snake-case-0.3)
+                       ("rust-uuid" ,rust-uuid-0.5))))
+    (home-page "https://github.com/distil/diffus")
+    (synopsis "Find the difference between data structure instances")
+    (description
+     "This package lets you find the difference between two instances
+of any data structure.  Supports Collections, Strings, Maps, etc.  Uses
+LCS where applicable.  Also supports derive via `diffus-derive`.")
+    (license license:asl2.0)))
+
 (define-public rust-diffus-derive-0.10
   (package
     (name "rust-diffus-derive")
-- 
2.47.1