1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-22 00:55:56 +02:00

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>
This commit is contained in:
John Khoo
2025-04-30 04:42:45 +08:00
committed by Hilton Chain
parent 7b9d6af90f
commit e77ad0ab0e
2 changed files with 36 additions and 2 deletions
+1 -2
View File
@@ -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)
+35
View File
@@ -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.
;;;
@@ -173,6 +174,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")