diff options
Diffstat (limited to 'gnu/packages/icu4c.scm')
| -rw-r--r-- | gnu/packages/icu4c.scm | 60 |
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 | |||
| 260 | Java part.") | 260 | Java 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. |
