# -*- 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

name            gnu-classpath
set my_name     classpath
version         0.99
revision        0
maintainers     nomaintainer
categories      java
# has a runtime exception similar to gcc's
license         {GPL-2+ Permissive}
description     Essential libraries for Java.

long_description \
    GNU Classpath, Essential Libraries for Java, \
    is a GNU project to create free core class \
    libraries for use with virtual machines and \
    compilers for the java programming language.

homepage        https://www.gnu.org/software/classpath/classpath.html
master_sites    gnu:${my_name}
distname        ${my_name}-${version}

checksums       rmd160  eb1d9c93b3c3acaaa3e0cba69a8935d44812e181 \
                sha256  f929297f8ae9b613a1a167e231566861893260651d913ad9b6c11933895fecc8 \
                size    11078232

# configure tests javac with -source 1.5, removed in JDK 11+
java.version    1.8-10
java.fallback   openjdk8
java.deptypes   build

patchfiles      patch-native-jni-java-nio-Makefile.in.diff
patchfiles-append patch-native-jni-java-io-java_io_VMConsole.c.diff \
                patch-native-fdlibm-ieeefp.h.diff

depends_build-append \
                port:antlr
depends_lib-append \
                port:libiconv

pre-configure {
    if {${java.home} ne {}} {
        configure.env-append JAVAC=${java.home}/bin/javac
    }
}

configure.args  --mandir=${prefix}/share/man \
                --infodir=${prefix}/share/info \
                --disable-gtk-peer \
                --disable-gconf-peer \
                --disable-plugin \
                --with-antlr-jar=${prefix}/lib/antlr.jar

variant gtk description {Enable GTK peer support} {
    depends_lib-append      path:lib/pkgconfig/gtk+-2.0.pc:gtk2 \
                            port:gconf

    configure.args-delete   --disable-gtk-peer \
                            --disable-gconf-peer
}

post-destroot {
    xinstall -m 755 -d ${destroot}${prefix}/share/java
    move ${destroot}${prefix}/share/classpath/glibj.zip \
        ${destroot}${prefix}/share/java/glibj.jar
    ln ${destroot}${prefix}/share/java/glibj.jar ${destroot}${prefix}/share/classpath/glibj.zip
}

livecheck.name  ${my_name}
