# -*- 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               java 1.0
PortGroup               github 1.0

github.setup            iBotPeaches Apktool 2.12.1 v
github.tarball_from     archive
name                    apktool

categories              java devel
supported_archs         x86_64 arm64
license                 Apache-2
maintainers             {i0ntempest @i0ntempest} openmaintainer

description             A tool for reverse engineering 3rd party, closed, binary Android apps
long_description        Apktool is a tool for reverse engineering 3rd party, closed, binary Android apps.\
                        It can decode resources to nearly original form and rebuild them after making\
                        some modifications. It also makes working with an app easier because of the\
                        project like file structure and automation of some repetitive tasks like\
                        building apk, etc.

homepage                https://apktool.org

checksums               rmd160  579a5d79e7ec94daff61a205e05ef406251ab51e \
                        sha256  f23230a102b762f5349896308d9d57fe3fd95cb2f3ad4426286a1f918680cec1 \
                        size    37127993

java.version            1.8+
java.fallback           openjdk11

use_configure           no
universal_variant       no

depends_build-append    port:gradle8

build.env-append        GRADLE_USER_HOME=${worksrcpath}
build.cmd               ${prefix}/bin/gradle
build.args              --no-daemon --console=plain --stacktrace -p ${worksrcpath}
build.target            shadowJar

post-patch {
    reinplace "s|!in gradle.startParameter.taskNames|in gradle.startParameter.taskNames|g" ${worksrcpath}/build.gradle.kts
}

destroot {
    copy ${worksrcpath}/brut.apktool/apktool-cli/build/libs/apktool-cli.jar ${destroot}${prefix}/libexec/
    set script [open ${destroot}${prefix}/bin/apktool w]
    puts $script "#!/bin/sh"
    puts $script "\$(/usr/libexec/java_home)/bin/java -jar ${prefix}/libexec/apktool-cli.jar \"$@\""
    close $script
    file attributes ${destroot}${prefix}/bin/apktool -permissions ugo+x
}
