Subject: [bug#56074] [bug#56057] [gnu: Add dua-cli. 20/27] gnu: Add rust-textwrap-0.15.

From: Aleksandr Vityazev <[email-masked]>
Date: Sun, 24 Jul 2022 21:59:31 +0000

Hi, 

The textwrap-0.15 build will fail

On 2022-06-18, 12:56 -0700, antlers <[email-masked]> wrote:

> * gnu/packages/crates-io.scm (rust-textwrap-0.15): New variable.
> (rust-textwrap-0.12): Inherit from rust-textwrap-0.15.
> ---
> :100644 100644 fd431e544b f9aabbb334 M	gnu/packages/crates-io.scm
>  gnu/packages/crates-io.scm | 32 +++++++++++++++++++++++++++-----
>  1 file changed, 27 insertions(+), 5 deletions(-)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index fd431e544b..f9aabbb334 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -62665,10 +62665,10 @@ (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.12
> +(define-public rust-textwrap-0.15
>    (package
>      (name "rust-textwrap")
> -    (version "0.12.1")
> +    (version "0.15.0")
>      (source
>       (origin
>         (method url-fetch)
> @@ -62677,16 +62677,17 @@ (define-public rust-textwrap-0.12
>          (string-append name "-" version ".tar.gz"))
>         (sha256
>          (base32
> -         "12978qmkl5gcp94lxndpvp9qxq8mxp7hm9xbrw3422dgikchhc10"))))
> +         "1yw513k61lfiwgqrfvsjw1a5wpvm0azhpjr2kr0jhnq9c56is55i"))))
>      (build-system cargo-build-system)
>      (arguments
>       `(#:skip-build? #t
>         #: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))))
> -    (home-page
> -     "https://github.com/mgeisler/textwrap")
> +    (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
> @@ -62695,6 +62696,27 @@ (define-public rust-textwrap-0.12
>  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
> +     (origin
> +       (method url-fetch)
> +       (uri (crate-uri "textwrap" version))
> +       (file-name
> +        (string-append name "-" version ".tar.gz"))
> +       (sha256
> +        (base32
> +         "12978qmkl5gcp94lxndpvp9qxq8mxp7hm9xbrw3422dgikchhc10"))))
> +    (arguments
> +     `(#:skip-build? #t
> +       #:cargo-inputs
> +       (("rust-hyphenation" ,rust-hyphenation-0.8)
> +        ("rust-terminal-size" ,rust-terminal-size-0.1)
> +        ("rust-unicode-width" ,rust-unicode-width-0.1))))))
> +
>  (define-public rust-textwrap-0.11
>    (package
>      (inherit rust-textwrap-0.12)

To correctly build textwrap-0.15 u can use these patches (see in
attachments).  Although, of course, it does not play a big role, older
versions also fails when building.

-- 

Aleksandr Vityazev
>From a44052bca7754bd86401aaf207bb85031ff43707 Mon Sep 17 00:00:00 2001
Message-Id: <a[email-masked]>
In-Reply-To: <[email-masked]>
References: <[email-masked]>
From: Aleksandr Vityazev <[email-masked]>
Date: Sun, 24 Jul 2022 23:05:18 +0300
Subject: [PATCH 22/27] gnu: Add rust-unic-emoji-char-0.9.

* gnu/packages/crates-io.scm (rust-unic-emoji-char-0.9): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8eb075ab8f..bb608a5ebb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -68142,6 +68142,31 @@ (define-public rust-unic-common-0.9
 Internationalization Crates (UNIC) project.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-unic-emoji-char-0.9
+  (package
+    (name "rust-unic-emoji-char")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "unic-emoji-char" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0ka9fr7s6lv0z43r9xphg9injn35pfxf9g9q18ki0wl9d0g241qb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-unic-char-property" ,rust-unic-char-property-0.9)
+        ("rust-unic-char-range" ,rust-unic-char-range-0.9)
+        ("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9))))
+    (home-page "https://github.com/open-i18n/rust-unic/")
+    (synopsis "UNIC — Unicode Emoji")
+    (description
+     "This UNIC component implements character properties and algorithms from
+Unicode® Technical Standard #51 - Unicode Emoji.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-unic-segment-0.9
   (package
     (name "rust-unic-segment")
-- 
2.37.1

>From b7b5118274309e91a9599e487ea3e531a461ce19 Mon Sep 17 00:00:00 2001
Message-Id: <b[email-masked]>
In-Reply-To: <[email-masked]>
References: <[email-masked]>
From: Aleksandr Vityazev <[email-masked]>
Date: Sun, 24 Jul 2022 23:34:33 +0300
Subject: [PATCH 23/27] gnu: Add rust-textwrap-0.15.

* gnu/packages/crates-io.scm (rust-textwrap-0.15): New variable.
---
 gnu/packages/crates-io.scm | 41 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bb608a5ebb..f9a11dd408 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -62748,6 +62748,47 @@ (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
+        '(begin
+           (substitute* "Cargo.toml"
+             (("version = \"1.5.6\"") "version = \"^1.5.5\""))))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #: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
     (name "rust-textwrap")
-- 
2.37.1