# -*- 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    Guardsquare proguard 7.9.1 v
github.tarball_from archive
revision        0

categories      java
license         GPL-2
maintainers     nomaintainer

description     Java bytecode shrinker, optimizer, and obfuscator.
long_description \
    ProGuard is a free Java class file shrinker, optimizer, \
    obfuscator, and preverifier.  It detects and removes unused \
    classes, fields, methods, and attributes.  It optimizes bytecode \
    and removes unused instructions.  It renames the remaining \
    classes, fields, and methods using short meaningless names. \
    Finally, it preverifies the processed code for Java 6 or for Java \
    Micro Edition.

homepage        https://www.guardsquare.com/en/products/proguard

checksums       rmd160  15cef4c049dba6624308b58755932ce904bf1113 \
                sha256  cc4f25a3eb5a90ea6f2ae1ef0dbe7f95bc94ee91470a6ef6748edf1d4bd8c079 \
                size    1243855

java.version    21
java.fallback   openjdk11

depends_lib     bin:java:kaffe

depends_build   port:gradle8

use_configure   no

build.env-append GRADLE_USER_HOME=${worksrcpath}/.gradle
build.cmd       ${prefix}/bin/gradle
build.target    assemble

destroot {
    set javadir ${destroot}${prefix}/share/java
    set docdir ${destroot}${prefix}/share/doc/${name}

    xinstall -d -m 0755 ${javadir}
    xinstall -d -m 0755 ${docdir}

    foreach f [glob -directory ${worksrcpath}/lib *.jar] {
        file copy ${f} ${javadir}/
    }
    foreach f [glob -directory ${worksrcpath}/docs *] {
        file copy ${f} ${docdir}/
    }
    foreach f {LICENSE examples} {
        file copy ${worksrcpath}/${f} ${docdir}/
    }
}

