From bb39faab78a910bf33e206d43a2792f924457ffa Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 28 May 2026 13:32:37 +0200 Subject: 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 20ce1522861..c14c197194f 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 37ae97b497c..9e89f0f41ca 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 -- cgit v1.2.3