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

# Please keep the version of the libxml2 and py-libxml2 ports the same.

name                libxml2
version             2.15.3
revision            0
checksums           rmd160  f5a7b99dcedafe78055942d6e3f6dd2b3ab8dc32 \
                    sha256  78262a6e7ac170d6528ebfe2efccdf220191a5af6a6cd61ea4a9a9a5042c7a07 \
                    size    3152452

set branch          [join [lrange [split ${version} .] 0 1] .]
categories          textproc
maintainers         {ryandesign @ryandesign} openmaintainer
license             MIT

description         GNOME XML C parser and toolkit
long_description    Libxml is the XML C library developed for the GNOME project.  \
                    XML itself is a metalanguage to design markup languages. \
                    Though the library is written in C, a variety of language bindings make it \
                    available in other environments.

homepage            https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home
master_sites        gnome:sources/libxml2/${branch}/

depends_build       path:bin/pkg-config:pkgconfig

depends_lib         port:libiconv \
                    path:lib/pkgconfig/icu-uc.pc:icu \
                    port:zlib

use_xz              yes

post-patch {
    reinplace -W ${worksrcpath}/dist-doc "s|/etc|${prefix}/etc|g" xmlcatalog.1
}

# https://trac.macports.org/wiki/WimplicitFunctionDeclaration#strchr
configure.checks.implicit_function_declaration.whitelist-append strchr

configure.args      --disable-silent-rules \
                    --enable-static \
                    --with-icu \
                    --with-zlib \
                    --without-python

destroot.keepdirs   ${destroot}${prefix}/etc/xml
post-destroot {
    xinstall -m 0755 -d ${destroot}${prefix}/etc/xml
}

test.run            yes
test.target         check

variant debug description {Enable debug build} {
    configure.optflags      -O0 -g -Wno-uninitialized
    configure.args-append   --with-run-debug
}

variant readline description {Enable readline support} {
    configure.args-append   --with-readline \
                            --with-history
    depends_lib-append      port:readline
}

if {${os.platform} eq "darwin" && ${os.major} <= 9} {
    post-patch {
        # https://gitlab.gnome.org/GNOME/libxml2/-/issues/1088
        reinplace s/-Wno-array-bounds//g ${worksrcpath}/configure
    }
}

livecheck.type      gnome-with-unstable
