# -*- 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 openjdk8-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 supported_archs x86_64 arm64 # https://www.azul.com/downloads/?version=java-8-lts&os=macos&package=jdk#zulu version 8.78.0.19 revision 0 set openjdk_version 8.0.412 description Azul Zulu Community OpenJDK 8 (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 c395ef28a9cef9236d9adac2b6bd9d96f7707011 \ sha256 2bfa0506196962bddb21a604eaa2b0b39eaf3383d0bdad08bdbe7f42f25d8928 \ size 106646303 } elseif {${configure.build_arch} eq "arm64"} { distname zulu${version}-ca-jdk${openjdk_version}-macosx_aarch64 checksums rmd160 da308c2de7d9e9b85b1b4be5ea46114b1633ad93 \ sha256 35bc35808379400e4a70e1f7ee379778881799b93c2cc9fe1ae515c03c2fb057 \ size 104517359 } worksrcdir ${distname}/zulu-8.jdk configure.cxx_stdlib libstdc++ # https://trac.macports.org/wiki/PortfileRecipes#compare-osx-darwin-version if {${os.platform} eq "darwin" && ${os.major} < 18} { # See https://www.azul.com/downloads/?os=macos&package=jdk known_fail yes pre-fetch { ui_error "${name} ${version} is only supported on macOS 10.14 Mojave or later." return -code error } } homepage https://www.azul.com/downloads/ livecheck.type regex livecheck.url https://cdn.azul.com/zulu/bin/ livecheck.regex zulu(8\.\[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 "