# -*- 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
PortGroup               github 1.0

github.setup            google flatbuffers 25.12.19 v -2026-02-06-03fffb2
revision                0
categories              devel
license                 Apache-2
maintainers             {gmail.com:herby.gillot @herbygillot} {judaew @judaew} \
                        openmaintainer
description             Memory-Efficient Serialization Library
long_description        FlatBuffers is a cross platform serialization library \
                        architected for maximum memory efficiency. It allows \
                        you to directly access serialized data without \
                        parsing/unpacking it first, while still having great \
                        forwards/backwards compatibility.
homepage                https://google.github.io/flatbuffers

checksums               rmd160  330cfacd1732baca3695b4fc7b8de4b7d8734304 \
                        sha256  ccbce58684691de1e7d51f5e87786266b37d06ab66e9dfe2d0ec106fe50aace0 \
                        size    2375289
github.tarball_from     archive

compiler.cxx_standard   2011
# Needed for - error: unknown attribute 'no_sanitize' ignored [-Werror,-Wattributes]
compiler.blacklist-append {clang < 800}

set fb_doc_dir          ${prefix}/share/doc/${name}
set fb_share_dir        ${prefix}/share/${name}

set fb_langs            {
                            android
                            dart
                            go
                            java
                            js
                            kotlin
                            lobster
                            lua
                            net
                            php
                            python
                            rust
                            swift
                            ts
                        }

configure.args-append   -DFLATBUFFERS_OSX_BUILD_UNIVERSAL=OFF

post-destroot {
    file mkdir ${destroot}${fb_doc_dir}
    file mkdir ${destroot}${fb_share_dir}

    copy {*}[glob ${worksrcpath}/docs/*] ${destroot}${fb_doc_dir}/

    foreach lang ${fb_langs} {
        copy ${worksrcpath}/${lang} ${destroot}${fb_share_dir}/
    }
}

notes "
Flatbuffers documentation can be found in:

    ${fb_doc_dir}


Flatbuffers implementations for various programming languages can be found in:

    ${fb_share_dir}
"
