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

name                groonga
version             16.0.9
revision            0
categories          databases
maintainers         {@barracuda156 macos-powerpc.org:barracuda} openmaintainer

description         embeddable fulltext search engine
long_description    groonga is an {*}${description} library. It can integrate with DBMS \
                    and scripting languages to enhance their search functionality. It \
                    also provides a standalone data store server based on relation data \
                    model.

homepage            https://groonga.org
license             LGPL-2.1

master_sites        http://packages.groonga.org/source/groonga/
checksums           rmd160  53651725d1ee32718c048bdbd115d47a14e2798a \
                    sha256  4aa0cbc0061cc685fcc93355c42a8252e7188d8f06ffa559c124f88f52ebc546 \
                    size    103686642

depends_build-append \
                    path:bin/pkg-config:pkgconfig

depends_lib-append  path:lib/pkgconfig/glib-2.0.pc:glib2 \
                    port:kytea \
                    port:libevent \
                    port:libstemmer \
                    port:lz4 \
                    port:mecab-utf8 \
                    port:msgpack \
                    path:lib/pkgconfig/RapidJSON.pc:rapidjson \
                    port:zlib \
                    path:lib/libzmq.dylib:zmq

compiler.c_standard     1999
compiler.cxx_standard   2017

# TODO: add variants.
configure.args-append \
                    -DUSE_KQUEUE=yes \
                    -DGRN_WITH_APACHE_ARROW=no \
                    -DGRN_WITH_BASE64=no \
                    -DGRN_WITH_BENCHMARKS=no \
                    -DGRN_WITH_BLOSC=no \
                    -DGRN_WITH_EXAMPLES=no \
                    -DGRN_WITH_FAISS=no \
                    -DGRN_WITH_H3=no \
                    -DGRN_WITH_JSONCONS=no \
                    -DGRN_WITH_KYTEA=yes \
                    -DGRN_WITH_LIBEDIT=no \
                    -DGRN_WITH_LIBEVENT=yes \
                    -DGRN_WITH_LIBSTEMMER=yes \
                    -DGRN_WITH_LLAMA_CPP=no \
                    -DGRN_WITH_LTO=no \
                    -DGRN_WITH_LZ4=yes \
                    -DGRN_WITH_MECAB=yes \
                    -DGRN_WITH_MESSAGE_PACK=yes \
                    -DGRN_WITH_MRUBY=no \
                    -DGRN_WITH_OPENZL=no \
                    -DGRN_WITH_RAPIDJSON=yes \
                    -DGRN_WITH_SIMD=no \
                    -DGRN_WITH_SIMDJSON=no \
                    -DGRN_WITH_SIMSIMD=no \
                    -DGRN_WITH_TOOLS=no \
                    -DGRN_WITH_USEARCH=no \
                    -DGRN_WITH_XSIMD=no \
                    -DGRN_WITH_XXHASH=no \
                    -DGRN_WITH_ZEROMQ=yes \
                    -DGRN_WITH_ZLIB=yes \
                    -DGRN_WITH_ZSTD=no

# snip.c:179:8: error: assignment to 'size_t *' {aka 'long unsigned int *'} from incompatible pointer type 'ptrdiff_t *' {aka 'int *'} [-Wincompatible-pointer-types]
# snip.c:287:56: error: passing argument 3 of 'grn_bm_preBmBc' from incompatible pointer type [-Wincompatible-pointer-types]
configure.cflags-append \
                    -Wno-error=incompatible-pointer-types

livecheck.type      regex
livecheck.url       [lindex ${master_sites} 0]
livecheck.regex     "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"
