unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#51693: [patch] Add Java 17
@ 2021-11-08 20:32 Dr. Arne Babenhauserheide
  2021-11-14 15:54 ` Julien Lepiller
  2021-12-02 22:58 ` Ricardo Wurmus
  0 siblings, 2 replies; 7+ messages in thread
From: Dr. Arne Babenhauserheide @ 2021-11-08 20:32 UTC (permalink / raw)
  To: 51693


[-- Attachment #1.1: Type: text/plain, Size: 163 bytes --]

Hi,

the attached patch adds openjdk@17

Take care with updating packages depending on this, because the changes
to the module system can cause runtime failures.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-openjdk17-add-Java-17.0.1.patch --]
[-- Type: text/x-patch, Size: 2621 bytes --]

From 23d8220c78a9ac6aa84dff96fd0c0a1d8214a699 Mon Sep 17 00:00:00 2001
From: Arne Babenhauserheide <arne_bab@web.de>
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
---
 gnu/packages/java.scm | 46 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index da72dbb38c..34abdcc418 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2581,6 +2581,52 @@ (define-public openjdk16
                #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 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
+                (lambda (file)
+                  (invoke "chmod" "u+w" file))
+                (find-files "src/java.base/share/classes/jdk/internal/misc/"
+                            "\\.template$"))
+               #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)

 \f
--
2.33.1


[-- Attachment #1.3: Type: text/plain, Size: 103 bytes --]



Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1125 bytes --]

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* bug#51693: [patch] Add Java 17
  2021-11-08 20:32 bug#51693: [patch] Add Java 17 Dr. Arne Babenhauserheide
@ 2021-11-14 15:54 ` Julien Lepiller
  2021-11-14 20:59   ` Dr. Arne Babenhauserheide
  2021-12-02 22:58 ` Ricardo Wurmus
  1 sibling, 1 reply; 7+ messages in thread
From: Julien Lepiller @ 2021-11-14 15:54 UTC (permalink / raw)
  To: Dr. Arne Babenhauserheide; +Cc: 51693

Le Mon, 08 Nov 2021 21:32:16 +0100,
"Dr. Arne Babenhauserheide" <arne_bab@web.de> a écrit :

> Hi,
> 
> the attached patch adds openjdk@17
> 
> Take care with updating packages depending on this, because the
> changes to the module system can cause runtime failures.
> 

Hi!

sorry for the delay. I tried your patch, but the build fails for me
because it goes "out of file descriptors" and "unix resources". Does it
work for you? I tried with various levels of parallelism, but it did not
change anything.

also about your patch, could you replace (invoke "chmod" "u+w" file)
with a call to make-writable? It's available by default in the build
environment, it comes from (guix build utils). I wonder also why you
inherit arguments from openjdk15 instead of openjdk16?

Thanks!




^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#51693: [patch] Add Java 17
  2021-11-14 15:54 ` Julien Lepiller
@ 2021-11-14 20:59   ` Dr. Arne Babenhauserheide
  2021-11-15 12:59     ` Julien Lepiller
  0 siblings, 1 reply; 7+ messages in thread
From: Dr. Arne Babenhauserheide @ 2021-11-14 20:59 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 51693


[-- Attachment #1.1: Type: text/plain, Size: 1322 bytes --]


Julien Lepiller <julien@lepiller.eu> writes:

> Le Mon, 08 Nov 2021 21:32:16 +0100,
> "Dr. Arne Babenhauserheide" <arne_bab@web.de> a écrit :
>
>> the attached patch adds openjdk@17
>> 
>> Take care with updating packages depending on this, because the
>> changes to the module system can cause runtime failures.

> sorry for the delay.

No problems — thank you for checking my patch!

> I tried your patch, but the build fails for me
> because it goes "out of file descriptors" and "unix resources". Does it
> work for you?

It works for me, yes.

./pre-inst-env guix environment --ad-hoc openjdk@17:jdk -- java -version
…
openjdk version "17.0.1" 2021-10-19
OpenJDK Runtime Environment (build 17.0.1+0-adhoc..source)
OpenJDK 64-Bit Server VM (build 17.0.1+0-adhoc..source, mixed mode, sharing)

> I tried with various levels of parallelism, but it did not
> change anything.
>
> also about your patch, could you replace (invoke "chmod" "u+w" file)
> with a call to make-writable?

Do you mean `make-file-writable` ? I switched to that now.

> It's available by default in the build
> environment, it comes from (guix build utils). I wonder also why you
> inherit arguments from openjdk15 instead of openjdk16?

That was a mistake — thank you!

I attached a new patch.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-openjdk17-add-Java-17.0.1.patch --]
[-- Type: text/x-patch, Size: 3156 bytes --]

From 5d9d3e96163798fe9b8146f134e47311b4e0ac77 Mon Sep 17 00:00:00 2001
From: Arne Babenhauserheide <arne_bab@web.de>
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


