# -*- 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            plantuml plantuml 1.2025.7 v
github.tarball_from     releases
revision                0

categories              java editors
supported_archs         noarch
platforms               any
license                 GPL-3+
maintainers             {judaew @judaew} openmaintainer
description             PlantUML is a tool for generating UML diagrams from \
                        textual description.
long_description        {*}${description}
homepage                https://plantuml.com/

distfiles               ${name}-${version}.jar

checksums               ${name}-${version}.jar \
                        rmd160  e03c8330f7db247b1224376054a519c951271375 \
                        sha256  4edcdda164a4be2f8f954f82868795500ebd49f42306236bf88eac41f7e217a8 \
                        size    25422877
extract.only

java.version            1.7+
java.fallback           openjdk23

use_configure           no
build {}

set javadir             ${destroot}${prefix}/share/java

destroot {
    xinstall -d -m 0755 ${javadir}/${name}
    xinstall -m 0755 ${filespath}/${name} ${destroot}${prefix}/bin
    reinplace "s|@@PREFIX@@|${prefix}|g" ${destroot}${prefix}/bin/${name}
    xinstall -m 0644 ${distpath}/${name}-${version}.jar \
        ${javadir}/${name}/${name}.jar
}

variant pdf description {Include PDF Support} {
    distfiles-append        ${name}-pdf-${version}.jar
    checksums-append        ${name}-pdf-${version}.jar \
                            rmd160  f41f6227e1ecabc63357bed8f96cdbb028228dfb \
                            sha256  8a29b34fa83f5be13857a031890b510ee3c985f9972d1eaac7d824077d4de87f \
                            size    37657664

    post-destroot {
        xinstall -m 0644 ${distpath}/${name}-pdf-${version}.jar \
            ${javadir}/${name}/${name}-pdf.jar
    }
}

variant jlatexmath description {Plantuml language extension to allow use AsciiMath or JLaTeXMath notation} {
    master_sites-append http://beta.plantuml.net/
    distfiles-append    ${name}-jlatexmath.zip

    checksums-append    ${name}-jlatexmath.zip \
                        rmd160  bf99090e005f0d5e027427b41b40b69d7d2fc872 \
                        sha256  e041164c6dce5dec3377242a0664c1855d863094dd51c28880888f59820fc7e2 \
                        size    3837373

    depends_extract     port:unzip

    post-destroot {
        system "cd ${javadir}/${name} && ${prefix}/bin/unzip ${distpath}/${name}-jlatexmath.zip"
    }
}

notes "
graphviz port is optional -- you don't need this if you only need sequence
and activity diagrams. Otherwise, install with

    sudo port install graphviz

JLatexMath support is optional -- you don't need this if you don't use
JLaTeXMath notation. Otherwise, enable with

    sudo port install plantuml +jlatexmath
"
