summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Khoo <johnkhootf@gmail.com>2025-04-30 04:42:45 +0800
committerHilton Chain <hako@ultrarare.space>2025-07-29 21:32:19 +0800
commitf69dd2843f3b61a03f13bc4a57bb6e3f59332671 (patch)
treedaf190bd70bc5c862bea160d757f733e5d1d701c
parent511ea5fdaf4575e6a9dbbe24b7179bc3ab63e661 (diff)
gnu: Add utf8proc-bootstrap.
* gnu/packages/textutils.scm (utf8proc-bootstrap): New variable. * gnu/packages/julia.scm (julia)[inputs]: Replace utf8proc with it to break dependency circle. Change-Id: Ie2e0c4a83aa9b478b125a390f162c1c69613cd9b Signed-off-by: Hilton Chain <hako@ultrarare.space> Modified-by: Hilton Chain <hako@ultrarare.space>
-rw-r--r--gnu/packages/julia.scm3
-rw-r--r--gnu/packages/textutils.scm35
2 files changed, 36 insertions, 2 deletions
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index 22457dd3f4..5cbdbfb57b 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -526,8 +526,7 @@ using Dates: @dateformat_str, Date, DateTime, DateFormat, Time"))
("p7zip" ,p7zip)
("pcre2" ,pcre2)
("suitesparse" ,suitesparse)
- ;; TODO Move dependent ruby to ruby@3 on the next rebuild cycle.
- ("utf8proc" ,utf8proc-2.7.0)
+ ("utf8proc" ,utf8proc-bootstrap)
("wget" ,wget)
("which" ,which)
("zlib" ,zlib)
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index c693e043c4..d2a64b50ab 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2024-2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2025 John Khoo <johnkhootf@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -172,6 +173,40 @@ an encoding detection library, and enca, a command line frontend, integrating
libenca and several charset conversion libraries and tools.")
(license license:gpl2)))
+;; Newer utf8proc depends on julia for tests. Since julia also depends on
+;; utf8proc, a dependency cycle is created. This bootstrap variant of utf8proc
+;; disables tests.
+(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
+ (list #:tests? #f ;To break dependency cycle.
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "prefix=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; No configure script.
+ (delete 'configure))))
+ (home-page "https://juliastrings.github.io/utf8proc/")
+ (synopsis "C library for processing UTF-8 Unicode data")
+ (description
+ "@code{utf8proc} is a small C library that provides Unicode normalization,
+case-folding, and other operations for data in the UTF-8 encoding.")
+ (license license:expat))))
+
(define-public utf8proc
(package
(name "utf8proc")