Subject: [PATCH 2/8] gnu: rust-textwrap: Add 0.15.0.

From: VesselWave <[email-masked]>
Date: Tue, 13 Sep 2022 09:18:14 +0000

So I removed skip-build but added tests #f. Maybe you know a better way to remove unic-emoji-char from Cargo.toml?
---
 gnu/packages/crates-io.scm | 57 ++++++++++++++++++++++++++++++--------
 1 file changed, 46 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8a91ee3adc..707105dec3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -63836,8 +63836,52 @@ (define-public rust-text-size-1
     (description "This package provides a newtypes for text offsets")
     (license (list license:expat license:asl2.0))))

+(define-public rust-textwrap-0.15
+  (package
+    (name "rust-textwrap")
+    (version "0.15.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "textwrap" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1yw513k61lfiwgqrfvsjw1a5wpvm0azhpjr2kr0jhnq9c56is55i"))
+              (modules '((guix build utils)))
+              (snippet
+               '(substitute* "Cargo.toml"
+                  ;; rust-unic-emoji-char contains binaries (non-source)
+                  ;; and is an optional dependency so it's deleted
+                  (("\\[dev-dependencies.unic-emoji-char\\]") "")
+                  (("version = \"0.9.0\"") "")))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f
+       #:cargo-inputs
+       (("rust-hyphenation" ,rust-hyphenation-0.8)
+        ("rust-smawk" ,rust-smawk-0.3)
+        ("rust-terminal-size" ,rust-terminal-size-0.1)
+        ("rust-unicode-linebreak" ,rust-unicode-linebreak-0.1)
+        ("rust-unicode-width" ,rust-unicode-width-0.1))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-lipsum" ,rust-lipsum-0.8)
+        ("rust-termion" ,rust-termion-1)
+        ; ("rust-unic-emoji-char" ,rust-unic-emoji-char-0.9)
+        ("rust-version-sync" ,rust-version-sync-0.9))))
+    (home-page
+     "https://github.com/mgeisler/textwrap")
+    (synopsis "Library for word wrapping, indenting, and dedenting strings")
+    (description
+     "Textwrap is a small library for word wrapping, indenting, and dedenting
+strings.  You can use it to format strings (such as help and error messages)
+for display in commandline applications.  It is designed to be efficient and
+handle Unicode characters correctly.")
+    (license license:expat)))
+
 (define-public rust-textwrap-0.12
   (package
+    (inherit rust-textwrap-0.15)
     (name "rust-textwrap")
     (version "0.12.1")
     (source
@@ -63855,20 +63899,11 @@ (define-public rust-textwrap-0.12
        #:cargo-inputs
        (("rust-hyphenation" ,rust-hyphenation-0.8)
         ("rust-terminal-size" ,rust-terminal-size-0.1)
-        ("rust-unicode-width" ,rust-unicode-width-0.1))))
-    (home-page
-     "https://github.com/mgeisler/textwrap")
-    (synopsis "Library for word wrapping, indenting, and dedenting strings")
-    (description
-     "Textwrap is a small library for word wrapping, indenting, and dedenting
-strings.  You can use it to format strings (such as help and error messages)
-for display in commandline applications.  It is designed to be efficient and
-handle Unicode characters correctly.")
-    (license license:expat)))
+        ("rust-unicode-width" ,rust-unicode-width-0.1))))))

 (define-public rust-textwrap-0.11
   (package
-    (inherit rust-textwrap-0.12)
+    (inherit rust-textwrap-0.15)
     (name "rust-textwrap")
     (version "0.11.0")
     (source
--
2.37.2