guix_mirror_bot pushed a commit to branch crypto-team
in repository guix.
commit bb39faab78a910bf33e206d43a2792f924457ffa
Author: Andreas Enge <[email protected]>
AuthorDate: Thu May 28 13:32:37 2026 +0200
gnu: Remove utf8proc-bootstrap.
More precisely, rename the utf8proc-bootstrap package, built without tests,
to utf8proc, and drop the current utf8proc with tests depending on julia.
* gnu/packages/textutils.scm (utf8proc-bootstrap): Rename to...
(utf8proc): ...this and drop the previous definition.
* gnu/packages/julia.scm (julia)[inputs]: Replace utf8proc-bootstrap by
utf8proc.
Fixes: guix/guix#5856
Fixes: guix/guix#8911
Change-Id: I293d61f5015f8302d001915c8f087ba500e5f211
---
gnu/packages/julia.scm | 2 +-
gnu/packages/textutils.scm | 74 ++++++----------------------------------------
2 files changed, 10 insertions(+), 66 deletions(-)
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index 20ce152286..c14c197194 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -526,7 +526,7 @@ using Dates: @dateformat_str, Date, DateTime, DateFormat,
Time"))
("p7zip" ,p7zip)
("pcre2" ,pcre2)
("suitesparse" ,suitesparse)
- ("utf8proc" ,utf8proc-bootstrap)
+ ("utf8proc" ,utf8proc)
("wget" ,wget)
("which" ,which)
("zlib" ,zlib)
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 37ae97b497..9e89f0f41c 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -185,13 +185,14 @@ 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
+;; Tests depend on julia, which itself depends on utf8proc; the previous
+;; solution of a variant without tests broke this cycle, but made the main
+;; utf8proc and thus subversion and ultimately close to 700 packages depend
+;; on julia, which is excessively long to build for testing a tiny library.
+;; Instead we just opt for dropping all tests.
+(define-public utf8proc
(package
- (name "utf8proc-bootstrap")
+ (name "utf8proc")
(version "2.11.3")
(source
(origin
@@ -204,7 +205,7 @@ libenca and several charset conversion libraries and
tools.")
(base32 "1ssix4zf3lac1afzlw2gbfg3n52gmggip8lv224gywqf3zyvyp8c"))))
(build-system gnu-build-system)
(arguments
- (list #:tests? #f ;To break dependency cycle.
+ (list #:tests? #f
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "prefix=" #$output))
@@ -217,64 +218,7 @@ libenca and several charset conversion libraries and
tools.")
(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
- (inherit utf8proc-bootstrap)
- (name "utf8proc")
- (native-inputs
- (let ((UNICODE_VERSION "17.0.0")) ; defined in data/Makefile
- ;; Only if the tests will be run should these be added.
- (if (and (%current-system)
- (supported-package? julia))
- ;; Test data that is otherwise downloaded with curl.
- (list (origin
- (method url-fetch)
- (uri (string-append
- "https://www.unicode.org/Public/"
- UNICODE_VERSION "/ucd/NormalizationTest.txt"))
- (sha256
- (base32
- "1cffwlxgn6sawxb627xqaw3shnnfxq0v7cbgsld5w1z7aca9f4fq")))
- (origin
- (method url-fetch)
- (uri (string-append
- "https://www.unicode.org/Public/"
- UNICODE_VERSION
"/ucd/auxiliary/GraphemeBreakTest.txt"))
- (sha256
- (base32
- "1d9w6vdfxakjpp38qjvhgvbl2qx0zv5655ph54dhdb3hs9a96azf")))
- (origin
- (method url-fetch)
- (uri (string-append
- "https://www.unicode.org/Public/"
- UNICODE_VERSION "/ucd/DerivedCoreProperties.txt"))
- (sha256
- (base32
- "1gfsq4vdmzi803i2s8ih7mm4fgs907kvkg88kvv9fi4my9hm3lrr")))
- ;; For tests.
- julia
- perl)
- '())))
- (arguments
- (if (this-package-native-input "julia")
- (strip-keyword-arguments
- '(#:tests?)
- (substitute-keyword-arguments arguments
- ((#:phases phases '%standard-phases)
- #~(modify-phases #$phases
- (add-before 'check 'check-data
- (lambda* (#:key inputs native-inputs #:allow-other-keys)
- (for-each (lambda (i)
- (copy-file (assoc-ref (or native-inputs
inputs) i)
- (string-append "data/" i)))
- '("NormalizationTest.txt"
"GraphemeBreakTest.txt"
- "DerivedCoreProperties.txt"))))))))
- (substitute-keyword-arguments arguments
- ((#:tests? _ #t) #f))))
- (properties
- (alist-delete 'hidden? (package-properties utf8proc-bootstrap)))))
+ (license license:expat)))
(define-public libconfuse
(package