summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/julia.scm2
-rw-r--r--gnu/packages/textutils.scm74
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"))
526 ("p7zip" ,p7zip) 526 ("p7zip" ,p7zip)
527 ("pcre2" ,pcre2) 527 ("pcre2" ,pcre2)
528 ("suitesparse" ,suitesparse) 528 ("suitesparse" ,suitesparse)
529 ("utf8proc" ,utf8proc-bootstrap) 529 ("utf8proc" ,utf8proc)
530 ("wget" ,wget) 530 ("wget" ,wget)
531 ("which" ,which) 531 ("which" ,which)
532 ("zlib" ,zlib) 532 ("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
185libenca and several charset conversion libraries and tools.") 185libenca and several charset conversion libraries and tools.")
186 (license license:gpl2))) 186 (license license:gpl2)))
187 187
188;; Newer utf8proc depends on julia for tests. Since julia also depends on 188;; Tests depend on julia, which itself depends on utf8proc; the previous
189;; utf8proc, a dependency cycle is created. This bootstrap variant of utf8proc 189;; solution of a variant without tests broke this cycle, but made the main
190;; disables tests. 190;; utf8proc and thus subversion and ultimately close to 700 packages depend
191(define-public utf8proc-bootstrap 191;; on julia, which is excessively long to build for testing a tiny library.
192 (hidden-package 192;; Instead we just opt for dropping all tests.
193(define-public utf8proc
193 (package 194 (package
194 (name "utf8proc-bootstrap") 195 (name "utf8proc")
195 (version "2.11.3") 196 (version "2.11.3")
196 (source 197 (source
197 (origin 198 (origin
@@ -204,7 +205,7 @@ libenca and several charset conversion libraries and tools.")
204 (base32 "1ssix4zf3lac1afzlw2gbfg3n52gmggip8lv224gywqf3zyvyp8c")))) 205 (base32 "1ssix4zf3lac1afzlw2gbfg3n52gmggip8lv224gywqf3zyvyp8c"))))
205 (build-system gnu-build-system) 206 (build-system gnu-build-system)
206 (arguments 207 (arguments
207 (list #:tests? #f ;To break dependency cycle. 208 (list #:tests? #f
208 #:make-flags 209 #:make-flags
209 #~(list (string-append "CC=" #$(cc-for-target)) 210 #~(list (string-append "CC=" #$(cc-for-target))
210 (string-append "prefix=" #$output)) 211 (string-append "prefix=" #$output))
@@ -217,64 +218,7 @@ libenca and several charset conversion libraries and tools.")
217 (description 218 (description
218 "@code{utf8proc} is a small C library that provides Unicode normalization, 219 "@code{utf8proc} is a small C library that provides Unicode normalization,
219case-folding, and other operations for data in the UTF-8 encoding.") 220case-folding, and other operations for data in the UTF-8 encoding.")
220 (license license:expat)))) 221 (license license:expat)))
221
222(define-public utf8proc
223 (package
224 (inherit utf8proc-bootstrap)
225 (name "utf8proc")
226 (native-inputs
227 (let ((UNICODE_VERSION "17.0.0")) ; defined in data/Makefile
228 ;; Only if the tests will be run should these be added.
229 (if (and (%current-system)
230 (supported-package? julia))
231 ;; Test data that is otherwise downloaded with curl.
232 (list (origin
233 (method url-fetch)
234 (uri (string-append
235 "https://www.unicode.org/Public/"
236 UNICODE_VERSION "/ucd/NormalizationTest.txt"))
237 (sha256
238 (base32
239 "1cffwlxgn6sawxb627xqaw3shnnfxq0v7cbgsld5w1z7aca9f4fq")))
240 (origin
241 (method url-fetch)
242 (uri (string-append
243 "https://www.unicode.org/Public/"
244 UNICODE_VERSION "/ucd/auxiliary/GraphemeBreakTest.txt"))
245 (sha256
246 (base32
247 "1d9w6vdfxakjpp38qjvhgvbl2qx0zv5655ph54dhdb3hs9a96azf")))
248 (origin
249 (method url-fetch)
250 (uri (string-append
251 "https://www.unicode.org/Public/"
252 UNICODE_VERSION "/ucd/DerivedCoreProperties.txt"))
253 (sha256
254 (base32
255 "1gfsq4vdmzi803i2s8ih7mm4fgs907kvkg88kvv9fi4my9hm3lrr")))
256 ;; For tests.
257 julia
258 perl)
259 '())))
260 (arguments
261 (if (this-package-native-input "julia")
262 (strip-keyword-arguments
263 '(#:tests?)
264 (substitute-keyword-arguments arguments
265 ((#:phases phases '%standard-phases)
266 #~(modify-phases #$phases
267 (add-before 'check 'check-data
268 (lambda* (#:key inputs native-inputs #:allow-other-keys)
269 (for-each (lambda (i)
270 (copy-file (assoc-ref (or native-inputs inputs) i)
271 (string-append "data/" i)))
272 '("NormalizationTest.txt" "GraphemeBreakTest.txt"
273 "DerivedCoreProperties.txt"))))))))
274 (substitute-keyword-arguments arguments
275 ((#:tests? _ #t) #f))))
276 (properties
277 (alist-delete 'hidden? (package-properties utf8proc-bootstrap)))))
278 222
279(define-public libconfuse 223(define-public libconfuse
280 (package 224 (package