GNU bug report logs - #77949
[PATCH 0/3] Break utf8proc dependency cycle and update neovim to 0.11.0

Previous Next

Package: guix-patches;

Reported by: John Khoo <johnkhootf <at> gmail.com>

Date: Mon, 21 Apr 2025 05:50:01 UTC

Severity: normal

Tags: patch

Done: Hilton Chain <hako <at> ultrarare.space>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 77949 in the body.
You can then email your comments to 77949 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Mon, 21 Apr 2025 05:50:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to John Khoo <johnkhootf <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 21 Apr 2025 05:50:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: John Khoo <johnkhootf <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: John Khoo <johnkhootf <at> gmail.com>
Subject: [PATCH 0/3] Break utf8proc dependency cycle and update neovim to
 0.11.0
Date: Mon, 21 Apr 2025 11:39:20 +0800
This patch series creates a utf8proc-bootstrap package to break the dependency
cycle between utf8proc and julia. This allows utf8proc to be updated, which in
turn allows neovim to be updated.

John Khoo (3):
  gnu: utf8proc: Update to 2.10.0.
  gnu: tree-sitter: Update to 0.25.3.
  gnu: neovim: Update to 0.11.0.

 gnu/packages/julia.scm       |   3 +-
 gnu/packages/textutils.scm   | 134 +++++++++++++++--------------------
 gnu/packages/tree-sitter.scm |   7 +-
 gnu/packages/vim.scm         |   7 +-
 4 files changed, 69 insertions(+), 82 deletions(-)


base-commit: 94e7afbb557d3f2709072bf2bf58618293ca7fbd
--
2.49.0





Information forwarded to zimon.toutoune <at> gmail.com, guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Mon, 21 Apr 2025 05:55:04 GMT) Full text and rfc822 format available.

Message #8 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: John Khoo <johnkhootf <at> gmail.com>
To: 77949 <at> debbugs.gnu.org
Cc: John Khoo <johnkhootf <at> gmail.com>
Subject: [PATCH 1/3] gnu: utf8proc: Update to 2.10.0.
Date: Mon, 21 Apr 2025 13:53:46 +0800
* gnu/packages/textutils.scm (utf8proc): Add new utf8proc-bootstrap
  package to break dependency loop with Julia, and update to 2.10.0.
* gnu/packages/julia.scm (julia): Change utf8proc dependency to
  utf8proc-bootstrap to break dependency loop.

Change-Id: I5b75b8de3803032d423ba055a62c39801dd2cf47
---
 gnu/packages/julia.scm     |   3 +-
 gnu/packages/textutils.scm | 134 ++++++++++++++++---------------------
 2 files changed, 60 insertions(+), 77 deletions(-)

diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index 9668b3fd1e..9a4b38f74e 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2021 Simon Tournier <zimon.toutoune <at> gmail.com>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2022 Akira Kyle <akira <at> akirakyle.com>
+;;; Copyright © 2025 John Khoo <johnkhootf <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -526,7 +527,7 @@ (define-public julia
        ("p7zip" ,p7zip)
        ("pcre2" ,pcre2)
        ("suitesparse" ,suitesparse)
-       ("utf8proc" ,utf8proc-2.7.0)
+       ("utf8proc" ,utf8proc-bootstrap) ; Julia used for tests
        ("wget" ,wget)
        ("which" ,which)
        ("zlib" ,zlib)
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index c886b009be..1814490e97 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -33,6 +33,7 @@
 ;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus <at> gmail.com>
 ;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is <at> lostca.se>
 ;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom <at> gmail.com>
+;;; Copyright © 2025 John Khoo <johnkhootf <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -76,6 +77,7 @@ (define-module (gnu packages textutils)
   #:use-module (gnu packages golang-crypto)
   #:use-module (gnu packages golang-xyz)
   #:use-module (gnu packages java)
+  #:use-module (gnu packages julia)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
@@ -89,7 +91,8 @@ (define-module (gnu packages textutils)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages slang)
   #:use-module (gnu packages web)
-  #:use-module (gnu packages xorg))
+  #:use-module (gnu packages xorg)
+  #:use-module (srfi srfi-1))

 (define-public dos2unix
   (package
@@ -166,22 +169,44 @@ (define-public enca
 libenca and several charset conversion libraries and tools.")
     (license license:gpl2)))

+;; Bootstrap variant of utf8proc, which breaks the dependency cycle between julia
+;; and utf8proc by disabling tests and removing its native-inputs.
+(define-public utf8proc-bootstrap
+  (hidden-package
+    (package
+      (name "utf8proc-bootstrap")
+      (version "2.10.0")
+      (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 "1n1k67x39sk8xnza4w1xkbgbvgb1g7w2a7j2qrqzqaw1lyilqsy2"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f
+         #:make-flags (list ,(string-append "CC=" (cc-for-target))
+                            (string-append "prefix=" (assoc-ref %outputs "out")))
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           )))
+      (home-page "https://juliastrings.github.io/utf8proc/")
+      (synopsis "C library for processing UTF-8 Unicode data")
+      (description "utf8proc is a small C library that provides Unicode
+  normalization, case-folding, and other operations for data in the UTF-8
+  encoding, supporting Unicode version 16.0.0.")
+      (license license:expat))))
+
 (define-public utf8proc
   (package
+    (inherit utf8proc-bootstrap)
     (name "utf8proc")
-    (version "2.5.0")
-    (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 "1xlkazhdnja4lksn5c9nf4bln5gjqa35a8gwlam5r0728w0h83qq"))))
-    (build-system gnu-build-system)
-    (native-inputs
-     (let ((UNICODE_VERSION "13.0.0"))  ; defined in data/Makefile
+    (native-inputs ;; For tests.
+      (let ((UNICODE_VERSION "16.0.0"))  ; defined in data/Makefile
        ;; Test data that is otherwise downloaded with curl.
        `(("NormalizationTest.txt"
           ,(origin
@@ -189,7 +214,7 @@ (define-public utf8proc
              (uri (string-append "https://www.unicode.org/Public/"
                                  UNICODE_VERSION "/ucd/NormalizationTest.txt"))
              (sha256
-              (base32 "07g0ya4f6zfzvpp24ccxkb2yq568kh83gls85rjl950nv5fya3nn"))))
+              (base32 "1cffwlxgn6sawxb627xqaw3shnnfxq0v7cbgsld5w1z7aca9f4fq"))))
          ("GraphemeBreakTest.txt"
           ,(origin
              (method url-fetch)
@@ -197,57 +222,26 @@ (define-public utf8proc
                                  UNICODE_VERSION
                                  "/ucd/auxiliary/GraphemeBreakTest.txt"))
              (sha256
-              (base32 "07f8rrvcsq4pibdz6zxggxy8w7zjjqyw2ggclqlhalyv45yv7prj"))))
-
+              (base32 "1d9w6vdfxakjpp38qjvhgvbl2qx0zv5655ph54dhdb3hs9a96azf"))))
+          ("DerivedCoreProperties.txt"
+           ,(origin
+              (method url-fetch)
+              (uri (string-append "https://www.unicode.org/Public/"
+                                  UNICODE_VERSION "/ucd/DerivedCoreProperties.txt"))
+              (sha256
+               (base32 "1gfsq4vdmzi803i2s8ih7mm4fgs907kvkg88kvv9fi4my9hm3lrr"))))
          ;; For tests.
-         ("perl" ,perl))))
+         ("perl" ,perl)
+         ("ruby" ,ruby-2.7)
+         ("julia" ,julia))))
     (arguments
-     `(#:make-flags (list ,(string-append "CC=" (cc-for-target))
-                          (string-append "prefix=" (assoc-ref %outputs "out")))
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (add-before 'check 'check-data
-           (lambda* (#:key ,@(if (%current-target-system)
-                                 '(native-inputs)
-                                 '())
-                     inputs #:allow-other-keys)
-             (for-each (lambda (i)
-                         (copy-file (assoc-ref ,@(if (%current-target-system)
-                                                     '((or native-inputs inputs))
-                                                     '(inputs)) i)
-                                    (string-append "data/" i)))
-                       '("NormalizationTest.txt" "GraphemeBreakTest.txt"))
-             (substitute* "data/GraphemeBreakTest.txt"
-               (("÷") "/")
-               (("×") "+"))
-             #t)))))
-    (home-page "https://juliastrings.github.io/utf8proc/")
-    (synopsis "C library for processing UTF-8 Unicode data")
-    (description "utf8proc is a small C library that provides Unicode
-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.7.0
-  (package
-    (inherit utf8proc)
-    (name "utf8proc")
-    (version "2.7.0")
-    (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 "1wrsmnaigal94gc3xbzdrrm080zjhihjfdla5admllq2w5dladjj"))))
-    (arguments
-     (substitute-keyword-arguments (package-arguments utf8proc)
+     (substitute-keyword-arguments (package-arguments utf8proc-bootstrap)
+       ((#:tests? _ #f)
+        (not (%current-target-system)))
        ((#:phases phases)
-        `(modify-phases ,phases
-           (replace 'check-data
+        `(modify-phases %standard-phases
+          (delete 'configure)
+          (add-before 'check 'check-data
              (lambda* (#:key inputs native-inputs #:allow-other-keys)
                (display native-inputs)
                (for-each (lambda (i)
@@ -255,19 +249,7 @@ (define-public utf8proc-2.7.0
                                       (string-append "data/" i)))
                          '("NormalizationTest.txt" "GraphemeBreakTest.txt"
                            "DerivedCoreProperties.txt"))))))))
-    (native-inputs
-     (append
-      (package-native-inputs utf8proc)
-      (let ((UNICODE_VERSION "14.0.0"))
-        `(("DerivedCoreProperties.txt"
-           ,(origin
-              (method url-fetch)
-              (uri (string-append "https://www.unicode.org/Public/"
-                                  UNICODE_VERSION "/ucd/DerivedCoreProperties.txt"))
-              (sha256
-               (base32 "1g77s8g9443dd92f82pbkim7rk51s7xdwa3mxpzb1lcw8ryxvvg3"))))
-          ;; For tests
-          ("ruby" ,ruby-2.7)))))))
+    (properties (alist-delete 'hidden? (package-properties utf8proc-bootstrap)))))

 (define-public libconfuse
   (package
--
2.49.0





Information forwarded to andrew <at> trop.in, csantosb <at> inventati.org, divya <at> subvertising.org, hako <at> ultrarare.space, ian <at> retrospec.tv, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Mon, 21 Apr 2025 05:55:06 GMT) Full text and rfc822 format available.

Message #11 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: John Khoo <johnkhootf <at> gmail.com>
To: 77949 <at> debbugs.gnu.org
Cc: John Khoo <johnkhootf <at> gmail.com>
Subject: [PATCH 2/3] gnu: tree-sitter: Update to 0.25.3.
Date: Mon, 21 Apr 2025 13:53:47 +0800
* gnu/packages/tree-sitter.scm (tree-sitter): Update to 0.25.3.

Change-Id: I5428c1fc180af0a391286f2bcb2ee48746885486
---
 gnu/packages/tree-sitter.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm
index 19e32f53f1..3ef30b3490 100644
--- a/gnu/packages/tree-sitter.scm
+++ b/gnu/packages/tree-sitter.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2023, 2024 Nicolas Graves <ngraves <at> ngraves.fr>
 ;;; Copyright © 2023 Zheng Junjie <873216071 <at> qq.com>
 ;;; Copyright © 2023, 2024 Raven Hallsby <karl <at> hallsby.com>
+;;; Copyright © 2025 John Khoo <johnkhootf <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -101,16 +102,16 @@ (define-public python-tree-sitter
 (define-public tree-sitter
   (package
     (name "tree-sitter")
-    (version "0.20.10")                 ;untagged
+    (version "0.25.3")                 ;untagged
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/tree-sitter/tree-sitter")
-                    (commit "0e4ff0bb27edf37b76fc7d35aa768b02cf4392ad")))
+                    (commit "v0.25.3")))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1bai4gdhf8w5p1i9np2kl2ms0jq6rgq98qpiipipzayb9jjjlxcy"))
+                "0cck2wa17figxww7lb508sgwy9sbyqj89vxci07hiscr5sgdx9y5"))
               (modules '((guix build utils)))
               (snippet #~(begin
                            ;; Remove bundled ICU parts
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Mon, 21 Apr 2025 05:55:08 GMT) Full text and rfc822 format available.

Message #14 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: John Khoo <johnkhootf <at> gmail.com>
To: 77949 <at> debbugs.gnu.org
Cc: John Khoo <johnkhootf <at> gmail.com>
Subject: [PATCH 3/3] gnu: neovim: Update to 0.11.0.
Date: Mon, 21 Apr 2025 13:53:48 +0800
* gnu/packages/vim.scm (neovim): Update to 0.11.0.

Change-Id: I278b533b2ff13e2b40652ce451c9924fc729df5a
---
 gnu/packages/vim.scm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index c921426b7f..2421c7f789 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2023 Charles Jackson <charles.b.jackson <at> protonmail.com>
 ;;; Copyright © 2023 Foundation Devices, Inc. <hello <at> foundationdevices.com>
 ;;; Copyright © 2023, 2024 Nguyễn Gia Phong <mcsinyx <at> disroot.org>
+;;; Copyright © 2025 John Khoo <johnkhootf <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -79,6 +80,7 @@ (define-module (gnu packages vim)
   #:use-module (gnu packages shells)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages text-editors)
+  #:use-module (gnu packages textutils)
   #:use-module (gnu packages terminals)
   #:use-module (gnu packages tree-sitter)
   #:use-module (gnu packages xdisorg)
@@ -782,7 +784,7 @@ (define-public neovim-packer
 (define-public neovim
   (package
     (name "neovim")
-    (version "0.9.5")
+    (version "0.11.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -791,7 +793,7 @@ (define-public neovim
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1j3z7jay0m6g06v04falrzr062g07xr4svbrc3hywlqi2h6rrvk5"))))
+                "1z7xmngjr93dc52k8d3r6x0ivznpa8jbdrw24gqm16lg9gzvma02"))))
     (build-system cmake-build-system)
     (arguments
      (list #:modules
@@ -849,6 +851,7 @@ (define-public neovim
                   libtermkey
                   libvterm
                   unibilium
+                  utf8proc-2.10.0
                   jemalloc
                   (if (member (if (%current-target-system)
                                   (gnu-triplet->nix-system (%current-target-system))
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Mon, 21 Apr 2025 07:12:01 GMT) Full text and rfc822 format available.

Message #17 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: John Khoo <johnkhootf <at> gmail.com>, 77949 <at> debbugs.gnu.org
Cc: Ian Eure <ian <at> retrospec.tv>,
 Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>,
 Cayetano Santos <csantosb <at> inventati.org>, Andrew Tropin <andrew <at> trop.in>,
 Hilton Chain <hako <at> ultrarare.space>,
 Divya Ranjan Pattanaik <divya <at> subvertising.org>
Subject: Re: [bug#77949] [PATCH 2/3] gnu: tree-sitter: Update to 0.25.3.
Date: Mon, 21 Apr 2025 09:11:20 +0200
Am Montag, dem 21.04.2025 um 13:53 +0800 schrieb John Khoo:
> * gnu/packages/tree-sitter.scm (tree-sitter): Update to 0.25.3.
> 
> Change-Id: I5428c1fc180af0a391286f2bcb2ee48746885486
> ---
>  gnu/packages/tree-sitter.scm | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-
> sitter.scm
> index 19e32f53f1..3ef30b3490 100644
> --- a/gnu/packages/tree-sitter.scm
> +++ b/gnu/packages/tree-sitter.scm
> @@ -7,6 +7,7 @@
>  ;;; Copyright © 2023, 2024 Nicolas Graves <ngraves <at> ngraves.fr>
>  ;;; Copyright © 2023 Zheng Junjie <873216071 <at> qq.com>
>  ;;; Copyright © 2023, 2024 Raven Hallsby <karl <at> hallsby.com>
> +;;; Copyright © 2025 John Khoo <johnkhootf <at> gmail.com>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -101,16 +102,16 @@ (define-public python-tree-sitter
>  (define-public tree-sitter
>    (package
>      (name "tree-sitter")
> -    (version "0.20.10")                 ;untagged
> +    (version "0.25.3")                 ;untagged
This is not untagged.
>      (source (origin
>                (method git-fetch)
>                (uri (git-reference
>                      (url
> "https://github.com/tree-sitter/tree-sitter")
> -                    (commit
> "0e4ff0bb27edf37b76fc7d35aa768b02cf4392ad")))
> +                    (commit "v0.25.3")))
Use (string-append "v" version)
>                (file-name (git-file-name name version))
>                (sha256
>                 (base32
> -               
> "1bai4gdhf8w5p1i9np2kl2ms0jq6rgq98qpiipipzayb9jjjlxcy"))
> +               
> "0cck2wa17figxww7lb508sgwy9sbyqj89vxci07hiscr5sgdx9y5"))
>                (modules '((guix build utils)))
>                (snippet #~(begin
>                             ;; Remove bundled ICU parts

Cheers


Reply sent to Hilton Chain <hako <at> ultrarare.space>:
You have taken responsibility. (Mon, 21 Apr 2025 07:17:02 GMT) Full text and rfc822 format available.

Notification sent to John Khoo <johnkhootf <at> gmail.com>:
bug acknowledged by developer. (Mon, 21 Apr 2025 07:17:02 GMT) Full text and rfc822 format available.

Message #22 received at 77949-close <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: John Khoo <johnkhootf <at> gmail.com>
Cc: Ian Eure <ian <at> retrospec.tv>,
 Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>,
 Cayetano Santos <csantosb <at> inventati.org>, Andrew Tropin <andrew <at> trop.in>,
 Divya Ranjan Pattanaik <divya <at> subvertising.org>, 77949-close <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#77949] [PATCH 2/3] gnu: tree-sitter: Update to 0.25.3.
Date: Mon, 21 Apr 2025 15:16:17 +0800
Hi,

On Mon, 21 Apr 2025 13:53:47 +0800,
John Khoo wrote:
>
> * gnu/packages/tree-sitter.scm (tree-sitter): Update to 0.25.3.
>
> Change-Id: I5428c1fc180af0a391286f2bcb2ee48746885486
> ---
>  gnu/packages/tree-sitter.scm | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)

tree-sitter has already been updated on rust-team branch [1], and it's a bigger
change. :)

Closing
---
[1]: https://git.savannah.gnu.org/cgit/guix.git/commit/?h=rust-team&id=9d6fd73a9d958cf103b23032a855eccff1d7e129




Did not alter fixed versions and reopened. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 21 Apr 2025 07:22:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Mon, 21 Apr 2025 07:33:02 GMT) Full text and rfc822 format available.

Message #27 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: John Khoo <johnkhootf <at> gmail.com>
Cc: 77949 <at> debbugs.gnu.org, Ian Eure <ian <at> retrospec.tv>,
 Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>,
 Cayetano Santos <csantosb <at> inventati.org>, Andrew Tropin <andrew <at> trop.in>,
 Divya Ranjan Pattanaik <divya <at> subvertising.org>,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#77949] [PATCH 2/3] gnu: tree-sitter: Update to 0.25.3.
Date: Mon, 21 Apr 2025 15:28:58 +0800
On Mon, 21 Apr 2025 15:16:17 +0800,
Hilton Chain wrote:
>
> Hi,
>
> On Mon, 21 Apr 2025 13:53:47 +0800,
> John Khoo wrote:
> >
> > * gnu/packages/tree-sitter.scm (tree-sitter): Update to 0.25.3.
> >
> > Change-Id: I5428c1fc180af0a391286f2bcb2ee48746885486
> > ---
> >  gnu/packages/tree-sitter.scm | 7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
>
> tree-sitter has already been updated on rust-team branch [1], and it's a bigger
> change. :)
>
> Closing
> ---
> [1]: https://git.savannah.gnu.org/cgit/guix.git/commit/?h=rust-team&id=9d6fd73a9d958cf103b23032a855eccff1d7e129

Reopened.  Forgive my tired eyes, I didn't notice this is a patch series.

Did you forget to submit some change?
--8<---------------cut here---------------start------------->8---
error: utf8proc-2.10.0: unbound variable
--8<---------------cut here---------------end--------------->8---

Thanks




Information forwarded to zimon.toutoune <at> gmail.com, guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Mon, 21 Apr 2025 14:06:02 GMT) Full text and rfc822 format available.

Message #30 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: John Khoo <johnkhootf <at> gmail.com>
To: 77949 <at> debbugs.gnu.org
Cc: John Khoo <johnkhootf <at> gmail.com>
Subject: [PATCH v2 1/3] gnu: utf8proc: Update to 2.10.0.
Date: Mon, 21 Apr 2025 22:05:15 +0800
* gnu/packages/textutils.scm (utf8proc): Add new utf8proc-bootstrap
  package to break dependency loop with Julia, and update to 2.10.0.
* gnu/packages/julia.scm (julia): Change utf8proc dependency to
  utf8proc-bootstrap to break dependency loop.

Change-Id: I5b75b8de3803032d423ba055a62c39801dd2cf47
---
 gnu/packages/julia.scm     |   3 +-
 gnu/packages/textutils.scm | 134 ++++++++++++++++---------------------
 2 files changed, 60 insertions(+), 77 deletions(-)

diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index 9668b3fd1e..9a4b38f74e 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2021 Simon Tournier <zimon.toutoune <at> gmail.com>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2022 Akira Kyle <akira <at> akirakyle.com>
+;;; Copyright © 2025 John Khoo <johnkhootf <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -526,7 +527,7 @@ (define-public julia
        ("p7zip" ,p7zip)
        ("pcre2" ,pcre2)
        ("suitesparse" ,suitesparse)
-       ("utf8proc" ,utf8proc-2.7.0)
+       ("utf8proc" ,utf8proc-bootstrap) ; Julia used for tests
        ("wget" ,wget)
        ("which" ,which)
        ("zlib" ,zlib)
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index c886b009be..1814490e97 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -33,6 +33,7 @@
 ;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus <at> gmail.com>
 ;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is <at> lostca.se>
 ;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom <at> gmail.com>
+;;; Copyright © 2025 John Khoo <johnkhootf <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -76,6 +77,7 @@ (define-module (gnu packages textutils)
   #:use-module (gnu packages golang-crypto)
   #:use-module (gnu packages golang-xyz)
   #:use-module (gnu packages java)
+  #:use-module (gnu packages julia)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
@@ -89,7 +91,8 @@ (define-module (gnu packages textutils)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages slang)
   #:use-module (gnu packages web)
-  #:use-module (gnu packages xorg))
+  #:use-module (gnu packages xorg)
+  #:use-module (srfi srfi-1))
 
 (define-public dos2unix
   (package
@@ -166,22 +169,44 @@ (define-public enca
 libenca and several charset conversion libraries and tools.")
     (license license:gpl2)))
 
+;; Bootstrap variant of utf8proc, which breaks the dependency cycle between julia
+;; and utf8proc by disabling tests and removing its native-inputs.
+(define-public utf8proc-bootstrap
+  (hidden-package
+    (package
+      (name "utf8proc-bootstrap")
+      (version "2.10.0")
+      (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 "1n1k67x39sk8xnza4w1xkbgbvgb1g7w2a7j2qrqzqaw1lyilqsy2"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f
+         #:make-flags (list ,(string-append "CC=" (cc-for-target))
+                            (string-append "prefix=" (assoc-ref %outputs "out")))
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           )))
+      (home-page "https://juliastrings.github.io/utf8proc/")
+      (synopsis "C library for processing UTF-8 Unicode data")
+      (description "utf8proc is a small C library that provides Unicode
+  normalization, case-folding, and other operations for data in the UTF-8
+  encoding, supporting Unicode version 16.0.0.")
+      (license license:expat))))
+
 (define-public utf8proc
   (package
+    (inherit utf8proc-bootstrap)
     (name "utf8proc")
-    (version "2.5.0")
-    (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 "1xlkazhdnja4lksn5c9nf4bln5gjqa35a8gwlam5r0728w0h83qq"))))
-    (build-system gnu-build-system)
-    (native-inputs
-     (let ((UNICODE_VERSION "13.0.0"))  ; defined in data/Makefile
+    (native-inputs ;; For tests.
+      (let ((UNICODE_VERSION "16.0.0"))  ; defined in data/Makefile
        ;; Test data that is otherwise downloaded with curl.
        `(("NormalizationTest.txt"
           ,(origin
@@ -189,7 +214,7 @@ (define-public utf8proc
              (uri (string-append "https://www.unicode.org/Public/"
                                  UNICODE_VERSION "/ucd/NormalizationTest.txt"))
              (sha256
-              (base32 "07g0ya4f6zfzvpp24ccxkb2yq568kh83gls85rjl950nv5fya3nn"))))
+              (base32 "1cffwlxgn6sawxb627xqaw3shnnfxq0v7cbgsld5w1z7aca9f4fq"))))
          ("GraphemeBreakTest.txt"
           ,(origin
              (method url-fetch)
@@ -197,57 +222,26 @@ (define-public utf8proc
                                  UNICODE_VERSION
                                  "/ucd/auxiliary/GraphemeBreakTest.txt"))
              (sha256
-              (base32 "07f8rrvcsq4pibdz6zxggxy8w7zjjqyw2ggclqlhalyv45yv7prj"))))
-
+              (base32 "1d9w6vdfxakjpp38qjvhgvbl2qx0zv5655ph54dhdb3hs9a96azf"))))
+          ("DerivedCoreProperties.txt"
+           ,(origin
+              (method url-fetch)
+              (uri (string-append "https://www.unicode.org/Public/"
+                                  UNICODE_VERSION "/ucd/DerivedCoreProperties.txt"))
+              (sha256
+               (base32 "1gfsq4vdmzi803i2s8ih7mm4fgs907kvkg88kvv9fi4my9hm3lrr"))))
          ;; For tests.
-         ("perl" ,perl))))
+         ("perl" ,perl)
+         ("ruby" ,ruby-2.7)
+         ("julia" ,julia))))
     (arguments
-     `(#:make-flags (list ,(string-append "CC=" (cc-for-target))
-                          (string-append "prefix=" (assoc-ref %outputs "out")))
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (add-before 'check 'check-data
-           (lambda* (#:key ,@(if (%current-target-system)
-                                 '(native-inputs)
-                                 '())
-                     inputs #:allow-other-keys)
-             (for-each (lambda (i)
-                         (copy-file (assoc-ref ,@(if (%current-target-system)
-                                                     '((or native-inputs inputs))
-                                                     '(inputs)) i)
-                                    (string-append "data/" i)))
-                       '("NormalizationTest.txt" "GraphemeBreakTest.txt"))
-             (substitute* "data/GraphemeBreakTest.txt"
-               (("÷") "/")
-               (("×") "+"))
-             #t)))))
-    (home-page "https://juliastrings.github.io/utf8proc/")
-    (synopsis "C library for processing UTF-8 Unicode data")
-    (description "utf8proc is a small C library that provides Unicode
-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.7.0
-  (package
-    (inherit utf8proc)
-    (name "utf8proc")
-    (version "2.7.0")
-    (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 "1wrsmnaigal94gc3xbzdrrm080zjhihjfdla5admllq2w5dladjj"))))
-    (arguments
-     (substitute-keyword-arguments (package-arguments utf8proc)
+     (substitute-keyword-arguments (package-arguments utf8proc-bootstrap)
+       ((#:tests? _ #f)
+        (not (%current-target-system)))
        ((#:phases phases)
-        `(modify-phases ,phases
-           (replace 'check-data
+        `(modify-phases %standard-phases
+          (delete 'configure)
+          (add-before 'check 'check-data
              (lambda* (#:key inputs native-inputs #:allow-other-keys)
                (display native-inputs)
                (for-each (lambda (i)
@@ -255,19 +249,7 @@ (define-public utf8proc-2.7.0
                                       (string-append "data/" i)))
                          '("NormalizationTest.txt" "GraphemeBreakTest.txt"
                            "DerivedCoreProperties.txt"))))))))
-    (native-inputs
-     (append
-      (package-native-inputs utf8proc)
-      (let ((UNICODE_VERSION "14.0.0"))
-        `(("DerivedCoreProperties.txt"
-           ,(origin
-              (method url-fetch)
-              (uri (string-append "https://www.unicode.org/Public/"
-                                  UNICODE_VERSION "/ucd/DerivedCoreProperties.txt"))
-              (sha256
-               (base32 "1g77s8g9443dd92f82pbkim7rk51s7xdwa3mxpzb1lcw8ryxvvg3"))))
-          ;; For tests
-          ("ruby" ,ruby-2.7)))))))
+    (properties (alist-delete 'hidden? (package-properties utf8proc-bootstrap)))))
 
 (define-public libconfuse
   (package

base-commit: 94e7afbb557d3f2709072bf2bf58618293ca7fbd
-- 
2.49.0





Information forwarded to andrew <at> trop.in, csantosb <at> inventati.org, divya <at> subvertising.org, hako <at> ultrarare.space, ian <at> retrospec.tv, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Mon, 21 Apr 2025 14:06:03 GMT) Full text and rfc822 format available.

Message #33 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: John Khoo <johnkhootf <at> gmail.com>
To: 77949 <at> debbugs.gnu.org
Cc: John Khoo <johnkhootf <at> gmail.com>
Subject: [PATCH v2 2/3] gnu: tree-sitter: Update to 0.25.3.
Date: Mon, 21 Apr 2025 22:05:16 +0800
* gnu/packages/tree-sitter.scm (tree-sitter): Update to 0.25.3.

Change-Id: I5428c1fc180af0a391286f2bcb2ee48746885486
---
 gnu/packages/tree-sitter.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm
index 19e32f53f1..6fa24d5b2a 100644
--- a/gnu/packages/tree-sitter.scm
+++ b/gnu/packages/tree-sitter.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2023, 2024 Nicolas Graves <ngraves <at> ngraves.fr>
 ;;; Copyright © 2023 Zheng Junjie <873216071 <at> qq.com>
 ;;; Copyright © 2023, 2024 Raven Hallsby <karl <at> hallsby.com>
+;;; Copyright © 2025 John Khoo <johnkhootf <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -101,16 +102,16 @@ (define-public python-tree-sitter
 (define-public tree-sitter
   (package
     (name "tree-sitter")
-    (version "0.20.10")                 ;untagged
+    (version "0.25.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/tree-sitter/tree-sitter")
-                    (commit "0e4ff0bb27edf37b76fc7d35aa768b02cf4392ad")))
+                    (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1bai4gdhf8w5p1i9np2kl2ms0jq6rgq98qpiipipzayb9jjjlxcy"))
+                "0cck2wa17figxww7lb508sgwy9sbyqj89vxci07hiscr5sgdx9y5"))
               (modules '((guix build utils)))
               (snippet #~(begin
                            ;; Remove bundled ICU parts
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Mon, 21 Apr 2025 14:06:03 GMT) Full text and rfc822 format available.

Message #36 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: John Khoo <johnkhootf <at> gmail.com>
To: 77949 <at> debbugs.gnu.org
Cc: John Khoo <johnkhootf <at> gmail.com>
Subject: [PATCH v2 3/3] gnu: neovim: Update to 0.11.0.
Date: Mon, 21 Apr 2025 22:05:17 +0800
* gnu/packages/vim.scm (neovim): Update to 0.11.0.

Change-Id: I278b533b2ff13e2b40652ce451c9924fc729df5a
---
 gnu/packages/vim.scm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index c921426b7f..bf82301228 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2023 Charles Jackson <charles.b.jackson <at> protonmail.com>
 ;;; Copyright © 2023 Foundation Devices, Inc. <hello <at> foundationdevices.com>
 ;;; Copyright © 2023, 2024 Nguyễn Gia Phong <mcsinyx <at> disroot.org>
+;;; Copyright © 2025 John Khoo <johnkhootf <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -79,6 +80,7 @@ (define-module (gnu packages vim)
   #:use-module (gnu packages shells)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages text-editors)
+  #:use-module (gnu packages textutils)
   #:use-module (gnu packages terminals)
   #:use-module (gnu packages tree-sitter)
   #:use-module (gnu packages xdisorg)
@@ -782,7 +784,7 @@ (define-public neovim-packer
 (define-public neovim
   (package
     (name "neovim")
-    (version "0.9.5")
+    (version "0.11.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -791,7 +793,7 @@ (define-public neovim
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1j3z7jay0m6g06v04falrzr062g07xr4svbrc3hywlqi2h6rrvk5"))))
+                "1z7xmngjr93dc52k8d3r6x0ivznpa8jbdrw24gqm16lg9gzvma02"))))
     (build-system cmake-build-system)
     (arguments
      (list #:modules
@@ -849,6 +851,7 @@ (define-public neovim
                   libtermkey
                   libvterm
                   unibilium
+                  utf8proc
                   jemalloc
                   (if (member (if (%current-target-system)
                                   (gnu-triplet->nix-system (%current-target-system))
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Wed, 23 Apr 2025 12:02:03 GMT) Full text and rfc822 format available.

Message #39 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: Luis Pereira <luispereira.tkd <at> gmail.com>
To: 77949 <at> debbugs.gnu.org
Subject: [PATCH 0/3] Break utf8proc dependency cycle and update neovim to
 0.11.0
Date: Wed, 23 Apr 2025 07:07:12 +0100 (GMT+01:00)
[Message part 1 (text/plain, inline)]
Hello,

This patch obsoletes 77756 which can then be closed.

Good approach here, didn't know the bootstrap package way. I would still like feedback on how I can improve my contributions on future patches if possible.

Thanks
[Message part 2 (text/html, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Mon, 28 Apr 2025 03:29:02 GMT) Full text and rfc822 format available.

Message #42 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: John Khoo <johnkhootf <at> gmail.com>
To: Hilton Chain <hako <at> ultrarare.space>
Cc: 77949 <at> debbugs.gnu.org, Ian Eure <ian <at> retrospec.tv>,
 Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>,
 Cayetano Santos <csantosb <at> inventati.org>, Andrew Tropin <andrew <at> trop.in>,
 Divya Ranjan Pattanaik <divya <at> subvertising.org>,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#77949] [PATCH 2/3] gnu: tree-sitter: Update to 0.25.3.
Date: Mon, 28 Apr 2025 11:28:10 +0800
[Message part 1 (text/plain, inline)]
Hi, just pinging in case the update was missed, but I've made the required
changes. Thanks!

On Mon, 21 Apr 2025 at 15:32, Hilton Chain <hako <at> ultrarare.space> wrote:

> On Mon, 21 Apr 2025 15:16:17 +0800,
> Hilton Chain wrote:
> >
> > Hi,
> >
> > On Mon, 21 Apr 2025 13:53:47 +0800,
> > John Khoo wrote:
> > >
> > > * gnu/packages/tree-sitter.scm (tree-sitter): Update to 0.25.3.
> > >
> > > Change-Id: I5428c1fc180af0a391286f2bcb2ee48746885486
> > > ---
> > >  gnu/packages/tree-sitter.scm | 7 ++++---
> > >  1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > tree-sitter has already been updated on rust-team branch [1], and it's a
> bigger
> > change. :)
> >
> > Closing
> > ---
> > [1]:
> https://git.savannah.gnu.org/cgit/guix.git/commit/?h=rust-team&id=9d6fd73a9d958cf103b23032a855eccff1d7e129
>
> Reopened.  Forgive my tired eyes, I didn't notice this is a patch series.
>
> Did you forget to submit some change?
> --8<---------------cut here---------------start------------->8---
> error: utf8proc-2.10.0: unbound variable
> --8<---------------cut here---------------end--------------->8---
>
> Thanks
>
[Message part 2 (text/html, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Tue, 29 Apr 2025 16:14:05 GMT) Full text and rfc822 format available.

Message #45 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: John Khoo <johnkhootf <at> gmail.com>
Cc: 77949 <at> debbugs.gnu.org, Ian Eure <ian <at> retrospec.tv>,
 Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>,
 Cayetano Santos <csantosb <at> inventati.org>, Andrew Tropin <andrew <at> trop.in>,
 Divya Ranjan Pattanaik <divya <at> subvertising.org>,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#77949] [PATCH 2/3] gnu: tree-sitter: Update to 0.25.3.
Date: Wed, 30 Apr 2025 00:08:57 +0800
On Mon, 28 Apr 2025 11:28:10 +0800,
John Khoo wrote:
>
> [1  <text/plain; UTF-8 (7bit)>]
> [2  <text/html; UTF-8 (quoted-printable)>]
> Hi, just pinging in case the update was missed, but I've made the required changes. Thanks!

Can you split "[PATCH v2 1/3] gnu: utf8proc: Update to 2.10.0" into 3 patches?
Update utf8proc, add utf8proc-bootstrap and remove utf8proc-2.7.0.

Should be fine for me then if there's no build issue, I'll apply the changes to
rust-team.  You can use mumi to send patches or Cc me in the cover letter,
otherwise I won't receive them.

Thanks




Information forwarded to johnkhootf <at> gmail.com, liliana.prikler <at> gmail.com, hako <at> ultrarare.space, help-debbugs <at> gnu.org, luispereira.tkd <at> gmail.com, zimon.toutoune <at> gmail.com, guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Tue, 29 Apr 2025 20:44:01 GMT) Full text and rfc822 format available.

Message #48 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: John Khoo <johnkhootf <at> gmail.com>
To: 77949 <at> debbugs.gnu.org
Cc: John Khoo <johnkhootf <at> gmail.com>
Subject: [PATCH v3 1/5] gnu: Add utf8proc-bootstrap.
Date: Wed, 30 Apr 2025 04:42:45 +0800
* gnu/packages/textutils.scm (utf8proc-bootstrap): New variable.
* gnu/packages/julia.scm (julia): Change utf8proc dependency to
  utf8proc-bootstrap to break dependency loop.

Change-Id: Ie2e0c4a83aa9b478b125a390f162c1c69613cd9b
---
 gnu/packages/julia.scm     |  3 ++-
 gnu/packages/textutils.scm | 34 ++++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index 9668b3fd1e..9a4b38f74e 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2021 Simon Tournier <zimon.toutoune <at> gmail.com>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2022 Akira Kyle <akira <at> akirakyle.com>
+;;; Copyright © 2025 John Khoo <johnkhootf <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -526,7 +527,7 @@ (define-public julia
        ("p7zip" ,p7zip)
        ("pcre2" ,pcre2)
        ("suitesparse" ,suitesparse)
-       ("utf8proc" ,utf8proc-2.7.0)
+       ("utf8proc" ,utf8proc-bootstrap) ; Julia used for tests
        ("wget" ,wget)
        ("which" ,which)
        ("zlib" ,zlib)
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index c886b009be..5fc21eb7ea 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -33,6 +33,7 @@
 ;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus <at> gmail.com>
 ;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is <at> lostca.se>
 ;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom <at> gmail.com>
+;;; Copyright © 2025 John Khoo <johnkhootf <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -76,6 +77,7 @@ (define-module (gnu packages textutils)
   #:use-module (gnu packages golang-crypto)
   #:use-module (gnu packages golang-xyz)
   #:use-module (gnu packages java)
+  #:use-module (gnu packages julia)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
@@ -166,6 +168,38 @@ (define-public enca
 libenca and several charset conversion libraries and tools.")
     (license license:gpl2)))
 
+;; Bootstrap variant of utf8proc, which breaks the dependency cycle between julia
+;; and utf8proc by disabling tests and removing its native-inputs.
+(define-public utf8proc-bootstrap
+  (hidden-package
+    (package
+      (name "utf8proc-bootstrap")
+      (version "2.10.0")
+      (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 "1n1k67x39sk8xnza4w1xkbgbvgb1g7w2a7j2qrqzqaw1lyilqsy2"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f
+         #:make-flags (list ,(string-append "CC=" (cc-for-target))
+                            (string-append "prefix=" (assoc-ref %outputs "out")))
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           )))
+      (home-page "https://juliastrings.github.io/utf8proc/")
+      (synopsis "C library for processing UTF-8 Unicode data")
+      (description "utf8proc is a small C library that provides Unicode
+  normalization, case-folding, and other operations for data in the UTF-8
+  encoding, supporting Unicode version 16.0.0.")
+      (license license:expat))))
+
 (define-public utf8proc
   (package
     (name "utf8proc")

base-commit: 94e7afbb557d3f2709072bf2bf58618293ca7fbd
-- 
2.49.0





Information forwarded to johnkhootf <at> gmail.com, liliana.prikler <at> gmail.com, hako <at> ultrarare.space, help-debbugs <at> gnu.org, luispereira.tkd <at> gmail.com, guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Tue, 29 Apr 2025 20:44:02 GMT) Full text and rfc822 format available.

Message #51 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: John Khoo <johnkhootf <at> gmail.com>
To: 77949 <at> debbugs.gnu.org
Cc: John Khoo <johnkhootf <at> gmail.com>
Subject: [PATCH v3 2/5] gnu: utf8proc: Update to 2.10.0.
Date: Wed, 30 Apr 2025 04:42:46 +0800
* gnu/packages/textutils.scm (utf8proc): Update to 2.10.0.

Change-Id: Ib8e08ea65eab2409a38dd5f43c91342842e361f5
---
 gnu/packages/textutils.scm | 76 ++++++++++++++++----------------------
 1 file changed, 32 insertions(+), 44 deletions(-)

diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 5fc21eb7ea..83c8d83c8b 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -91,7 +91,8 @@ (define-module (gnu packages textutils)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages slang)
   #:use-module (gnu packages web)
-  #:use-module (gnu packages xorg))
+  #:use-module (gnu packages xorg)
+  #:use-module (srfi srfi-1))
 
 (define-public dos2unix
   (package
@@ -202,20 +203,10 @@ (define-public utf8proc-bootstrap
 
 (define-public utf8proc
   (package
+    (inherit utf8proc-bootstrap)
     (name "utf8proc")
-    (version "2.5.0")
-    (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 "1xlkazhdnja4lksn5c9nf4bln5gjqa35a8gwlam5r0728w0h83qq"))))
-    (build-system gnu-build-system)
-    (native-inputs
-     (let ((UNICODE_VERSION "13.0.0"))  ; defined in data/Makefile
+    (native-inputs ;; For tests.
+      (let ((UNICODE_VERSION "16.0.0"))  ; defined in data/Makefile
        ;; Test data that is otherwise downloaded with curl.
        `(("NormalizationTest.txt"
           ,(origin
@@ -223,7 +214,7 @@ (define-public utf8proc
              (uri (string-append "https://www.unicode.org/Public/"
                                  UNICODE_VERSION "/ucd/NormalizationTest.txt"))
              (sha256
-              (base32 "07g0ya4f6zfzvpp24ccxkb2yq568kh83gls85rjl950nv5fya3nn"))))
+              (base32 "1cffwlxgn6sawxb627xqaw3shnnfxq0v7cbgsld5w1z7aca9f4fq"))))
          ("GraphemeBreakTest.txt"
           ,(origin
              (method url-fetch)
@@ -231,37 +222,34 @@ (define-public utf8proc
                                  UNICODE_VERSION
                                  "/ucd/auxiliary/GraphemeBreakTest.txt"))
              (sha256
-              (base32 "07f8rrvcsq4pibdz6zxggxy8w7zjjqyw2ggclqlhalyv45yv7prj"))))
-
+              (base32 "1d9w6vdfxakjpp38qjvhgvbl2qx0zv5655ph54dhdb3hs9a96azf"))))
+          ("DerivedCoreProperties.txt"
+           ,(origin
+              (method url-fetch)
+              (uri (string-append "https://www.unicode.org/Public/"
+                                  UNICODE_VERSION "/ucd/DerivedCoreProperties.txt"))
+              (sha256
+               (base32 "1gfsq4vdmzi803i2s8ih7mm4fgs907kvkg88kvv9fi4my9hm3lrr"))))
          ;; For tests.
-         ("perl" ,perl))))
+         ("perl" ,perl)
+         ("ruby" ,ruby-2.7)
+         ("julia" ,julia))))
     (arguments
-     `(#:make-flags (list ,(string-append "CC=" (cc-for-target))
-                          (string-append "prefix=" (assoc-ref %outputs "out")))
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (add-before 'check 'check-data
-           (lambda* (#:key ,@(if (%current-target-system)
-                                 '(native-inputs)
-                                 '())
-                     inputs #:allow-other-keys)
-             (for-each (lambda (i)
-                         (copy-file (assoc-ref ,@(if (%current-target-system)
-                                                     '((or native-inputs inputs))
-                                                     '(inputs)) i)
-                                    (string-append "data/" i)))
-                       '("NormalizationTest.txt" "GraphemeBreakTest.txt"))
-             (substitute* "data/GraphemeBreakTest.txt"
-               (("÷") "/")
-               (("×") "+"))
-             #t)))))
-    (home-page "https://juliastrings.github.io/utf8proc/")
-    (synopsis "C library for processing UTF-8 Unicode data")
-    (description "utf8proc is a small C library that provides Unicode
-normalization, case-folding, and other operations for data in the UTF-8
-encoding, supporting Unicode version 9.0.0.")
-    (license license:expat)))
+     (substitute-keyword-arguments (package-arguments utf8proc-bootstrap)
+       ((#:tests? _ #f)
+        (not (%current-target-system)))
+       ((#:phases phases)
+        `(modify-phases %standard-phases
+          (delete 'configure)
+          (add-before 'check 'check-data
+             (lambda* (#:key inputs native-inputs #:allow-other-keys)
+               (display native-inputs)
+               (for-each (lambda (i)
+                           (copy-file (assoc-ref (or native-inputs inputs) i)
+                                      (string-append "data/" i)))
+                         '("NormalizationTest.txt" "GraphemeBreakTest.txt"
+                           "DerivedCoreProperties.txt"))))))))
+    (properties (alist-delete 'hidden? (package-properties utf8proc-bootstrap)))))
 
 (define-public utf8proc-2.7.0
   (package
-- 
2.49.0





Information forwarded to johnkhootf <at> gmail.com, liliana.prikler <at> gmail.com, hako <at> ultrarare.space, help-debbugs <at> gnu.org, luispereira.tkd <at> gmail.com, guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Tue, 29 Apr 2025 20:44:02 GMT) Full text and rfc822 format available.

Message #54 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: John Khoo <johnkhootf <at> gmail.com>
To: 77949 <at> debbugs.gnu.org
Cc: John Khoo <johnkhootf <at> gmail.com>
Subject: [PATCH v3 3/5] gnu: Remove utf8proc-2.7.0.
Date: Wed, 30 Apr 2025 04:42:47 +0800
* gnu/packages/textutils.scm (utf8proc-2.7.0): Remove utf8proc-2.7.0.

Change-Id: I1c27646cdded84370590b12e5e65eddcdf97a1e7
---
 gnu/packages/textutils.scm | 40 --------------------------------------
 1 file changed, 40 deletions(-)

diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 83c8d83c8b..1814490e97 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -251,46 +251,6 @@ (define-public utf8proc
                            "DerivedCoreProperties.txt"))))))))
     (properties (alist-delete 'hidden? (package-properties utf8proc-bootstrap)))))
 
-(define-public utf8proc-2.7.0
-  (package
-    (inherit utf8proc)
-    (name "utf8proc")
-    (version "2.7.0")
-    (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 "1wrsmnaigal94gc3xbzdrrm080zjhihjfdla5admllq2w5dladjj"))))
-    (arguments
-     (substitute-keyword-arguments (package-arguments utf8proc)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (replace 'check-data
-             (lambda* (#:key inputs native-inputs #:allow-other-keys)
-               (display native-inputs)
-               (for-each (lambda (i)
-                           (copy-file (assoc-ref (or native-inputs inputs) i)
-                                      (string-append "data/" i)))
-                         '("NormalizationTest.txt" "GraphemeBreakTest.txt"
-                           "DerivedCoreProperties.txt"))))))))
-    (native-inputs
-     (append
-      (package-native-inputs utf8proc)
-      (let ((UNICODE_VERSION "14.0.0"))
-        `(("DerivedCoreProperties.txt"
-           ,(origin
-              (method url-fetch)
-              (uri (string-append "https://www.unicode.org/Public/"
-                                  UNICODE_VERSION "/ucd/DerivedCoreProperties.txt"))
-              (sha256
-               (base32 "1g77s8g9443dd92f82pbkim7rk51s7xdwa3mxpzb1lcw8ryxvvg3"))))
-          ;; For tests
-          ("ruby" ,ruby-2.7)))))))
-
 (define-public libconfuse
   (package
     (name "libconfuse")
-- 
2.49.0





Information forwarded to johnkhootf <at> gmail.com, liliana.prikler <at> gmail.com, hako <at> ultrarare.space, help-debbugs <at> gnu.org, luispereira.tkd <at> gmail.com, andrew <at> trop.in, csantosb <at> inventati.org, divya <at> subvertising.org, ian <at> retrospec.tv, cox.katherine.e+guix <at> gmail.com, guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Tue, 29 Apr 2025 20:44:03 GMT) Full text and rfc822 format available.

Message #57 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: John Khoo <johnkhootf <at> gmail.com>
To: 77949 <at> debbugs.gnu.org
Cc: John Khoo <johnkhootf <at> gmail.com>
Subject: [PATCH v3 4/5] gnu: tree-sitter: Update to 0.25.3.
Date: Wed, 30 Apr 2025 04:42:48 +0800
* gnu/packages/tree-sitter.scm (tree-sitter): Update to 0.25.3.

Change-Id: I5428c1fc180af0a391286f2bcb2ee48746885486
---
 gnu/packages/tree-sitter.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm
index 19e32f53f1..6fa24d5b2a 100644
--- a/gnu/packages/tree-sitter.scm
+++ b/gnu/packages/tree-sitter.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2023, 2024 Nicolas Graves <ngraves <at> ngraves.fr>
 ;;; Copyright © 2023 Zheng Junjie <873216071 <at> qq.com>
 ;;; Copyright © 2023, 2024 Raven Hallsby <karl <at> hallsby.com>
+;;; Copyright © 2025 John Khoo <johnkhootf <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -101,16 +102,16 @@ (define-public python-tree-sitter
 (define-public tree-sitter
   (package
     (name "tree-sitter")
-    (version "0.20.10")                 ;untagged
+    (version "0.25.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/tree-sitter/tree-sitter")
-                    (commit "0e4ff0bb27edf37b76fc7d35aa768b02cf4392ad")))
+                    (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1bai4gdhf8w5p1i9np2kl2ms0jq6rgq98qpiipipzayb9jjjlxcy"))
+                "0cck2wa17figxww7lb508sgwy9sbyqj89vxci07hiscr5sgdx9y5"))
               (modules '((guix build utils)))
               (snippet #~(begin
                            ;; Remove bundled ICU parts
-- 
2.49.0





Information forwarded to johnkhootf <at> gmail.com, liliana.prikler <at> gmail.com, hako <at> ultrarare.space, help-debbugs <at> gnu.org, luispereira.tkd <at> gmail.com, guix-patches <at> gnu.org:
bug#77949; Package guix-patches. (Tue, 29 Apr 2025 20:44:03 GMT) Full text and rfc822 format available.

Message #60 received at 77949 <at> debbugs.gnu.org (full text, mbox):

From: John Khoo <johnkhootf <at> gmail.com>
To: 77949 <at> debbugs.gnu.org
Cc: John Khoo <johnkhootf <at> gmail.com>
Subject: [PATCH v3 5/5] gnu: neovim: Update to 0.11.0.
Date: Wed, 30 Apr 2025 04:42:49 +0800
* gnu/packages/vim.scm (neovim): Update to 0.11.0.

Change-Id: I278b533b2ff13e2b40652ce451c9924fc729df5a
---
 gnu/packages/vim.scm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index c921426b7f..bf82301228 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2023 Charles Jackson <charles.b.jackson <at> protonmail.com>
 ;;; Copyright © 2023 Foundation Devices, Inc. <hello <at> foundationdevices.com>
 ;;; Copyright © 2023, 2024 Nguyễn Gia Phong <mcsinyx <at> disroot.org>
+;;; Copyright © 2025 John Khoo <johnkhootf <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -79,6 +80,7 @@ (define-module (gnu packages vim)
   #:use-module (gnu packages shells)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages text-editors)
+  #:use-module (gnu packages textutils)
   #:use-module (gnu packages terminals)
   #:use-module (gnu packages tree-sitter)
   #:use-module (gnu packages xdisorg)
@@ -782,7 +784,7 @@ (define-public neovim-packer
 (define-public neovim
   (package
     (name "neovim")
-    (version "0.9.5")
+    (version "0.11.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -791,7 +793,7 @@ (define-public neovim
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1j3z7jay0m6g06v04falrzr062g07xr4svbrc3hywlqi2h6rrvk5"))))
+                "1z7xmngjr93dc52k8d3r6x0ivznpa8jbdrw24gqm16lg9gzvma02"))))
     (build-system cmake-build-system)
     (arguments
      (list #:modules
@@ -849,6 +851,7 @@ (define-public neovim
                   libtermkey
                   libvterm
                   unibilium
+                  utf8proc
                   jemalloc
                   (if (member (if (%current-target-system)
                                   (gnu-triplet->nix-system (%current-target-system))
-- 
2.49.0





Reply sent to Hilton Chain <hako <at> ultrarare.space>:
You have taken responsibility. (Sat, 03 May 2025 02:25:02 GMT) Full text and rfc822 format available.

Notification sent to John Khoo <johnkhootf <at> gmail.com>:
bug acknowledged by developer. (Sat, 03 May 2025 02:25:02 GMT) Full text and rfc822 format available.

Message #65 received at 77949-done <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: John Khoo <johnkhootf <at> gmail.com>
Cc: Simon Tournier <zimon.toutoune <at> gmail.com>,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>,
 Luis Pereira <luispereira.tkd <at> gmail.com>, 77949-done <at> debbugs.gnu.org
Subject: Re: [bug#77949] [PATCH v3 1/5] gnu: Add utf8proc-bootstrap.
Date: Sat, 03 May 2025 10:23:39 +0800
On Wed, 30 Apr 2025 04:42:45 +0800,
John Khoo wrote:
>
> * gnu/packages/textutils.scm (utf8proc-bootstrap): New variable.
> * gnu/packages/julia.scm (julia): Change utf8proc dependency to
>   utf8proc-bootstrap to break dependency loop.
>
> Change-Id: Ie2e0c4a83aa9b478b125a390f162c1c69613cd9b
> ---
>  gnu/packages/julia.scm     |  3 ++-
>  gnu/packages/textutils.scm | 34 ++++++++++++++++++++++++++++++++++
>  2 files changed, 36 insertions(+), 1 deletion(-)

Applied on rust-team with modifications, thanks!




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 31 May 2025 11:24:15 GMT) Full text and rfc822 format available.

This bug report was last modified 5 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.