From 5d9d3e96163798fe9b8146f134e47311b4e0ac77 Mon Sep 17 00:00:00 2001 From: Arne Babenhauserheide Date: Mon, 8 Nov 2021 21:21:41 +0100 Subject: [PATCH] gnu: openjdk17: add Java 17.0.1. * gnu/packages/java.scm (openjdk17): 17.0.1 Thanks to Julien Lepiller for feedback! --- gnu/packages/java.scm | 48 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index da72dbb38c..b62d730fc4 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2566,6 +2566,42 @@ (define-public openjdk16 ("zip" ,zip))) (arguments (substitute-keyword-arguments (package-arguments openjdk15) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'make-templates-writable + (lambda _ + ;; The build system copies a few .template files from the + ;; source directory into the build directory and then modifies + ;; them in-place. So these files have to be writable. + (for-each make-file-writable + (find-files "src/java.base/share/classes/jdk/internal/misc/" + "\\.template$")) + #t)))))) + (home-page "https://openjdk.java.net/projects/jdk/16"))) + +(define-public openjdk17 + (package + (inherit openjdk16) + (name "openjdk") + (version "17.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openjdk/jdk17u") + (commit (string-append "jdk-" version "-ga")))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1l1jgbz8q7zq66npfg88r0l5xga427vrz35iys09j44b6qllrldd")))) + (native-inputs + `(("autoconf" ,autoconf) + ("openjdk16:jdk" ,openjdk16 "jdk") + ("pkg-config" ,pkg-config) + ("unzip" ,unzip) + ("which" ,which) + ("zip" ,zip))) + (arguments + (substitute-keyword-arguments (package-arguments openjdk16) ((#:phases phases) `(modify-phases ,phases (add-after 'unpack 'make-templates-writable @@ -2578,8 +2614,16 @@ (define-public openjdk16 (invoke "chmod" "u+w" file)) (find-files "src/java.base/share/classes/jdk/internal/misc/" "\\.template$")) - #t)))))) - (home-page "https://openjdk.java.net/projects/jdk/16"))) + #t)) + (replace 'fix-java-shebangs + (lambda _ + ;; This file was "fixed" by patch-source-shebangs, but it requires + ;; this exact first line. + (substitute* "make/data/blockedcertsconverter/blocked.certs.pem" + (("^#!.*") "#! java BlockedCertsConverter SHA-256\n")) + #t)) + )))) + (home-page "https://openjdk.java.net/projects/jdk/17"))) (define-public icedtea icedtea-8) -- 2.33.1