summaryrefslogtreecommitdiff
path: root/gnu/packages/icu4c.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/icu4c.scm')
-rw-r--r--gnu/packages/icu4c.scm60
1 files changed, 60 insertions, 0 deletions
diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm
index 0c0351dd9d1..08aa3e4b359 100644
--- a/gnu/packages/icu4c.scm
+++ b/gnu/packages/icu4c.scm
@@ -260,6 +260,66 @@ globalisation support for software applications. This package contains the
260Java part.") 260Java part.")
261 (license x11))) 261 (license x11)))
262 262
263;; GraalVM Truffle 25.0.1 wants ICU4J 76.1, but ICU stopped publishing
264;; source tarballs with build.xml after 73.2. Version 74+ only provides
265;; Maven-based builds or pre-built JARs. Using 73.2 as a compromise.
266(define-public java-icu4j-for-graal-truffle
267 (package
268 (inherit java-icu4j)
269 (name "java-icu4j-for-graal-truffle")
270 (version "73.2")
271 (source (origin
272 (method url-fetch)
273 (uri (string-append
274 "https://github.com/unicode-org/icu/releases/download/release-"
275 (string-map (lambda (x) (if (char=? x #\.) #\- x)) version)
276 "/icu4j-"
277 (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
278 ".tgz"))
279 (sha256
280 (base32 "0g4sxanzm5s0axjk2lm1w15gr0gx8jasir6rdjn23yx039brchjb"))))
281 (arguments
282 (substitute-keyword-arguments (package-arguments java-icu4j)
283 ((#:phases phases)
284 `(modify-phases ,phases
285 (add-after 'build 'create-sources-jar
286 (lambda _
287 ;; Create a sources JAR from the core source files.
288 ;; mx shading needs .java source files, not .class files.
289 (invoke "jar" "cf" "icu4j-sources.jar"
290 "-C" "main/classes/core/src" "com")))
291 (replace 'install
292 (lambda* (#:key outputs #:allow-other-keys)
293 (let ((share (string-append (assoc-ref outputs "out")
294 "/share/java/")))
295 (mkdir-p share)
296 (install-file "icu4j.jar" share)
297 (install-file "icu4j-sources.jar" share))))))))))
298
299(define-public java-icu4j-charset-for-graal-truffle
300 (package
301 (inherit java-icu4j-for-graal-truffle)
302 (name "java-icu4j-charset-for-graal-truffle")
303 (arguments
304 (substitute-keyword-arguments (package-arguments java-icu4j-for-graal-truffle)
305 ((#:build-target _) "icu4j-charset.jar")
306 ((#:phases phases)
307 `(modify-phases ,phases
308 (replace 'create-sources-jar
309 (lambda _
310 ;; Create a sources JAR from the charset source files.
311 (invoke "jar" "cf" "icu4j-charset-sources.jar"
312 "-C" "main/classes/charset/src" "com")))
313 (replace 'install
314 (lambda* (#:key outputs #:allow-other-keys)
315 (let ((share (string-append (assoc-ref outputs "out")
316 "/share/java/")))
317 (mkdir-p share)
318 (install-file "icu4j-charset.jar" share)
319 (install-file "icu4j-charset-sources.jar" share))))))))
320 (inputs (list java-icu4j-for-graal-truffle))
321 (synopsis "ICU4J charset provider for GraalVM Truffle")))
322
263(define-public icu4c-for-skia 323(define-public icu4c-for-skia
264 ;; The current version of skia needs this exact commit 324 ;; The current version of skia needs this exact commit
265 ;; for its test dependencies. 325 ;; for its test dependencies.