# -*- 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                xercesj
version             2.12.2
categories          java textproc
license             Apache-2 W3C
maintainers         nomaintainer
platforms           any
supported_archs     noarch

description         Apache Xerces 2 Java XML Parser
long_description    The Xerces 2 Java Parser supports XML 1.0 Third Edition\; \
                    XML 1.1\; XML 1.1 Namespaces\; DOM Level 2 \
                    Core, Events, Traversal and Range\; \
                    SAX 2.0.1 Core and Extensions\; JAXP 1.2\; \
                    Schema 1.0 Structure and Datatypes.
homepage            https://xerces.apache.org/xerces2-j/

distname            Xerces-J-src.${version}
distfiles           ${distname}${extract.suffix} \
                    Xerces-J-tools.${version}${extract.suffix}

master_sites        apache:xerces/j/source/
checksums           ${distname}${extract.suffix} \
                        rmd160  2a7227d1babca9acd62fa2dac8896f6650069f2f \
                        sha256  6dd1ebd4c88e935c182375346cd7365514bd8dd2ad2f30f0d0b05257bab34ee8 \
                        size    1812583 \
                    Xerces-J-tools.${version}${extract.suffix} \
                        rmd160  60cce241c67b34eb678c9e0232551e3677017054 \
                        sha256  66b88ccbbba507f9f9cffb285a94258cd9fb6a842dfbeb8499866b156021a574 \
                        size    7074111

depends_build       bin:ant:apache-ant

# See bump-jdk-version.diff
java.version        1.8+
java.fallback       openjdk11

worksrcdir          xerces-[string map ". _" $version]

patchfiles          build.xml.patch \
                    bump-jdk-version.diff \
                    patch-src_org_apache_html_dom_HTMLElementImpl.java-add-getContentDocument-DOM2-method.diff
                    # See #37217 and https://issues.apache.org/jira/browse/XERCESJ-983?page=all
                    # This patch might not be the best way to fix this issue, though.

use_configure       no

build.cmd           ant
build.target        jars jars-schema11

post-extract {
    move ${workpath}/tools ${worksrcpath}/
}

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

    xinstall -d ${destjavadir}
    xinstall -m 644 \
        ${worksrcpath}/build/xml-apis.jar \
        ${worksrcpath}/build/xercesImpl.jar \
        ${worksrcpath}/build/schema11-xercesImpl.jar \
        ${destjavadir}

    xinstall -d ${destdocdir}
    xinstall -m 644 \
        ${worksrcpath}/LICENSE \
        ${worksrcpath}/NOTICE \
        ${worksrcpath}/README \
        ${destdocdir}
}

livecheck.type      regex
livecheck.url       https://downloads.apache.org/xerces/j/source/
livecheck.regex     Xerces-J-src\\.(\[0-9.]+)\\.tar\\.gz
