# -*- 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            kaikramer keystore-explorer 5.7.0 v
github.tarball_from     archive
revision                0

categories              security java
license                 GPL-3+
homepage                https://keystore-explorer.org
maintainers             {sethm.id.au:dev @McDaMastR} \
                        openmaintainer

description             A free GUI replacement for keytool and jarsigner
long_description        KeyStore Explorer is an open source GUI replacement \
                        for the Java command-line utilities keytool and \
                        jarsigner.  KeyStore Explorer presents their \
                        functionality, and more, via an intuitive graphical \
                        user interface.

depends_build-append    port:gradle

java.version            17+

set gradle_home         ${workpath}/.home/.gradle

checksums               rmd160  d82f49a7474fbb8227944a72c702976028a635ad \
                        sha256  d30a6a9c9eeb81e337c1c39f44194e48e75807d24a899c40283d0025650cf974 \
                        size    7173465

if {[java::selected_version] < 21} {
    # Error: Invalid compression level zip-6
    patchfiles-append       fix-compression-level.diff
}

use_configure           no

build.dir               ${worksrcpath}/kse
build.cmd               ${prefix}/bin/gradle
build.target            appbundler
build.args              --no-daemon \
                        --gradle-user-home=${gradle_home} \
                        --max-workers=${build.jobs}

test.run                yes
test.args               --no-daemon \
                        --gradle-user-home=${gradle_home} \
                        --max-workers=${build.jobs}

destroot {
    set destappdir  ${destroot}${applications_dir}
    set destdocdir  ${destroot}${prefix}/share/doc/${name}
    set destjavadir ${destroot}${prefix}/share/java

    xinstall -d ${destappdir}
    copy \
        "${worksrcpath}/kse/build/appBundle/KeyStore Explorer.app" \
        ${destappdir}

    xinstall -d ${destjavadir}
    ln -s \
        "${applications_dir}/KeyStore Explorer.app/Contents/Java/kse.jar" \
        ${destjavadir}

    xinstall -d ${destdocdir}
    xinstall -W ${worksrcpath} -m 644 \
        CONTRIBUTING.md \
        LICENSE \
        README.md \
        ${destdocdir}
}
