Subject: [bug#48325] [PATCH 1/4] gnu: Add utf8proc-2.6.1.

From: Maxime Devos <[email-masked]>
Date: Thu, 01 Jul 2021 10:18:43 +0200

Jean-Baptiste Volatier via Guix-patches via schreef op di 29-06-2021 om 13:23 [+0000]:
> * gnu/packages/textutils.scm (utf8proc-2.6.1): New variable.
> 
> Co-Authored-By: zimoun <[email-masked]>.
> ---
>  gnu/packages/textutils.scm | 41 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 41 insertions(+)
> 
> diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
> index ab34373705..dbd6dce283 100644
> --- a/gnu/packages/textutils.scm
> +++ b/gnu/packages/textutils.scm
> @@ -20,6 +20,7 @@
>  ;;; Copyright © 2019 Mădălin Ionel Patrașcu <[email-masked]>
>  ;;; Copyright © 2019 Wiktor Żelazny <[email-masked]>
>  ;;; Copyright © 2020 Maxim Cournoyer <[email-masked]>
> +;;; Copyright © 2021 Simon Tournier <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -63,6 +64,7 @@
>    #:use-module (gnu packages python-build)
>    #:use-module (gnu packages python-xyz)
>    #:use-module (gnu packages readline)
> +  #:use-module (gnu packages ruby)
>    #:use-module (gnu packages slang)
>    #:use-module (gnu packages web))
> 
> @@ -201,6 +203,45 @@ normalization, case-folding, and other operations for data in the UTF-8
>  encoding, supporting Unicode version 9.0.0.")
>      (license license:expat)))
> 
> +(define-public utf8proc-2.6.1
> +  (package
> +    (inherit utf8proc)
> +    (name "utf8proc")
> +    (version "2.6.1")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/JuliaStrings/utf8proc")
> +             (commit (string-append "v" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32 "1zqc6airkzkssbjxanx5v8blfk90180gc9id0dx8ncs54f1ib8w7"))))
> +    (arguments
> +     (substitute-keyword-arguments (package-arguments utf8proc)
> +       ((#:phases phases)
> +        `(modify-phases ,phases
> +           (replace 'check-data
> +             (lambda* (#:key inputs #:allow-other-keys)
> +               (for-each (lambda (i)
> +                           (copy-file (assoc-ref inputs i)
> +                                      (string-append "data/" i)))

'DerivedCoreProperties.txt" is in 'native-inputs',
so you need to do (assoc-ref (or native-inputs inputs) (string-append "data/" i))
to make sure it will be found when cross-compiling.

(When compiling natively, 'inputs' is merged into 'native-inputs')

> +                         '("NormalizationTest.txt" "GraphemeBreakTest.txt"
> +                           "DerivedCoreProperties.txt"))))))))
> +    (native-inputs
> +     (append
> +      (package-native-inputs utf8proc)

> +      (let ((UNICODE_VERSION "13.0.0"))
> +        `(("DerivedCoreProperties.txt"

Alternatively, you could move "DerivedCoreProperties.txt"
to 'inputs'. It isn't something that is compiled, so it
doesn't really matter if it is in 'inputs' or 'native-inputs',
except for ‘style’ I
suppose.

Greetings,
Maxime.