summaryrefslogtreecommitdiff
path: root/gnu/packages/java.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/java.scm')
-rw-r--r--gnu/packages/java.scm119
1 files changed, 62 insertions, 57 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index e2c2a041a9..613742007a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2024 Paul A. Patience <paul@apatience.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -92,6 +93,7 @@
#:use-module (gnu packages kerberos)
#:use-module (gnu packages security-token)
#:use-module (gnu packages xml)
+ #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages texinfo)
#:use-module ((srfi srfi-1) #:select (fold alist-delete))
@@ -100,13 +102,14 @@
(define-public icedtea-7
(let* ((version "2.6.13")
- (drop (lambda (name hash)
+ (drop (lambda* (name hash #:optional (patches '()))
(origin
(method url-fetch)
(uri (string-append
"http://icedtea.classpath.org/download/drops"
"/icedtea7/" version "/" name ".tar.bz2"))
- (sha256 (base32 hash))))))
+ (sha256 (base32 hash))
+ (patches patches)))))
(package
(name "icedtea")
(version version)
@@ -614,7 +617,8 @@
"110j7jlz47x2gg6f7653x12mssan5kvj9l9h1m1c8c92drfxbqyk"))
("jdk-drop"
,(drop "jdk"
- "0d1mca38ksxvdskp9im3pp7fdijhj1n3lwq9w13r9s4v3qyskgdd"))
+ "0d1mca38ksxvdskp9im3pp7fdijhj1n3lwq9w13r9s4v3qyskgdd"
+ (search-patches "jdk-currency-time-bomb.patch")))
("langtools-drop"
,(drop "langtools"
"0nq5236fzxn3p6x8cgncl56mzcmsj07q9gymysnws4c8byc6n0qj"))
@@ -687,13 +691,14 @@ IcedTea build harness.")
(define-public icedtea-8
(let* ((version "3.19.0")
- (drop (lambda (name hash)
+ (drop (lambda* (name hash #:optional (patches '()))
(origin
(method url-fetch)
(uri (string-append
"http://icedtea.classpath.org/download/drops"
"/icedtea8/" version "/" name ".tar.xz"))
- (sha256 (base32 hash))))))
+ (sha256 (base32 hash))
+ (patches patches)))))
(package (inherit icedtea-7)
(version "3.19.0")
(source (origin
@@ -839,7 +844,8 @@ new Date();"))
"1pc0pv4v2mn2mjc0vp19d94v2150xigyhxsmckqasy647zcm6w0r"))
("jdk-drop"
,(drop "jdk"
- "1742lcm55l8zhi522x83v65ccr0rd6511q9rj7crw44x3ymdrhrv"))
+ "1742lcm55l8zhi522x83v65ccr0rd6511q9rj7crw44x3ymdrhrv"
+ (search-patches "jdk-currency-time-bomb2.patch")))
("langtools-drop"
,(drop "langtools"
"08iz7p2xcddlphipf6gahyabr5cawlnydap12p1n4f0md069b50b"))
@@ -869,14 +875,14 @@ new Date();"))
(changeset "jdk-9+181")))
(file-name (hg-file-name name version))
(modules '((guix build utils)))
- (snippet `(begin
- (for-each delete-file
- (find-files "." ".*.(bin|exe|jar)$"))))
+ (snippet '(for-each delete-file
+ (find-files "." ".*.(bin|exe|jar)$")))
(sha256
(base32
"1v92nzdqx07c35x945awzir4yk0fk22vky6fpp8mq9js930sxsz0"))
(patches (search-patches "openjdk-9-pointer-comparison.patch"
- "openjdk-9-setsignalhandler.patch"))))
+ "openjdk-9-setsignalhandler.patch"
+ "openjdk-currency-time-bomb.patch"))))
(build-system gnu-build-system)
(outputs '("out" "jdk" "doc"))
(arguments
@@ -911,8 +917,7 @@ new Date();"))
;; This file was "fixed" by patch-source-shebangs, but it requires
;; this exact first line.
(substitute* "jdk/make/data/blacklistedcertsconverter/blacklisted.certs.pem"
- (("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n"))
- #t))
+ (("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n"))))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
;; TODO: unbundle libpng and lcms
@@ -928,14 +933,12 @@ new Date();"))
"--disable-hotspot-gtest"
"--with-giflib=system"
"--with-libjpeg=system"
- (string-append "--prefix=" (assoc-ref outputs "out")))
- #t))
+ (string-append "--prefix=" (assoc-ref outputs "out")))))
(add-before 'build 'write-source-revision-file
(lambda _
(with-output-to-file ".src-rev"
(lambda _
- (display ,version)))
- #t))
+ (display ,version)))))
(replace 'build
(lambda* (#:key make-flags parallel-build? #:allow-other-keys)
(apply invoke "make"
@@ -978,8 +981,7 @@ new Date();"))
"warning: failed to substitute: ~a~%"
file))))
(find-files "."
- "\\.c$|\\.h$"))
- #t)))
+ "\\.c$|\\.h$")))))
;; By default OpenJDK only generates an empty keystore. In order to
;; be able to use certificates in Java programs we need to generate a
;; keystore from a set of certificates. For convenience we use the
@@ -1073,8 +1075,7 @@ new Date();"))
(symlink (string-append lib-jdk "/server/libjvm.so")
(string-append lib-jdk "/libjvm.so"))
(symlink (string-append lib-out "/server/libjvm.so")
- (string-append lib-out "/libjvm.so")))
- #t))
+ (string-append lib-out "/libjvm.so")))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
@@ -1084,8 +1085,7 @@ new Date();"))
#:directories? #t))))
(copy-recursively (string-append images "/images/jdk") jdk)
(copy-recursively (string-append images "/images/jre") out)
- (copy-recursively (string-append images "/images/docs") doc))
- #t))
+ (copy-recursively (string-append images "/images/docs") doc))))
(add-after 'install 'strip-zip-timestamps
(lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (zip)
@@ -1102,8 +1102,7 @@ new Date();"))
(with-directory-excursion dir
(let ((files (find-files "." ".*" #:directories? #t)))
(apply invoke "zip" "-0" "-X" zip files)))))
- (find-files (assoc-ref outputs "doc") ".*.zip$"))
- #t)))))
+ (find-files (assoc-ref outputs "doc") ".*.zip$")))))))
(inputs
`(("alsa-lib" ,alsa-lib)
("cups" ,cups)
@@ -1157,7 +1156,8 @@ new Date();"))
(patches (search-patches
"openjdk-10-idlj-reproducibility.patch"
"openjdk-10-pointer-comparison.patch"
- "openjdk-10-setsignalhandler.patch"))))
+ "openjdk-10-setsignalhandler.patch"
+ "openjdk-currency-time-bomb2.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments openjdk9)
((#:phases phases)
@@ -1179,8 +1179,7 @@ new Date();"))
;; This file was "fixed" by patch-source-shebangs, but it requires
;; this exact first line.
(substitute* "make/data/blacklistedcertsconverter/blacklisted.certs.pem"
- (("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n"))
- #t))
+ (("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n"))))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(invoke "bash" "./configure"
@@ -1218,7 +1217,7 @@ new Date();"))
(define-public openjdk11
(package
(name "openjdk")
- (version "11.0.17")
+ (version "11.0.22")
(source (origin
(method url-fetch)
(uri (string-append "https://openjdk-sources.osci.io/openjdk11/openjdk-"
@@ -1226,10 +1225,12 @@ new Date();"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
- "1prvqy0ysz0999wrhsrbz6vrknpqfihl9l74l16ph93g89dqi5ia"))
+ "18ca4syp9xlrqjgyjkb1sp9835riy6aym5xs81r8byrz6jlb2473"))
(modules '((guix build utils)))
(snippet
- '(for-each delete-file (find-files "." "\\.(bin|exe|jar)$")))))
+ '(for-each delete-file (find-files "." "\\.(bin|exe|jar)$")))
+ (patches (search-patches
+ "openjdk-currency-time-bomb2.patch"))))
(build-system gnu-build-system)
(outputs '("out" "jdk" "doc"))
(arguments
@@ -1299,10 +1300,10 @@ new Date();"))
(catch 'decoding-error
(lambda ()
(substitute* file
- (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)"
+ (("VERSIONED_JNI_LIB_NAME\\(\"([^\"]*)\", \"([^\"]*)\"\\)"
_ name version)
(string-append "\"" (find-library name) "\""))
- (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name)
+ (("JNI_LIB_NAME\\(\"([^\"]*)\"\\)" _ name)
(string-append "\"" (find-library name) "\""))))
(lambda _
;; Those are safe to skip.
@@ -1533,7 +1534,7 @@ new Date();"))
(define-public openjdk12
(make-openjdk
- openjdk11 "12.33" "0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2"
+ openjdk11 "12.33" "0pi2gwib3j2imi4l623iaywrmvfh9rqzh82lj2gxqbrmg55swvjf"
(source
(origin
(method url-fetch)
@@ -1541,7 +1542,7 @@ new Date();"))
(file-name (string-append name "-" version ".tar.bz2"))
(sha256
(base32
- "0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2"))
+ "0pi2gwib3j2imi4l623iaywrmvfh9rqzh82lj2gxqbrmg55swvjf"))
(modules '((guix build utils)))
(snippet
'(for-each delete-file (find-files "." "\\.(bin|exe|jar)$")))
@@ -1572,8 +1573,8 @@ blacklisted.certs.pem"
"#! java BlacklistedCertsConverter SHA-256\n"))))))))))
(define-public openjdk13
- (make-openjdk openjdk12 "13.0.13"
- "0pxf4dlig61k0pg7amg4mi919hzam7nzwckry01avgq1wj8ambji"
+ (make-openjdk openjdk12 "13.0.14"
+ "1v92i5rhahqkjw8mz09c9qasnxqc67ygy0y266kdmm534z0da755"
(source (origin
(inherit (package-source base))
(patches '())))))
@@ -1595,8 +1596,8 @@ blacklisted.certs.pem"
(define-public openjdk15
(make-openjdk
- openjdk14 "15.0.9"
- "1k3x06fv89l84ysjsyw8s89q8blghq85m6xjzv373x6297ln8n7a"
+ openjdk14 "15.0.10"
+ "0hdllv348bws6m992bh73jik18x0sv0k2m9l817b3zb7q802sp7x"
(source (origin
(inherit (package-source base))
(modules '())
@@ -1622,8 +1623,8 @@ blacklisted.certs.pem"
(define-public openjdk17
(make-openjdk
- openjdk16 "17.0.5"
- "1asnysg6kxdkrmb88y6qihdr12ljsyxv0mg6hlcs7cwxgsdlqkfs"
+ openjdk16 "17.0.10"
+ "1bq1rqnipz6wdr05s20gm8nlpb3328ljxckzvc5ag0gf7fzlhn5f"
(source (origin
(inherit (package-source base))
(patches (search-patches "openjdk-15-xcursor-no-dynamic.patch"))))
@@ -1638,8 +1639,8 @@ blacklisted.certs.pem"
(("^#!.*") "#! java BlockedCertsConverter SHA-256\n"))))))))))
(define-public openjdk18
- (make-openjdk openjdk17 "18.0.2"
- "1yimfdkwpinhg5cf1mcrzk9xvjwnray3cx762kypb9jcwbranjwx"))
+ (make-openjdk openjdk17 "18.0.2.1"
+ "0zxanjzz4p3psqahlidh55vx1ldanq70c2ygk3gcfn9a94vnr9rg"))
(define-public openjdk19
(make-openjdk openjdk18 "19.0.2"
@@ -1659,12 +1660,12 @@ blacklisted.certs.pem"
(setenv "SOURCE_DATE_EPOCH" "1234567890")))))))))
(define-public openjdk20
- (make-openjdk openjdk19 "20"
- "0pk5lpwijfv9qv7vwpsq2xfklbnqdfs6xbdhc5aamrpar4xi4ykx"))
+ (make-openjdk openjdk19 "20.0.2"
+ "1af1v2c3d8x4c6shzl6cv9qwq7a4hn5map5pjh9vjcky0hkzd489"))
(define-public openjdk21
- (make-openjdk openjdk20 "21"
- "06wjfwrkqykjdkis2s1nh91cy8vwincnmc699cxvyk3fc12jf3vw"
+ (make-openjdk openjdk20 "21.0.2"
+ "0d1g3wnzr5whjpq8gvxq0h7kd7lxd3xgc6bh3kg8vzz096asn0kj"
(source (origin
(inherit (package-source base))
(patches (search-patches "openjdk-21-fix-rpath.patch"
@@ -1723,16 +1724,16 @@ OpenJDK.")
(package
(inherit openjdk17)
(name "jbr")
- (version "17.0.7-b1020")
+ (version "17.0.10b1207.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JetBrains/JetBrainsRuntime.git")
- (commit (string-append "jb" version))))
+ (commit (string-append "jbr-release-" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "0wh9xhqgcjk0jgvpvlvf78dy3r8m0vgqd0f54whpx0qqbmyavgdw"))
+ "1n9i07i243wrnnnvj05j81qhx3b5dry8y423pnbrrdn8fcwm1f2d"))
(patches (search-patches "jbr-17-xcursor-no-dynamic.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments openjdk17)
@@ -1757,20 +1758,21 @@ OpenJDK.")
(package
(inherit openjdk21)
(name "jbr")
- (version "21-b240.22")
+ (version "21.0.2b375.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JetBrains/JetBrainsRuntime.git")
- (commit (string-append "jb" version))))
+ (commit (string-append "jbr-release-" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1sx48mm5vap4ab1qr6hy25wlgxljmhvpvrqiqiq692izr8dh7j4c"))
+ "15rcwbch0xxzcgggc34lna9dwimwqsc0z4mvw5hd428414gz71iy"))
(patches (search-patches "openjdk-21-fix-rpath.patch"
"jbr-17-xcursor-no-dynamic.patch"))))
(inputs
`(("wayland" ,wayland)
+ ("libxkbcommon" ,libxkbcommon) ; for wayland
,@(package-inputs openjdk21)))
(arguments
(substitute-keyword-arguments (package-arguments openjdk21)
@@ -3406,9 +3408,10 @@ declaratively, to be used in other frameworks. Typical scenarios include
testing frameworks, mocking libraries and UI validation rules.")
(license license:bsd-2)))
-(define java-hamcrest-parent-pom
+(define-public java-hamcrest-parent-pom
(package
(inherit java-hamcrest-core)
+ (properties '((hidden? . #t)))
(name "java-hamcrest-parent-pom")
(propagated-inputs '())
(native-inputs '())
@@ -4966,7 +4969,7 @@ transformations and analysis algorithms allow easily assembling custom
complex transformations and code analysis tools.")
(license license:bsd-3)))
-(define java-org-ow2-parent-pom-1.3
+(define-public java-org-ow2-parent-pom-1.3
(package
(name "java-org-ow2-parent-pom")
(version "1.3")
@@ -4990,12 +4993,14 @@ complex transformations and code analysis tools.")
(synopsis "Ow2.org parent pom")
(description "This package contains the parent pom for projects from ow2.org,
including java-asm.")
+ (properties '((hidden? . #t)))
(license license:lgpl2.1+)))
-(define java-asm-bootstrap
+(define-public java-asm-bootstrap
(package
(inherit java-asm)
(name "java-asm-bootstrap")
+ (properties '((hidden? . #t)))
(arguments
(substitute-keyword-arguments (package-arguments java-asm)
((#:tests? _) #f)))
@@ -13574,14 +13579,14 @@ network protocols, and core version control algorithms.")
":"
share "abcl-contrib.jar")))
(display (string-append
- "#!" (which "sh") "\n"
+ "#!" (which "bash") "\n"
"if [[ -z $CLASSPATH ]]; then\n"
" cp=\"" classpath "\"\n"
"else\n"
" cp=\"" classpath ":$CLASSPATH\"\n"
"fi\n"
"exec " (which "java")
- " -cp $cp org.armedbear.lisp.Main $@\n")))))
+ " -cp \"$cp\" org.armedbear.lisp.Main \"$@\"\n")))))
(chmod (string-append bin "abcl") #o755)
#t))))))
(home-page "https://abcl.org/")