# -*- coding: utf-8; mode: tcl; tab-width: 4; truncate-lines: t; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4

PortSystem          1.0

set package.name    lib_mysqludf_xql
version             1.0.0
set mysql.name      mysql55
name                ${mysql.name}-${package.name}

set mp.ports {
    mysql5
    mysql51
    mysql55
    mariadb
}
set mp.names        {}
foreach mp.port ${mp.ports} {

    lappend mp.names "${mp.port}-${package.name}"
}
foreach mp.name ${mp.names} {

    set idx [lsearch ${mp.names} ${mp.name}]
    set mp.port [lindex ${mp.ports} $idx]
    if {[string compare ${mp.name} ${name}] == 0 && [string compare ${mp.name} ${subport}] == 0} {

        depends_lib-append  port:${mp.port}
    } else {

        subport ${mp.name} {
    
            set mysql.name      ${mp.port}
            depends_lib-append  port:${mp.port}
        }
    }
}

categories          databases lang
maintainers         nomaintainer
platforms           darwin

description         The lib_mysqludf_xql library provides an array of functions, which can be used \
                    to create XML output directly from MySQL using a single SQL query.
long_description    {*}${description} This prevents having to convert a MySQL result to XML in a PHP \
                    script, Ruby script, etc. This improves performance and simplifies your code. \
                    \
                    The library provides the same functionality as SQL/XML, seen in MS SQL server \
                    and Oracle. However it uses normal functions. By using subqueries the same \
                    results as SQL/XML can be generated.

homepage            http://www.mysqludf.org/${package.name}/
master_sites        ${homepage}

dist_subdir         lib_mysqludf
distname            ${package.name}-${version}

checksums           rmd160  6750ca0e97ee096194c33703d0b35b645920a0ee \
                    sha256  f992fcd77f7596aee32ddeccbd9b31aa67c9cf2cd04f84959db63f87e1ca0321

depends_lib-append  port:libxml2

configure.args-append \
                    --with-libxml2=${prefix}/lib/xml2Conf.sh \
                    --with-mysql=${prefix}/lib/${mysql.name}/bin/mysql_config \
                    --with-mysqlbin=${prefix}/lib/${mysql.name}/bin/ \
                    --with-mysqladmin=${prefix}/lib/${mysql.name}/bin/mysqladmin \
                    --with-mysqltest=${prefix}/lib/${mysql.name}/bin/mysqltestc

post-destroot {
    xinstall -m 755 -d ${destroot}${prefix}/share/${mysql.name}/${package.name}
    xinstall -m 644 -W ${worksrcpath} \
        API AUTHORS COPYING ChangeLog INSTALL NEWS README installdb.sql uninstalldb.sql \
        ${destroot}${prefix}/share/${mysql.name}/${package.name}
    copy ${worksrcpath}/test \
        ${destroot}${prefix}/share/${mysql.name}/${package.name}
}

livecheck.url       ${master_sites}
livecheck.type      regex
livecheck.regex     "${package.name}-(\\d+\\.\\d+(\[\\drc.\]+)?)${extract.suffix}"

notes "

    This port installs two mysql scripts to simplify the install/uninstall of the ${package.name}
    UDFs (user-defined-functions).
    
    Install:
    \$ ${prefix}/lib/${mysql.name}/bin/mysql -uroot -p < ${prefix}/share/${mysql.name}/${package.name}/installdb.sql

    Uninstall:
    \$ ${prefix}/lib/${mysql.name}/bin/mysql -uroot -p < ${prefix}/share/${mysql.name}/${package.name}/uninstalldb.sql
    
    API:
    $ cat ${prefix}/share/${mysql.name}/${package.name}/API
    "
