# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 PortSystem 1.0 name openjdk11-zulu categories java devel maintainers {breun.nl:nils @breun} openmaintainer platforms {darwin any} # This port uses prebuilt binaries; 'NoMirror' makes sure MacPorts doesn't mirror/distribute these third-party binaries license GPL-2 NoMirror # This port uses prebuilt binaries for a particular architecture; they are not universal binaries universal_variant no # https://www.azul.com/downloads/?version=java-11-lts&os=macos&package=jdk supported_archs x86_64 arm64 version 11.72.19 revision 0 set openjdk_version 11.0.23 description Azul Zulu Community OpenJDK 11 (Long Term Support) long_description AzulĀ® ZuluĀ® is a Java Development Kit (JDK), and a compliant implementation of the Java Standard Edition (SE)\ specification that contains all the Java components needed to build and run Java SE applications. Zulu has been\ verified by passing all tests of the OpenJDK Community Technology Compatibility Kit (TCK) as available for each\ respective Java SE version. master_sites https://cdn.azul.com/zulu/bin/ if {${configure.build_arch} eq "x86_64"} { distname zulu${version}-ca-jdk${openjdk_version}-macosx_x64 checksums rmd160 03a61d920ecf64515329ff9bd347c7d41865aa84 \ sha256 e5b19b82045826ae09c9d17742691bc9e40312c44be7bd7598ae418a3d4edb1c \ size 194631852 } elseif {${configure.build_arch} eq "arm64"} { distname zulu${version}-ca-jdk${openjdk_version}-macosx_aarch64 checksums rmd160 11d3f6e570bda3d34d08b496a699de87ea449b90 \ sha256 40fb1918385e03814b67b7608c908c7f945ccbeddbbf5ed062cdfb2602e21c83 \ size 192715919 } worksrcdir ${distname}/zulu-11.jdk homepage https://www.azul.com/downloads/ livecheck.type regex livecheck.url https://cdn.azul.com/zulu/bin/ livecheck.regex zulu(11\.\[0-9\.\]+)-ca-jdk\[0-9\.\]+-macosx_.*\.tar\.gz use_configure no build {} variant Applets \ description { Advertise the JVM capability "Applets".} {} variant BundledApp \ description { Advertise the JVM capability "BundledApp". This is required by some java-based app bundles to recognize and use the JVM.} {} variant JNI \ description { Advertise the JVM capability "JNI". This is required by some java-based app bundles to recognize and use the JVM.} {} variant WebStart \ description { Advertise the JVM capability "WebStart".} {} patch { foreach var { Applets BundledApp JNI WebStart } { if {[variant_isset ${var}]} { reinplace -E "s|^(\[\[:space:\]\]*)CommandLine()|\\1${var}\\2\\\n\\1CommandLine\\2|" ${worksrcpath}/Contents/Info.plist } } } test.run yes test.cmd Contents/Home/bin/java test.target test.args -version # macOS Java tools expect to find Java virtual machines under /Library/Java/JavaVirtualMachines, which is not under ${prefix}. destroot.violate_mtree yes set jvms /Library/Java/JavaVirtualMachines set jdk ${jvms}/${name} destroot { xinstall -m 755 -d ${destroot}${prefix}${jdk} copy ${worksrcpath}/Contents ${destroot}${prefix}${jdk} # macOS Java tools expect to find Java virtual machines under /Library/Java/JavaVirtualMachines, so let's create a symlink there xinstall -m 755 -d ${destroot}${jvms} ln -s ${prefix}${jdk} ${destroot}${jdk} } notes " If you have more than one JDK installed you can make ${name} the default\ by adding the following line to your shell profile: export JAVA_HOME=${jdk}/Contents/Home "