# -*- 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           boost 1.0
PortGroup           cmake 1.1
PortGroup           github 1.0
PortGroup           legacysupport 1.1
PortGroup           openssl 1.0

# O_CLOEXEC
legacysupport.newest_darwin_requires_legacy 10

boost.version       1.81

github.setup        facebookincubator fizz 2026.07.27.00 v
revision            1
categories          devel
license             BSD
maintainers         {@barracuda156 macos-powerpc.org:barracuda}

description         ${name} is a TLS 1.3 implementation
long_description    {*}${description}

checksums           rmd160  39177db2a626c9697c14a5619ad1da6368681165 \
                    sha256  3696bf51cf033adef5a24f09b7d68c88d1abde59467e2400451710112401b9b6 \
                    size    847260
github.tarball_from releases
distname            ${name}-v${version}
extract.mkdir       yes

cmake.source_dir    ${worksrcpath}/${name}

set libfmt_v        12
cmake.prefix_path-append \
                    ${prefix}/lib/libfmt${libfmt_v}/cmake
depends_lib-append  port:bzip2 \
                    port:double-conversion \
                    port:folly \
                    port:gflags \
                    port:google-glog \
                    port:libevent \
                    port:libfmt${libfmt_v} \
                    port:liboqs \
                    port:libsodium \
                    port:lz4 \
                    port:zlib \
                    port:zstd

# Fix error: invalid output constraint '=@ccc' in asm
compiler.blacklist-append \
                    {clang < 1200}
# Requires C++20 now:
compiler.cxx_standard   2020

cmake.generator     Ninja

configure.args-append \
                    -DBUILD_TESTS=OFF \
                    -DBUILD_SHARED_LIBS=ON

# There is a configure check, but it is broken:
# https://github.com/facebookincubator/fizz/issues/139
if {[string match *gcc* ${configure.compiler}] && ${configure.build_arch} in [list arm i386 ppc]} {
    # ___atomic_fetch_add_8
    configure.ldflags-append  -latomic
}
