unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
To: guix-devel@gnu.org
Cc: julien@lepiller.eu
Subject: No default OpenJDK version?
Date: Tue, 16 Apr 2024 13:25:33 -0700	[thread overview]
Message-ID: <875xwh2gxu.fsf@wireframe> (raw)

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

When recently taking a look at diffoscope, I was reminded that there is
effectively no default openjdk version, you have to pick a specific
version for each package definition...

At some time in diffoscope's history, that was openjdk@12.

But there are quite a few versions to choose from:

  guix package -A openjdk | sort -V
  openjdk 9.181           out,jdk,doc     gnu/packages/java.scm:869:2
  openjdk 10.46           out,jdk,doc     gnu/packages/java.scm:1140:2
  openjdk 11.0.22         out,jdk,doc     gnu/packages/java.scm:1218:2
  openjdk 12.33           out,jdk,doc     gnu/packages/java.scm:1536:2
  openjdk 13.0.14         out,jdk,doc     gnu/packages/java.scm:1576:2
  openjdk 14.0.2          out,jdk,doc     gnu/packages/java.scm:1583:2
  openjdk 15.0.10         out,jdk,doc     gnu/packages/java.scm:1598:2
  openjdk 16.0.2          out,jdk,doc     gnu/packages/java.scm:1617:2
  openjdk 17.0.10         out,jdk,doc     gnu/packages/java.scm:1625:2
  openjdk 18.0.2.1        out,jdk,doc     gnu/packages/java.scm:1642:2
  openjdk 19.0.2          out,jdk,doc     gnu/packages/java.scm:1646:2
  openjdk 20.0.2          out,jdk,doc     gnu/packages/java.scm:1663:2
  openjdk 21.0.2          out,jdk,doc     gnu/packages/java.scm:1667:2

Some packages may only work with a specific era of openjdk, but I
suspect many of the packages in guix just picked whatever version
happened to be present when it was added to guix.

Which makes it hard to know when to update the openjdk dependency...

In the diffoscope case, it seems to have work fine with openjdk@21, with
the only result being that some openjdk-version-specific tests pass and
some are skipped as a one-for-one trade compared to the old openjdk@12.

Alternately, I would be tempted to switch to openjdk@17, which is the
current default in Debian, so has a little more testing behind it...

Though there is a bit of a perverse incentive to stick with the oldest
version that still works, due to openjdk having a very long bootstrap
chain of itself...

And then the question gets to be of diffoscope's dependencies, what
versions of openjdk do they pull in (notably enjarify, which uses
openjdk@12, although that also seems to work ok with openjdk@21)?


Would it make sense to have an openjdk "default" version, so packages
could instead depend on that, and only need to specify a version if
needed for some particular reason? Or is compatibility across openjdk
versions troublesome enough that it really always needs to be handled on
a case-by-case basis?


live well,
  vagrant

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

             reply	other threads:[~2024-04-16 20:26 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-16 20:25 Vagrant Cascadian [this message]
2024-04-16 20:37 ` No default OpenJDK version? Julien Lepiller
2024-04-16 21:03   ` Attila Lendvai
2024-04-16 21:50   ` Vagrant Cascadian
2024-04-17  4:58     ` Julien Lepiller
2024-04-20 17:19   ` Markku Korkeala
2024-04-21  5:31     ` Julien Lepiller
2024-04-22 17:32     ` Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=875xwh2gxu.fsf@wireframe \
    --to=vagrant@reproducible-builds.org \
    --cc=guix-devel@gnu.org \
    --cc=julien@lepiller.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).