[MacPorts] #64924: openjdk## ports should be meta ports

MacPorts noreply at macports.org
Sat Apr 9 16:09:52 UTC 2022


#64924: openjdk## ports should be meta ports
-------------------------------------------+----------------------
  Reporter:  zman0900                      |      Owner:  usersxx
      Type:  enhancement                   |     Status:  assigned
  Priority:  Normal                        |  Milestone:
 Component:  ports                         |    Version:
Resolution:                                |   Keywords:
      Port:  openjdk17 openjdk11 openjdk8  |
-------------------------------------------+----------------------

Comment (by usersxx):

 >
 > >
 > > > > As a meta ports, this seemed to allow other ports to just depend
 on "openjdk11" or "openjdk17", while the user could choose which actual
 implementation to install, such as "openjdk17-temurin".
 > > >
 > > > I don't think the user could actually choose which implementation to
 use, although that would be nice. Before `openjdk11` and `openjdk17` would
 just install a particular OpenJDK distribution (Eclipse Temurin on x86_64,
 Azul Zulu on arm64).
 > >
 > > You can just install azul zulu by using `sudo port install
 openjdk11-zulu` and `sudo port install openjdk17-zulu`. You can install
 eclipse temurin by using `sudo port install openjdk11-temurin` and `sudo
 port install openjdk17-temurin`.
 >
 > Yes, you can do those things, but a port cannot specify that it depends
 on 'some JDK 11' or 'some JDK 17'. A port can only depend on a specific
 JDK implementation, or it can use the `java.version` and `java.fallback`
 properties from the java PortGroup, but those always use the
 `openjdk{major}` ports. It would be nice if ports could indicate that they
 depend on a port which provides the 'Java 17' capability, without a
 hardcoded dependency on a specific port, so that if you already have for
 instance Eclipse Temurin 17 or Azul Zulu 17 or SapMachine 17 installed,
 the dependency is satisfied and not another JDK needs to be installed.
 Actually, `java.version` checks if a specific JDK version is installed or
 not. If a Installed JDK fulfils `java.version`, MacPorts will use it. If
 there is no JDK that fulfils `java.version`, `java.fallback` will be
 installed

-- 
Ticket URL: <https://trac.macports.org/ticket/64924#comment:6>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list