# -*- 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 PortGroup github 1.0 PortGroup java 1.0 github.setup WhatsApp eqwalizer 0.25.3 v github.tarball_from archive revision 0 categories erlang devel maintainers {pguyot @pguyot} openmaintainer license Apache-2 description A type-checker for Erlang long_description ${description} checksums rmd160 f28a45aac84537f2b690cc9af88c00a1030fd51c \ sha256 280721884157fa38ab959e87c0031910f067c3b8bf539497edd188def5edd035 \ size 600088 depends_build-append port:erlang \ port:sbt variant jdk17 conflicts jdk11 description {Build using JDK 17} { depends_build-append port:openjdk17-graalvm java.version 17 } variant jdk11 conflicts jdk17 description {Build using the older JDK 11} { depends_build-append port:openjdk11-graalvm-native-image java.version 11 } if {![variant_isset jdk11] && ![variant_isset jdk17]} { default_variants +jdk17 } pre-fetch { if {![variant_isset jdk11] && ![variant_isset jdk17]} { error "Either +jdk11 or +jdk17 is required" } } use_configure no # Use standard build to take advantage of JAVA_HOME in build.env build.dir ${worksrcpath}/eqwalizer build.cmd sbt build.env-append SBT_OPTS=-Duser.home=${workpath}/.home build.target assembly post-build { # Leaving this stub since we cannot declare global variables in the scope of pre-fetch set graalvm_home /Library/Java/JavaVirtualMachines if {[variant_isset jdk17]} { set graalvm_home ${graalvm_home}/openjdk17-graalvm } elseif {[variant_isset jdk11]} { set graalvm_home ${graalvm_home}/openjdk11-graalvm } set graalvm_home ${graalvm_home}/Contents/Home # https://github.com/WhatsApp/erlang-language-platform/blob/0ae9b6d76ee51c2e17a7e97e379ff2e31b631317/.github/workflows/ci.yml#L102 set args "-H:IncludeResources=application.conf" append args " --no-server" append args " --no-fallback" append args " -jar " append args {*}[glob ${worksrcpath}/eqwalizer/target/scala-*/${name}.jar] append args " eqwalizer" system -W ${worksrcpath}/eqwalizer "${graalvm_home}/bin/native-image ${args}" } destroot { set sharedir ${destroot}${prefix}/share/${name} xinstall -m 0755 -d ${sharedir} xinstall -m 0644 {*}[glob ${worksrcpath}/eqwalizer/target/scala-*/${name}.jar] ${sharedir}/${name}.jar file copy ${worksrcpath}/eqwalizer_support ${sharedir}/eqwalizer_support set bindir ${destroot}${prefix}/bin xinstall -m 0755 -d ${bindir} xinstall -m 0755 ${worksrcpath}/eqwalizer/${name} ${bindir}/${name} }