gnu: Add openjdk@21.

* gnu/packages/java.scm (openjdk21): New variable.
* gnu/packages/patches/openjdk-21-fix-rpath.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
Danny Milosavljevic 2023-09-21 14:14:45 +02:00
parent fc1b85740a
commit ec8c5d027f
No known key found for this signature in database
GPG key ID: E71A35542C30BAA5
3 changed files with 34 additions and 0 deletions

View file

@ -1696,6 +1696,7 @@ dist_patch_DATA = \
%D%/packages/patches/openjdk-10-pointer-comparison.patch \
%D%/packages/patches/openjdk-10-setsignalhandler.patch \
%D%/packages/patches/openjdk-15-xcursor-no-dynamic.patch \
%D%/packages/patches/openjdk-21-fix-rpath.patch \
%D%/packages/patches/openmpi-mtl-priorities.patch \
%D%/packages/patches/openmw-assume-nonconst-SIGSTKSZ.patch \
%D%/packages/patches/openssh-trust-guix-store-directory.patch \

View file

@ -1550,6 +1550,23 @@ (define-public openjdk20
(make-openjdk openjdk19 "20"
"0pk5lpwijfv9qv7vwpsq2xfklbnqdfs6xbdhc5aamrpar4xi4ykx"))
(define-public openjdk21
(make-openjdk openjdk20 "21"
"06wjfwrkqykjdkis2s1nh91cy8vwincnmc699cxvyk3fc12jf3vw"
(source (origin
(inherit (package-source base))
(patches (search-patches "openjdk-21-fix-rpath.patch"
"openjdk-15-xcursor-no-dynamic.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases)
#~(modify-phases #$phases
(replace 'fix-java-shebangs
(lambda _
;; 'blacklisted' was renamed back to 'blocked'.
(substitute* "src/java.base/share/data/blockedcertsconverter/blocked.certs.pem"
(("^#!.*") "#! java BlockedCertsConverter SHA-256\n"))))))))))
;;; Convenience alias to point to the latest version of OpenJDK.
(define-public openjdk openjdk19)

View file

@ -0,0 +1,16 @@
Author: Danny Milosavljevic <dannym@scratchpost.org>
Date: 2023-09-20
diff -ru openjdk-21/make/modules/jdk.internal.le/Lib.gmk.orig openjdk-21.drv-4/source/make/modules/jdk.internal.le/Lib.gmk
--- openjdk-21/make/modules/jdk.internal.le/Lib.gmk.orig 1970-01-01 01:00:01.000000000 +0100
+++ openjdk-21/make/modules/jdk.internal.le/Lib.gmk 2023-09-20 21:42:04.626821839 +0200
@@ -34,7 +34,8 @@
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
OPTIMIZATION := LOW, \
CFLAGS := $(CXXFLAGS_JDKLIB), \
- LDFLAGS := $(LDFLAGS_JDKLIB), \
+ LDFLAGS := $(LDFLAGS_JDKLIB) \
+ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := $(JDKLIB_LIBS) $(LIBCXX), \
LIBS_windows := $(JDKLIB_LIBS) user32.lib, \
))