summaryrefslogtreecommitdiff
path: root/gnu/packages/textutils.scm
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2026-05-28 13:32:37 +0200
committerAndreas Enge <andreas@enge.fr>2026-08-17 11:00:34 +0200
commit683d1122b8971a11c66c015df8bfcbda534fe846 (patch)
treed8688b8e8d2288ec8f4e53e299671a17d64e7aa9 /gnu/packages/textutils.scm
parent102af20a72b020ccc576ea3413d072df1d7364ec (diff)
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
Diffstat (limited to 'gnu/packages/textutils.scm')
-rw-r--r--gnu/packages/textutils.scm74
1 files changed, 9 insertions, 65 deletions
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index b9696bd7249..33b84f8ea5e 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -187,13 +187,14 @@ an encoding detection library, and enca, a command line frontend, integrating
187libenca and several charset conversion libraries and tools.") 187libenca and several charset conversion libraries and tools.")
188 (license license:gpl2))) 188 (license license:gpl2)))
189 189
190;; Newer utf8proc depends on julia for tests. Since julia also depends on 190;; Tests depend on julia, which itself depends on utf8proc; the previous
191;; utf8proc, a dependency cycle is created. This bootstrap variant of utf8proc 191;; solution of a variant without tests broke this cycle, but made the main
192;; disables tests. 192;; utf8proc and thus subversion and ultimately close to 700 packages depend
193(define-public utf8proc-bootstrap 193;; on julia, which is excessively long to build for testing a tiny library.
194 (hidden-package 194;; Instead we just opt for dropping all tests.
195(define-public utf8proc
195 (package 196 (package
196 (name "utf8proc-bootstrap") 197 (name "utf8proc")
197 (version "2.11.3") 198 (version "2.11.3")
198 (source 199 (source
199 (origin 200 (origin
@@ -206,7 +207,7 @@ libenca and several charset conversion libraries and tools.")
206 (base32 "1ssix4zf3lac1afzlw2gbfg3n52gmggip8lv224gywqf3zyvyp8c")))) 207 (base32 "1ssix4zf3lac1afzlw2gbfg3n52gmggip8lv224gywqf3zyvyp8c"))))
207 (build-system gnu-build-system) 208 (build-system gnu-build-system)
208 (arguments 209 (arguments
209 (list #:tests? #f ;To break dependency cycle. 210 (list #:tests? #f
210 #:make-flags 211 #:make-flags
211 #~(list (string-append "CC=" #$(cc-for-target)) 212 #~(list (string-append "CC=" #$(cc-for-target))
212 (string-append "prefix=" #$output)) 213 (string-append "prefix=" #$output))
@@ -219,64 +220,7 @@ libenca and several charset conversion libraries and tools.")
219 (description 220 (description
220 "@code{utf8proc} is a small C library that provides Unicode normalization, 221 "@code{utf8proc} is a small C library that provides Unicode normalization,
221case-folding, and other operations for data in the UTF-8 encoding.") 222case-folding, and other operations for data in the UTF-8 encoding.")
222 (license license:expat)))) 223 (license license:expat)))
223
224(define-public utf8proc
225 (package
226 (inherit utf8proc-bootstrap)
227 (name "utf8proc")
228 (native-inputs
229 (let ((UNICODE_VERSION "17.0.0")) ; defined in data/Makefile
230 ;; Only if the tests will be run should these be added.
231 (if (and (%current-system)
232 (supported-package? julia))
233 ;; Test data that is otherwise downloaded with curl.
234 (list (origin
235 (method url-fetch)
236 (uri (string-append
237 "https://www.unicode.org/Public/"
238 UNICODE_VERSION "/ucd/NormalizationTest.txt"))
239 (sha256
240 (base32
241 "1nw7i89q42r0plwlc8qj6qm18brk23hc0jf800cp86km63azy6ah")))
242 (origin
243 (method url-fetch)
244 (uri (string-append
245 "https://www.unicode.org/Public/"
246 UNICODE_VERSION "/ucd/auxiliary/GraphemeBreakTest.txt"))
247 (sha256
248 (base32
249 "1v4k2x52bzwgqxw89hdf3wdgwm8q3ianmfrya37bl699qp939lg2")))
250 (origin
251 (method url-fetch)
252 (uri (string-append
253 "https://www.unicode.org/Public/"
254 UNICODE_VERSION "/ucd/DerivedCoreProperties.txt"))
255 (sha256
256 (base32
257 "021clafsjmjblsxcszp0dpxy2phwhbmyghfmxym2yj2w378zxir4")))
258 ;; For tests.
259 julia
260 perl)
261 '())))
262 (arguments
263 (if (this-package-native-input "julia")
264 (strip-keyword-arguments
265 '(#:tests?)
266 (substitute-keyword-arguments arguments
267 ((#:phases phases '%standard-phases)
268 #~(modify-phases #$phases
269 (add-before 'check 'check-data
270 (lambda* (#:key inputs native-inputs #:allow-other-keys)
271 (for-each (lambda (i)
272 (copy-file (assoc-ref (or native-inputs inputs) i)
273 (string-append "data/" i)))
274 '("NormalizationTest.txt" "GraphemeBreakTest.txt"
275 "DerivedCoreProperties.txt"))))))))
276 (substitute-keyword-arguments arguments
277 ((#:tests? _ #t) #f))))
278 (properties
279 (alist-delete 'hidden? (package-properties utf8proc-bootstrap)))))
280 224
281(define-public libchardet 225(define-public libchardet
282 (package 226 (package