[-- Attachment #1.3: Type: text/plain, Size: 103 bytes --]


Liebe Grüße,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1125 bytes --]

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* bug#51693: [patch] Add Java 17
  2021-11-14 20:59   ` Dr. Arne Babenhauserheide
@ 2021-11-15 12:59     ` Julien Lepiller
  2021-11-15 14:00       ` Dr. Arne Babenhauserheide
  0 siblings, 1 reply; 7+ messages in thread
From: Julien Lepiller @ 2021-11-15 12:59 UTC (permalink / raw)
  To: Dr. Arne Babenhauserheide; +Cc: 51693

Hi, I think you fixed openjdk16 instead of openjdk17, this makes the
patch a bit confusing to read.

Le Sun, 14 Nov 2021 21:59:44 +0100,
"Dr. Arne Babenhauserheide" <arne_bab@web.de> a écrit :

> Julien Lepiller <julien@lepiller.eu> writes:
> 
> > Le Mon, 08 Nov 2021 21:32:16 +0100,
> > "Dr. Arne Babenhauserheide" <arne_bab@web.de> a écrit :
> >  
> >> the attached patch adds openjdk@17
> >> 
> >> Take care with updating packages depending on this, because the
> >> changes to the module system can cause runtime failures.  
> 
> > sorry for the delay.  
> 
> No problems — thank you for checking my patch!
> 
> > I tried your patch, but the build fails for me
> > because it goes "out of file descriptors" and "unix resources".
> > Does it work for you?  
> 
> It works for me, yes.
> 
> ./pre-inst-env guix environment --ad-hoc openjdk@17:jdk -- java
> -version …
> openjdk version "17.0.1" 2021-10-19
> OpenJDK Runtime Environment (build 17.0.1+0-adhoc..source)
> OpenJDK 64-Bit Server VM (build 17.0.1+0-adhoc..source, mixed mode,
> sharing)
> 
> > I tried with various levels of parallelism, but it did not
> > change anything.
> >
> > also about your patch, could you replace (invoke "chmod" "u+w" file)
> > with a call to make-writable?  
> 
> Do you mean `make-file-writable` ? I switched to that now.
> 
> > It's available by default in the build
> > environment, it comes from (guix build utils). I wonder also why you
> > inherit arguments from openjdk15 instead of openjdk16?  
> 
> That was a mistake — thank you!
> 
> I attached a new patch.
> 





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#51693: [patch] Add Java 17
  2021-11-15 12:59     ` Julien Lepiller
@ 2021-11-15 14:00       ` Dr. Arne Babenhauserheide
  0 siblings, 0 replies; 7+ messages in thread
From: Dr. Arne Babenhauserheide @ 2021-11-15 14:00 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 51693

[-- Attachment #1: Type: text/plain, Size: 708 bytes --]

Hi,

Julien Lepiller <julien@lepiller.eu> writes:

> Hi, I think you fixed openjdk16 instead of openjdk17, this makes the
> patch a bit confusing to read.

I didn’t fix openjdk16, it’s just the change detection in git that makes
it look like that because there are unchanged lines in-between.

I wish I could make that better, but git just doesn’t understand the
semantics of the code, so it does not recognize the unchanged end of the
openjdk16 block and instead things that my insertion of openjdk17 is a
modification of the end of openjdk16 plus insertion of the start of
openjdk17.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1125 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#51693: [patch] Add Java 17
  2021-11-08 20:32 bug#51693: [patch] Add Java 17 Dr. Arne Babenhauserheide
  2021-11-14 15:54 ` Julien Lepiller
@ 2021-12-02 22:58 ` Ricardo Wurmus
  2021-12-03  7:49   ` Dr. Arne Babenhauserheide
  1 sibling, 1 reply; 7+ messages in thread
From: Ricardo Wurmus @ 2021-12-02 22:58 UTC (permalink / raw)
  To: 51693-done

I split it up into a commit fixing openjdk 16 and one adding openjdk 17;
I removed a duplicate phase from openjdk 17 and let it inherit the phases from openjdk 16.

I’ve applied the patches to the “master” branch.

Thanks!

-- 
Ricardo




^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#51693: [patch] Add Java 17
  2021-12-02 22:58 ` Ricardo Wurmus
@ 2021-12-03  7:49   ` Dr. Arne Babenhauserheide
  0 siblings, 0 replies; 7+ messages in thread
From: Dr. Arne Babenhauserheide @ 2021-12-03  7:49 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 51693-done

[-- Attachment #1: Type: text/plain, Size: 406 bytes --]


Ricardo Wurmus <rekado@elephly.net> writes:

> I split it up into a commit fixing openjdk 16 and one adding openjdk 17;
> I removed a duplicate phase from openjdk 17 and let it inherit the phases from openjdk 16.
>
> I’ve applied the patches to the “master” branch.

Very cool! Thank you!

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1125 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-12-03  7:51 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-08 20:32 bug#51693: [patch] Add Java 17 Dr. Arne Babenhauserheide
2021-11-14 15:54 ` Julien Lepiller
2021-11-14 20:59   ` Dr. Arne Babenhauserheide
2021-11-15 12:59     ` Julien Lepiller
2021-11-15 14:00       ` Dr. Arne Babenhauserheide
2021-12-02 22:58 ` Ricardo Wurmus
2021-12-03  7:49   ` Dr. Arne Babenhauserheide

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).