From 72fe3c0a35f04a6616c17228953a20861ce9b690 Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Sun, 18 Sep 2022 20:14:28 +0300 Subject: gnu: Add java-argparse4j. * gnu/packages/java.scm (java-argparse4j): New variable. Signed-off-by: Julien Lepiller --- gnu/packages/java.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index c25a330c2a0..e4814d1acb0 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -13965,6 +13965,41 @@ library and the API is similar.") parse command line options/arguments in your CUI application.") (license license:expat))) +(define-public java-argparse4j + (package + (name "java-argparse4j") + (version "0.9.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/argparse4j/argparse4j") + (commit (string-append "argparse4j-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1i0j3zs1ln48n0g8a90vqbv6528mcswhzys6252yp0c8w1ai64fb")))) + (build-system ant-build-system) + (arguments + (list #:jar-name "java-argparse4j.jar" + #:source-dir "main/src/main/" + #:test-dir "main/src/test/" + #:jdk openjdk11 + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'copy-resources + (lambda _ + (copy-recursively "main/src/test/resources" + "target/test-classes") + (copy-recursively "main/src/main/resources" + "build/classes"))) + (replace 'install + (install-from-pom "pom.xml"))))) + (inputs (list java-junit)) + (home-page "https://argparse4j.github.io/") + (synopsis "Java command-line argument parser library") + (description "Argparse4j is a command line argument parser library for +Java based on Python's @code{argparse} module.") + (license license:expat))) + (define-public java-metadata-extractor (package (name "java-metadata-extractor") -- cgit v1.3 From e33ab2dd9edbe1845473cc7ebdea8bf436d3e237 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 26 Sep 2022 16:37:45 -0400 Subject: gnu: opendjk11: Remove trailing #t and use gexps. * gnu/packages/java.scm (openjdk11): Properly punctuate comments. [source]: Remove trailing #t in snippet. [configure-flags]: Use gexps and this-package-input. [phases]: Delete trailing #t and use gexps to refer to outputs. --- gnu/packages/java.scm | 420 ++++++++++++++++++++++++-------------------------- 1 file changed, 205 insertions(+), 215 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e4814d1acb0..5ea3db8eaaf 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1781,234 +1781,224 @@ new Date();")) "0di91nnms2iq1svgq72r5y17am17r4vh2lq43k0bkcwpc84d6nd8")) (modules '((guix build utils))) (snippet - `(begin - (for-each delete-file (find-files "." ".*.(bin|exe|jar)$")) - #t)))) + '(for-each delete-file (find-files "." ".*.(bin|exe|jar)$"))))) (build-system gnu-build-system) (outputs '("out" "jdk" "doc")) (arguments - `(#:imported-modules ((guix build syscalls) + (list + #:imported-modules `((guix build syscalls) ,@%gnu-build-system-modules) - #:disallowed-references ,(list (gexp-input openjdk10) - (gexp-input openjdk10 "jdk")) - - #:tests? #f; requires jtreg - ;; TODO package jtreg - #:configure-flags - `(;; Add flags for compilation with gcc >= 10 - ,(string-append "--with-extra-cflags=-fcommon" - " -fno-delete-null-pointer-checks" - " -fno-lifetime-dse") - "--disable-option-checking" ; --enable-fast-install default flag errors otherwise + #:disallowed-references (list (gexp-input openjdk10) + (gexp-input openjdk10 "jdk")) + + #:tests? #f ; requires jtreg + ;; TODO package jtreg + #:configure-flags + #~(list + ;; Add flags for compilation with gcc >= 10. + #$(string-append "--with-extra-cflags=-fcommon" + " -fno-delete-null-pointer-checks" + " -fno-lifetime-dse") + ;; Otherwise, the '--enable-fast-install' causes an error. + "--disable-option-checking" "--disable-warnings-as-errors" - ;; make validate-runpath pass, see: http://issues.guix.info/issue/32894 + ;; Make validate-runpath pass (see: + ;; http://issues.guix.info/issue/32894). "--with-native-debug-symbols=zipped" - ;; do not use the bundled libraries + ;; Do not use the bundled libraries. "--with-giflib=system" "--with-lcms=system" "--with-libjpeg=system" "--with-libpng=system" "--with-version-pre=" - ;; allow the build system to locate the system freetype - ,(string-append "--with-freetype-include=" - (assoc-ref %build-inputs "freetype") "/include") - ,(string-append "--with-freetype-lib=" - (assoc-ref %build-inputs "freetype") "/lib")) - #:phases - (modify-phases %standard-phases - (add-after 'patch-source-shebangs '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)) - (add-after 'unpack 'patch-jni-libs - ;; Hardcode dynamically loaded libraries. - (lambda _ - (define remove - (@ (srfi srfi-1) remove)) - - (define (icedtea-or-openjdk? path) - (or (string-contains path "openjdk") - (string-contains path "icedtea"))) - - (let* ((library-path (remove icedtea-or-openjdk? - (search-path-as-string->list - (getenv "LIBRARY_PATH")))) - (find-library (lambda (name) - (or (search-path - library-path - (string-append "lib" name ".so")) - (string-append "lib" name ".so"))))) - (for-each - (lambda (file) - (catch 'decoding-error - (lambda () - (substitute* file - (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)" - _ name version) - (string-append "\"" (find-library name) "\"")) - (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name) - (string-append "\"" (find-library name) "\"")))) - (lambda _ - ;; Those are safe to skip. - (format (current-error-port) - "warning: failed to substitute: ~a~%" - file)))) - (find-files "." - "\\.c$|\\.h$")) - #t))) - (add-before 'build 'write-source-revision-file - (lambda _ - (with-output-to-file ".src-rev" - (lambda _ - (display ,version))) - #t)) - (replace 'build - (lambda* (#:key parallel-build? make-flags #:allow-other-keys) - (apply invoke "make" "all" - `(,@(if parallel-build? - (list (string-append "JOBS=" - (number->string (parallel-job-count)))) - '()) - ,@make-flags)))) - ;; jdk 11 does not build jre by default any more - ;; building it anyways - ;; for further information see: - ;; https://github.com/AdoptOpenJDK/openjdk-build/issues/356 - (add-after 'build 'build-jre - (lambda* (#:key parallel-build? make-flags #:allow-other-keys) - (apply invoke "make" "legacy-jre-image" - `(,@(if parallel-build? - (list (string-append "JOBS=" - (number->string (parallel-job-count)))) - '()) - ,@make-flags)))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (jdk (assoc-ref outputs "jdk")) - (doc (assoc-ref outputs "doc")) - (images (car (find-files "build" ".*-server-release" - #: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)) - ;; Some of the libraries in the lib/ folder link to libjvm.so. - ;; But that shared object is located in the server/ folder, so it - ;; cannot be found. This phase creates a symbolic link in the - ;; lib/ folder so that the other libraries can find it. - ;; - ;; See: - ;; https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00169.html - ;; - ;; FIXME: Find the bug in the build system, so that this symlink is - ;; not needed. - (add-after 'install 'install-libjvm - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((lib-out (string-append (assoc-ref outputs "out") - "/lib")) - (lib-jdk (string-append (assoc-ref outputs "jdk") - "/lib"))) - (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)) - (add-after 'install 'strip-character-data-timestamps - (lambda* (#:key outputs #:allow-other-keys) - (use-modules (guix build syscalls)) - (let ((archive (string-append - (assoc-ref outputs "jdk") "/lib/src.zip")) - (dir (mkdtemp! "zip-contents.XXXXXX"))) - (with-directory-excursion dir - (invoke "unzip" archive)) - (delete-file archive) - (with-directory-excursion dir - (let ((char-data-files (find-files "." "CharacterData.*"))) - (for-each (lambda (file) - (substitute* file - (((string-append "This file was generated " + ;; Allow the build system to locate the system freetype. + (string-append "--with-freetype-include=" + #$(this-package-input "freetype") "/include") + (string-append "--with-freetype-lib=" + #$(this-package-input "freetype") "/lib")) + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-source-shebangs '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")))) + (add-after 'unpack 'patch-jni-libs + ;; Hardcode dynamically loaded libraries. + (lambda _ + (define remove + (@ (srfi srfi-1) remove)) + + (define (icedtea-or-openjdk? path) + (or (string-contains path "openjdk") + (string-contains path "icedtea"))) + + (let* ((library-path (remove icedtea-or-openjdk? + (search-path-as-string->list + (getenv "LIBRARY_PATH")))) + (find-library (lambda (name) + (or (search-path + library-path + (string-append "lib" name ".so")) + (string-append "lib" name ".so"))))) + (for-each + (lambda (file) + (catch 'decoding-error + (lambda () + (substitute* file + (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)" + _ name version) + (string-append "\"" (find-library name) "\"")) + (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name) + (string-append "\"" (find-library name) "\"")))) + (lambda _ + ;; Those are safe to skip. + (format (current-error-port) + "warning: failed to substitute: ~a~%" + file)))) + (find-files "." + "\\.c$|\\.h$"))))) + (add-before 'build 'write-source-revision-file + (lambda _ + (with-output-to-file ".src-rev" + (lambda _ + (display #$version))))) + (replace 'build + (lambda* (#:key parallel-build? make-flags #:allow-other-keys) + (apply invoke "make" "all" + `(,@(if parallel-build? + (list (string-append "JOBS=" + (number->string (parallel-job-count)))) + '()) + ,@make-flags)))) + ;; jdk 11 does not build jre by default any more; so explicitly build + ;; it (see: + ;; https://github.com/AdoptOpenJDK/openjdk-build/issues/356). + (add-after 'build 'build-jre + (lambda* (#:key parallel-build? make-flags #:allow-other-keys) + (apply invoke "make" "legacy-jre-image" + `(,@(if parallel-build? + (list (string-append "JOBS=" + (number->string (parallel-job-count)))) + '()) + ,@make-flags)))) + (replace 'install + (lambda _ + (let ((images (car (find-files "build" ".*-server-release" + #:directories? #t)))) + (copy-recursively (string-append images "/images/jdk") + #$output:jdk) + (copy-recursively (string-append images "/images/jre") + #$output) + (copy-recursively (string-append images "/images/docs") + #$output:doc)))) + ;; Some of the libraries in the lib/ folder link to libjvm.so. + ;; But that shared object is located in the server/ folder, so it + ;; cannot be found. This phase creates a symbolic link in the + ;; lib/ folder so that the other libraries can find it. + ;; + ;; See: + ;; https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00169.html + ;; + ;; FIXME: Find the bug in the build system, so that this symlink is + ;; not needed. + (add-after 'install 'install-libjvm + (lambda _ + (let ((lib-out (string-append #$output "/lib")) + (lib-jdk (string-append #$output:jdk "/lib"))) + (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"))))) + (add-after 'install 'strip-character-data-timestamps + (lambda _ + (use-modules (guix build syscalls)) + (let ((archive (string-append #$output:jdk "/lib/src.zip")) + (dir (mkdtemp! "zip-contents.XXXXXX"))) + (with-directory-excursion dir + (invoke "unzip" archive)) + (delete-file archive) + (with-directory-excursion dir + (let ((char-data-files (find-files "." "CharacterData.*"))) + (for-each (lambda (file) + (substitute* file + (((string-append "This file was generated " + "AUTOMATICALLY from a template " + "file.*")) + (string-append "This file was generated " "AUTOMATICALLY from a template " - "file.*")) - (string-append "This file was generated " - "AUTOMATICALLY from a template " - "file")))) - char-data-files))) - (with-directory-excursion dir - (let ((files (find-files "." ".*" #:directories? #t))) - (apply invoke "zip" "-0" "-X" archive files)))))) - (add-after 'strip-character-data-timestamps 'strip-archive-timestamps - (lambda* (#:key outputs #:allow-other-keys) - (use-modules (guix build syscalls) - (ice-9 binary-ports) - (rnrs bytevectors)) - (letrec ((repack-archive - (lambda (archive) - (let ((dir (mkdtemp! "zip-contents.XXXXXX"))) - (with-directory-excursion dir - (invoke "unzip" archive)) - (delete-file archive) - (for-each (compose repack-archive canonicalize-path) - (find-files dir "(ct.sym|.*.jar)$")) - (let ((reset-file-timestamp - (lambda (file) - (let ((s (lstat file))) - (unless (eq? (stat:type s) 'symlink) - (format #t "reset ~a~%" file) - (utime file 0 0 0 0)))))) - (for-each reset-file-timestamp - (find-files dir #:directories? #t))) - (with-directory-excursion dir - (let ((files (find-files "." ".*" #:directories? #t))) - (apply invoke "zip" "-0" "-X" archive files))))))) - (for-each repack-archive - (find-files (assoc-ref outputs "doc") ".*.zip$")) - (for-each repack-archive - (find-files (assoc-ref outputs "jdk") - ".*.(zip|jar|diz)$")) - (repack-archive (string-append (assoc-ref outputs "jdk") "/lib/ct.sym")) - (let ((repack-jmod - (lambda (file-name) - (call-with-input-file file-name - (lambda (file) - (let ((header #vu8(#x4a #x4d #x01 #x00))) - (if (equal? (get-bytevector-n - file (bytevector-length header)) - header) - (let* ((header-length (bytevector-length header)) - (temp-file (mkstemp! - (string-copy - "temp-file.XXXXXX"))) - (temp-filename (port-filename temp-file)) - (content-length - (- (stat:size (stat file)) - header-length))) - (sendfile temp-file file content-length header-length) - (delete-file file-name) - (close-port temp-file) - (repack-archive (canonicalize-path temp-filename)) - (call-with-output-file file-name - (lambda (file) - (put-bytevector file header) - (call-with-input-file temp-filename - (lambda (temp-file) - (sendfile - file temp-file - (stat:size (stat temp-file)) 0))))))))))))) - (for-each repack-jmod - (find-files (assoc-ref outputs "jdk") ".*.jmod$"))) - #t))) - (add-after 'install 'remove-timestamp-from-api-summary - (lambda* (#:key outputs #:allow-other-keys) - (substitute* (string-append (assoc-ref outputs "doc") - "/api/overview-summary.html") - (("Generated by javadoc \\(11-internal\\).*$") - "Generated by javadoc (11-internal) -->\n")) - #t))))) + "file")))) + char-data-files))) + (with-directory-excursion dir + (let ((files (find-files "." ".*" #:directories? #t))) + (apply invoke "zip" "-0" "-X" archive files)))))) + (add-after 'strip-character-data-timestamps 'strip-archive-timestamps + (lambda _ + (use-modules (guix build syscalls) + (ice-9 binary-ports) + (rnrs bytevectors)) + (letrec ((repack-archive + (lambda (archive) + (let ((dir (mkdtemp! "zip-contents.XXXXXX"))) + (with-directory-excursion dir + (invoke "unzip" archive)) + (delete-file archive) + (for-each (compose repack-archive canonicalize-path) + (find-files dir "(ct.sym|.*.jar)$")) + (let ((reset-file-timestamp + (lambda (file) + (let ((s (lstat file))) + (unless (eq? (stat:type s) 'symlink) + (format #t "reset ~a~%" file) + (utime file 0 0 0 0)))))) + (for-each reset-file-timestamp + (find-files dir #:directories? #t))) + (with-directory-excursion dir + (let ((files (find-files "." ".*" #:directories? #t))) + (apply invoke "zip" "-0" "-X" archive files))))))) + (for-each repack-archive + (find-files #$output:doc ".*.zip$")) + (for-each repack-archive + (find-files #$output:jdk ".*.(zip|jar|diz)$")) + (repack-archive (string-append #$output:jdk "/lib/ct.sym")) + (let ((repack-jmod + (lambda (file-name) + (call-with-input-file file-name + (lambda (file) + (let ((header #vu8(#x4a #x4d #x01 #x00))) + (if (equal? (get-bytevector-n + file (bytevector-length header)) + header) + (let* ((header-length (bytevector-length header)) + (temp-file (mkstemp! + (string-copy + "temp-file.XXXXXX"))) + (temp-filename (port-filename temp-file)) + (content-length + (- (stat:size (stat file)) + header-length))) + (sendfile temp-file file content-length header-length) + (delete-file file-name) + (close-port temp-file) + (repack-archive (canonicalize-path temp-filename)) + (call-with-output-file file-name + (lambda (file) + (put-bytevector file header) + (call-with-input-file temp-filename + (lambda (temp-file) + (sendfile + file temp-file + (stat:size (stat temp-file)) 0))))))))))))) + (for-each repack-jmod + (find-files #$output:jdk ".*.jmod$")))))) + (add-after 'install 'remove-timestamp-from-api-summary + (lambda _ + (substitute* (string-append #$output:doc + "/api/overview-summary.html") + (("Generated by javadoc \\(11-internal\\).*$") + "Generated by javadoc (11-internal) -->\n"))))))) (inputs `(("alsa-lib" ,alsa-lib) ("cups" ,cups) -- cgit v1.3 From 7ac7a6d10381aed4846c90c5a67b09f13106c8e9 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 26 Sep 2022 16:41:19 -0400 Subject: gnu: opendjk11: Remove input labels. * gnu/packages/java.scm (openjdk11)[inputs, native-inputs]: Remove labels. --- gnu/packages/java.scm | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 5ea3db8eaaf..79b73a19e33 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2000,29 +2000,29 @@ new Date();")) (("Generated by javadoc \\(11-internal\\).*$") "Generated by javadoc (11-internal) -->\n"))))))) (inputs - `(("alsa-lib" ,alsa-lib) - ("cups" ,cups) - ("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("giflib" ,giflib) - ("lcms" ,lcms) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libx11" ,libx11) - ("libxext" ,libxext) - ("libxrandr" ,libxrandr) - ("libxrender" ,libxrender) - ("libxt" ,libxt) - ("libxtst" ,libxtst))) - (native-inputs - `(("autoconf" ,autoconf) - ("openjdk10" ,openjdk10) - ("openjdk10:jdk" ,openjdk10 "jdk") - ("make" ,gnu-make-4.2) - ("pkg-config" ,pkg-config) - ("unzip" ,unzip) - ("which" ,which) - ("zip" ,zip))) + (list alsa-lib + cups + fontconfig + freetype + giflib + lcms + libjpeg-turbo + libpng + libx11 + libxext + libxrandr + libxrender + libxt + libxtst)) + (native-inputs + (list autoconf + openjdk10 + `(,openjdk10 "jdk") + gnu-make-4.2 + pkg-config + unzip + which + zip)) (home-page "https://openjdk.java.net/projects/jdk/11/") (synopsis "Java development kit") (description -- cgit v1.3 From 6193d9871767694541a5f86e6a8fbcc520812186 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 26 Sep 2022 20:01:30 -0400 Subject: gnu: opendjk11: Improve regular expressions. * gnu/packages/java.scm (openjdk11) [phases]{strip-archive-timestamps}: Replace '.*.' with '\\.' in regexps. --- gnu/packages/java.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 79b73a19e33..424ccc58620 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1946,7 +1946,7 @@ new Date();")) (invoke "unzip" archive)) (delete-file archive) (for-each (compose repack-archive canonicalize-path) - (find-files dir "(ct.sym|.*.jar)$")) + (find-files dir "(ct.sym|\\.jar)$")) (let ((reset-file-timestamp (lambda (file) (let ((s (lstat file))) @@ -1959,9 +1959,9 @@ new Date();")) (let ((files (find-files "." ".*" #:directories? #t))) (apply invoke "zip" "-0" "-X" archive files))))))) (for-each repack-archive - (find-files #$output:doc ".*.zip$")) + (find-files #$output:doc "\\.zip$")) (for-each repack-archive - (find-files #$output:jdk ".*.(zip|jar|diz)$")) + (find-files #$output:jdk "\\.(zip|jar|diz)$")) (repack-archive (string-append #$output:jdk "/lib/ct.sym")) (let ((repack-jmod (lambda (file-name) @@ -1992,7 +1992,7 @@ new Date();")) file temp-file (stat:size (stat temp-file)) 0))))))))))))) (for-each repack-jmod - (find-files #$output:jdk ".*.jmod$")))))) + (find-files #$output:jdk "\\.jmod$")))))) (add-after 'install 'remove-timestamp-from-api-summary (lambda _ (substitute* (string-append #$output:doc -- cgit v1.3 From 6bf7467b077d419443d275581d6935852d1af434 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 26 Sep 2022 16:56:35 -0400 Subject: gnu: opendjk11: Reduce size by removing extraneous files. By removing the *.diz and src.zip files, the size of the main output of OpenJDK 11 is reduced from 345 MiB to 116 MiB for OpenJDK 11, while the 'jdk' output is reduced from 805 MiB to 353 MiB. * gnu/packages/java.scm (openjdk11)[modules]: New field. [phases]{remove-diz-files}: New phase. {strip-character-data-timestamps}: Order after remove-diz-files. --- gnu/packages/java.scm | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 424ccc58620..d603cc8b36f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1788,7 +1788,11 @@ new Date();")) (list #:imported-modules `((guix build syscalls) ,@%gnu-build-system-modules) - + #:modules `((guix build gnu-build-system) + (guix build utils) + (ice-9 match) + (srfi srfi-1) + (srfi srfi-26)) #:disallowed-references (list (gexp-input openjdk10) (gexp-input openjdk10 "jdk")) @@ -1934,7 +1938,19 @@ new Date();")) (with-directory-excursion dir (let ((files (find-files "." ".*" #:directories? #t))) (apply invoke "zip" "-0" "-X" archive files)))))) - (add-after 'strip-character-data-timestamps 'strip-archive-timestamps + (add-after 'strip-character-data-timestamps 'remove-extraneous-files + (lambda* (#:key outputs #:allow-other-keys) + ;; Remove the *.diz and src.zip files for space considerations. + ;; The former are compressed debuginfo files not typically + ;; shipped with Java distributions, while the later corresponds + ;; to Java core API source files. + (for-each delete-file + (append-map (cut find-files <> "(^src\\.zip|\\.diz)$") + (map (match-lambda + ((name . dir) + dir)) + outputs))))) + (add-after 'remove-diz-file 'strip-archive-timestamps (lambda _ (use-modules (guix build syscalls) (ice-9 binary-ports) @@ -1961,7 +1977,7 @@ new Date();")) (for-each repack-archive (find-files #$output:doc "\\.zip$")) (for-each repack-archive - (find-files #$output:jdk "\\.(zip|jar|diz)$")) + (find-files #$output:jdk "\\.(zip|jar)$")) (repack-archive (string-append #$output:jdk "/lib/ct.sym")) (let ((repack-jmod (lambda (file-name) -- cgit v1.3 From f0280f6245698ff90ce7f33d3270af5ab0be00e6 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 26 Sep 2022 21:29:48 -0400 Subject: gnu: openjdk12: Introduce 'make-openjdk' syntax and use it. * gnu/packages/java.scm (make-openjdk): New syntax. (openjdk12): Use it to define package. [source]: Remove trailing #t from snippet field and improve regexp. [phases]: Use gexps. --- gnu/packages/java.scm | 112 ++++++++++++++++++++++++++++---------------------- 1 file changed, 63 insertions(+), 49 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d603cc8b36f..33db6389a16 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2045,58 +2045,72 @@ new Date();")) "This package provides the Java development kit OpenJDK.") (license license:gpl2+))) +(define-syntax make-openjdk + ;; Return an OpenJDK package at VERSION with checksum HASH, using BOOTSTRAP, + ;; the bootstrap package. One or more FIELD can be provided to further + ;; refine the package definition; for convenience, the BASE, NAME and + ;; VERSION are defined in their scope. + (lambda (x) + (syntax-case x () + ((_ bootstrap version* hash field ...) + (with-syntax ((base (datum->syntax x 'base)) + (name (datum->syntax x 'name)) + (version (datum->syntax x 'version))) + #'(let ((base (package + (inherit bootstrap) + (name "openjdk") + (version version*) + (source + (origin + (inherit (package-source bootstrap)) + (method git-fetch) + (uri (git-reference + (url (format + #f "https://github.com/openjdk/jdk~au" + (version-major version*))) + (commit (string-append "jdk-" version* + "-ga")))) + (file-name (git-file-name name version)) + (sha256 (base32 hash)))) + (native-inputs + (modify-inputs (package-native-inputs bootstrap) + (replace "openjdk" bootstrap))) + (home-page (string-append + "https://openjdk.java.net/projects/jdk/" + (version-major version))))) + (name "openjdk") + (version version*)) + (package + (inherit base) + field + ...))))))) + (define-public openjdk12 - (package - (inherit openjdk11) - (name "openjdk") - (version "12.33") - (source (origin - (method url-fetch) - (uri "http://hg.openjdk.java.net/jdk/jdk/archive/0276cba45aac.tar.bz2") - (file-name (string-append name "-" version ".tar.bz2")) - (sha256 - (base32 - "0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2")) - (modules '((guix build utils))) - (snippet - `(begin - (for-each delete-file (find-files "." ".*.(bin|exe|jar)$")) - #t)))) - (arguments - (substitute-keyword-arguments (package-arguments openjdk11) - ((#:phases phases) - `(modify-phases ,phases + (make-openjdk + openjdk11 "12.33" "0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2" + (source + (origin + (method url-fetch) + (uri "http://hg.openjdk.java.net/jdk/jdk/archive/0276cba45aac.tar.bz2") + (file-name (string-append name "-" version ".tar.bz2")) + (sha256 + (base32 + "0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2")) + (modules '((guix build utils))) + (snippet + '(for-each delete-file (find-files "." "\\.(bin|exe|jar)$"))))) + (arguments + (substitute-keyword-arguments (package-arguments openjdk11) + ((#:phases phases) + #~(modify-phases #$phases (replace 'fix-java-shebangs (lambda _ - ;; 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")))))))) - (inputs - `(("alsa-lib" ,alsa-lib) - ("cups" ,cups) - ("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("giflib" ,giflib) - ("lcms" ,lcms) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libx11" ,libx11) - ("libxext" ,libxext) - ("libxrandr" ,libxrandr) - ("libxrender" ,libxrender) - ("libxt" ,libxt) - ("libxtst" ,libxtst))) - (native-inputs - `(("autoconf" ,autoconf) - ("openjdk11" ,openjdk11) - ("openjdk11:jdk" ,openjdk11 "jdk") - ("make@4.2" ,gnu-make-4.2) - ("pkg-config" ,pkg-config) - ("unzip" ,unzip) - ("which" ,which) - ("zip" ,zip))) - (home-page "https://openjdk.java.net/projects/jdk/12"))) + ;; 'blocked' was renamed to 'blacklisted' in this version for + ;; some reason. + (substitute* "make/data/blacklistedcertsconverter/\ +blacklisted.certs.pem" + (("^#!.*") + "#! java BlacklistedCertsConverter SHA-256\n")))))))))) (define-public openjdk13 (package -- cgit v1.3 From 26dd4ce571636e2e59c756d780cb2cfa7ed20d6d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 26 Sep 2022 21:46:19 -0400 Subject: gnu: openjdk13: Define with make-openjdk. * gnu/packages/java.scm (openjdk13): Define with make-openjdk. --- gnu/packages/java.scm | 42 +----------------------------------------- 1 file changed, 1 insertion(+), 41 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 33db6389a16..f32ff472546 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2113,48 +2113,8 @@ blacklisted.certs.pem" "#! java BlacklistedCertsConverter SHA-256\n")))))))))) (define-public openjdk13 - (package - (inherit openjdk12) - (name "openjdk") - (version "13.0.7") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/openjdk/jdk13u") - (commit (string-append "jdk-" version "-ga")))) - (file-name (git-file-name name version)) - (sha256 - (base32 + (make-openjdk openjdk12 "13.0.7" "0wrrr0d7lz1v8qqm752mn4gz5l2vpl2kmx4ac3ysvk4mljc924hp")) - (modules '((guix build utils))) - (snippet - `(begin - (for-each delete-file (find-files "." ".*.(bin|exe|jar)$")) - #t)))) - (inputs - `(("alsa-lib" ,alsa-lib) - ("cups" ,cups) - ("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("giflib" ,giflib) - ("lcms" ,lcms) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libx11" ,libx11) - ("libxext" ,libxext) - ("libxrandr" ,libxrandr) - ("libxrender" ,libxrender) - ("libxt" ,libxt) - ("libxtst" ,libxtst))) - (native-inputs - `(("autoconf" ,autoconf) - ("openjdk12:jdk" ,openjdk12 "jdk") - ("make@4.2" ,gnu-make-4.2) - ("pkg-config" ,pkg-config) - ("unzip" ,unzip) - ("which" ,which) - ("zip" ,zip))) - (home-page "https://openjdk.java.net/projects/jdk/13"))) (define-public openjdk14 (package -- cgit v1.3 From 068dfa33dede9caf35fbb339fe7290e0d8b4c619 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 26 Sep 2022 21:51:43 -0400 Subject: gnu: openjdk14: Define with make-openjdk. * gnu/packages/java.scm (openjdk14): Define with make-openjdk. [source]: Remove trailing #t from snippet field and improve regexp. --- gnu/packages/java.scm | 58 +++++++++++---------------------------------------- 1 file changed, 12 insertions(+), 46 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f32ff472546..6fc5500ba2b 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2117,52 +2117,18 @@ blacklisted.certs.pem" "0wrrr0d7lz1v8qqm752mn4gz5l2vpl2kmx4ac3ysvk4mljc924hp")) (define-public openjdk14 - (package - (inherit openjdk13) - (name "openjdk") - (version "14.0.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/openjdk/jdk14u") - (commit (string-append "jdk-" version "-ga")))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "07k9bsbxwyf2z2n50z96nvhsdai916mxdxcr5lm44jz7f6xrwfq6")) - (modules '((guix build utils))) - (snippet - `(begin - ;; The m4 macro uses 'help' to search for builtins, which is - ;; not available in bash-minimal - (substitute* "make/autoconf/basics.m4" - (("if help") "if command -v")) - (for-each delete-file (find-files "." ".*.(bin|exe|jar)$")) - #t)))) - (inputs - `(("alsa-lib" ,alsa-lib) - ("cups" ,cups) - ("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("giflib" ,giflib) - ("lcms" ,lcms) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libx11" ,libx11) - ("libxext" ,libxext) - ("libxrandr" ,libxrandr) - ("libxrender" ,libxrender) - ("libxt" ,libxt) - ("libxtst" ,libxtst))) - (native-inputs - `(("autoconf" ,autoconf) - ("make@4.2" ,gnu-make-4.2) - ("openjdk13:jdk" ,openjdk13 "jdk") - ("pkg-config" ,pkg-config) - ("unzip" ,unzip) - ("which" ,which) - ("zip" ,zip))) - (home-page "https://openjdk.java.net/projects/jdk/14"))) + (make-openjdk + openjdk13 "14.0.2" + "07k9bsbxwyf2z2n50z96nvhsdai916mxdxcr5lm44jz7f6xrwfq6" + (source (origin + (inherit (package-source base)) + (snippet ;override snippet + '(begin + ;; The m4 macro uses 'help' to search for builtins, which is + ;; not available in bash-minimal + (substitute* "make/autoconf/basics.m4" + (("if help") "if command -v")) + (for-each delete-file (find-files "." "\\.(bin|exe|jar)$")))))))) (define-public openjdk15 (package -- cgit v1.3 From 216a7d8197f280eccd76aac3734686278334a6a6 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 26 Sep 2022 21:53:08 -0400 Subject: gnu: openjdk15: Define with make-openjdk. * gnu/packages/java.scm (openjdk15): Define with make-openjdk. [source]: Clear snippet and modules fields. [native-inputs]: Rewrite using modify-inputs. --- gnu/packages/java.scm | 43 +++++++++++++++++-------------------------- 1 file changed, 17 insertions(+), 26 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 6fc5500ba2b..951663ff5c6 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2131,32 +2131,23 @@ blacklisted.certs.pem" (for-each delete-file (find-files "." "\\.(bin|exe|jar)$")))))))) (define-public openjdk15 - (package - (inherit openjdk14) - (name "openjdk") - (version "15.0.3") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/openjdk/jdk15u") - (commit (string-append "jdk-" version "-ga")))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "168cr08nywp0q3vyj8njkhsmmnyd8rz9r58hk4xhzdzc6bdfkl1i")) - (patches - (search-patches "openjdk-15-xcursor-no-dynamic.patch")))) - (inputs - (cons `("libxcursor" ,libxcursor) ; for our patch to work - (package-inputs openjdk14))) - (native-inputs - `(("autoconf" ,autoconf) - ("openjdk14:jdk" ,openjdk14 "jdk") - ("pkg-config" ,pkg-config) - ("unzip" ,unzip) - ("which" ,which) - ("zip" ,zip))) - (home-page "https://openjdk.java.net/projects/jdk/15"))) + (make-openjdk + openjdk14 "15.0.3" + "168cr08nywp0q3vyj8njkhsmmnyd8rz9r58hk4xhzdzc6bdfkl1i" + (source (origin + (inherit (package-source base)) + (modules '()) + (snippet #f) + (patches + (search-patches "openjdk-15-xcursor-no-dynamic.patch")))) + (inputs + (modify-inputs (package-inputs base) + (append libxcursor))) ;for our patch to work + (native-inputs + (modify-inputs (package-native-inputs base) + (delete "make" ;remove old gnu-make-4.2 + "openjdk") ;to remove non-jdk output + (append `(,openjdk14 "jdk")))))) (define-public openjdk16 (package -- cgit v1.3 From c5fb7bb7f71343b5eaf760c5e36063bec8c9e996 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 26 Sep 2022 21:55:34 -0400 Subject: gnu: openjdk16: Define with make-openjdk. * gnu/packages/java.scm (openjdk16): Define with make-openjdk. --- gnu/packages/java.scm | 86 +++++++++++++++++++++++++++------------------------ 1 file changed, 45 insertions(+), 41 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 951663ff5c6..44266fe107c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2150,41 +2150,8 @@ blacklisted.certs.pem" (append `(,openjdk14 "jdk")))))) (define-public openjdk16 - (package - (inherit openjdk15) - (name "openjdk") - (version "16.0.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/openjdk/jdk16u") - (commit (string-append "jdk-" version "-ga")))) - (file-name (git-file-name name version)) - (sha256 - (base32 + (make-openjdk openjdk15 "16.0.1" "1ggddsbsar4dj2fycfqqqagqil7prhb30afvq6933rz7pa9apm2f")) - (patches - (search-patches "openjdk-15-xcursor-no-dynamic.patch")))) - (native-inputs - `(("autoconf" ,autoconf) - ("openjdk15:jdk" ,openjdk15 "jdk") - ("pkg-config" ,pkg-config) - ("unzip" ,unzip) - ("which" ,which) - ("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$")))))))) - (home-page "https://openjdk.java.net/projects/jdk/16"))) (define-public openjdk17 (package @@ -2192,6 +2159,7 @@ blacklisted.certs.pem" (name "openjdk") (version "17.0.3") (source (origin + (inherit (package-source openjdk16)) (method git-fetch) (uri (git-reference (url "https://github.com/openjdk/jdk17u") @@ -2212,15 +2180,51 @@ blacklisted.certs.pem" (arguments (substitute-keyword-arguments (package-arguments openjdk16) ((#:phases phases) - `(modify-phases ,phases - (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")))))))) + #~(modify-phases #$phases + (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")))))))) + (native-inputs + (modify-inputs (package-native-inputs openjdk16) + (replace "openjdk" openjdk16))) (home-page "https://openjdk.java.net/projects/jdk/17"))) +;; (define-public openjdk18 +;; (package +;; (inherit openjdk17) +;; (name "openjdk") +;; (version "18") +;; (source (origin +;; (method git-fetch) +;; (uri (git-reference +;; (url "https://github.com/openjdk/jdk18u") +;; (commit (string-append "jdk-" version "-ga")))) +;; (file-name (git-file-name name version)) +;; (sha256 +;; (base32 +;; "1bv6bdhkmwvn10l0xy8yi9xibds640hs5zsvx0jp7wrxa3qw4qy8")))) +;; (native-inputs +;; `(("autoconf" ,autoconf) +;; ("openjdk17:jdk" ,openjdk17 "jdk") +;; ("pkg-config" ,pkg-config) +;; ("unzip" ,unzip) +;; ("which" ,which) +;; ("zip" ,zip))) +;; (arguments +;; (substitute-keyword-arguments (package-arguments openjdk16) +;; ((#:phases phases) +;; `(modify-phases ,phases +;; (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")))))))) +;; (home-page "https://openjdk.java.net/projects/jdk/18"))) + ;;; Convenience alias to point to the latest version of OpenJDK. (define-public openjdk openjdk17) -- cgit v1.3 From b2aa42435bf394b147d7df3471d20c244064997d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 26 Sep 2022 21:57:45 -0400 Subject: gnu: openjdk17: Define with make-openjdk. * gnu/packages/java.scm (openjdk17): Define with make-openjdk. [phases]: Use gexps. --- gnu/packages/java.scm | 49 ++++++++++++------------------------------------- 1 file changed, 12 insertions(+), 37 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 44266fe107c..bc5009ead74 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2154,43 +2154,18 @@ blacklisted.certs.pem" "1ggddsbsar4dj2fycfqqqagqil7prhb30afvq6933rz7pa9apm2f")) (define-public openjdk17 - (package - (inherit openjdk16) - (name "openjdk") - (version "17.0.3") - (source (origin - (inherit (package-source openjdk16)) - (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 - "0slmd6ww947gxpp4yr2wmr5z975bg86qh7zqfp2radf2q77ql65b")) - (patches - (search-patches "openjdk-15-xcursor-no-dynamic.patch")))) - (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 - (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")))))))) - (native-inputs - (modify-inputs (package-native-inputs openjdk16) - (replace "openjdk" openjdk16))) - (home-page "https://openjdk.java.net/projects/jdk/17"))) + (make-openjdk + openjdk16 "17.0.3" + "0slmd6ww947gxpp4yr2wmr5z975bg86qh7zqfp2radf2q77ql65b" + (arguments + (substitute-keyword-arguments (package-arguments openjdk16) + ((#:phases phases) + #~(modify-phases #$phases + (replace 'fix-java-shebangs + (lambda _ + ;; 'blacklisted' was renamed back to 'blocked'. + (substitute* "make/data/blockedcertsconverter/blocked.certs.pem" + (("^#!.*") "#! java BlockedCertsConverter SHA-256\n")))))))))) ;; (define-public openjdk18 ;; (package -- cgit v1.3 From fb6173b7c0aab02efdf15bfc9a00791f77a8b04f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 27 Sep 2022 09:30:28 -0400 Subject: gnu: openjdk: Update to 18. * gnu/packages/java.scm (openjdk): Update to 18. (openjdk18): New variable. --- gnu/packages/java.scm | 37 ++++--------------------------------- 1 file changed, 4 insertions(+), 33 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index bc5009ead74..3ab324cce93 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2167,41 +2167,12 @@ blacklisted.certs.pem" (substitute* "make/data/blockedcertsconverter/blocked.certs.pem" (("^#!.*") "#! java BlockedCertsConverter SHA-256\n")))))))))) -;; (define-public openjdk18 -;; (package -;; (inherit openjdk17) -;; (name "openjdk") -;; (version "18") -;; (source (origin -;; (method git-fetch) -;; (uri (git-reference -;; (url "https://github.com/openjdk/jdk18u") -;; (commit (string-append "jdk-" version "-ga")))) -;; (file-name (git-file-name name version)) -;; (sha256 -;; (base32 -;; "1bv6bdhkmwvn10l0xy8yi9xibds640hs5zsvx0jp7wrxa3qw4qy8")))) -;; (native-inputs -;; `(("autoconf" ,autoconf) -;; ("openjdk17:jdk" ,openjdk17 "jdk") -;; ("pkg-config" ,pkg-config) -;; ("unzip" ,unzip) -;; ("which" ,which) -;; ("zip" ,zip))) -;; (arguments -;; (substitute-keyword-arguments (package-arguments openjdk16) -;; ((#:phases phases) -;; `(modify-phases ,phases -;; (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")))))))) -;; (home-page "https://openjdk.java.net/projects/jdk/18"))) +(define-public openjdk18 + (make-openjdk openjdk17 "18" + "1bv6bdhkmwvn10l0xy8yi9xibds640hs5zsvx0jp7wrxa3qw4qy8")) ;;; Convenience alias to point to the latest version of OpenJDK. -(define-public openjdk openjdk17) +(define-public openjdk openjdk18) (define-public icedtea icedtea-8) -- cgit v1.3