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

boost.version       1.81
# O_CLOEXEC
legacysupport.newest_darwin_requires_legacy 10

github.setup        facebookexperimental edencommon 2026.07.27.00 v
revision            1
categories          devel
license             BSD
maintainers         nomaintainer

description         Shared library for Watchman and Eden projects
long_description    {*}${description}

distname            ${name}-v${version}
checksums           rmd160  9ee3d22e001f45d853d77ee085cd076f8d83215b \
                    sha256  7be895a8d9a6eb88523488142503ce9b14d097b518967dd50b9c4cf7675c8080 \
                    size    383269
github.tarball_from archive

cmake.generator     Ninja

set port_libfmt     libfmt12
cmake.prefix_path-append \
                    ${prefix}/lib/${port_libfmt}/cmake

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

depends_lib-append  port:bzip2 \
                    port:double-conversion \
                    port:fb303 \
                    port:fbthrift \
                    port:folly \
                    port:gflags \
                    port:google-glog \
                    port:libevent \
                    port:${port_libfmt} \
                    port:libsodium \
                    port:lz4 \
                    port:mvfst \
                    port:wangle \
                    port:xxhashlib \
                    port:zlib \
                    port:zstd

patchfiles          patch-CMakeLists.diff

patchfiles-append   0001-Fix-string_view-brace-init-ambiguity-in-string_view-.patch \
                    0002-Use-_NSGetEnviron-instead-of-extern-environ-on-Apple.patch \
                    0003-SOL_LOCAL.patch \
                    0004-Honor-BUILD_TESTS-in-the-CMake-build.patch \
                    0005-Don-t-fail-telemetry-when-machdep.cpu.brand_string-d.patch

# Fix error: invalid output constraint '=@ccc' in asm
compiler.blacklist-append \
                    {clang < 1200}

compiler.cxx_standard   2020

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

if {[string match *gcc* ${configure.compiler}] && ${configure.build_arch} in [list arm i386 ppc]} {
    configure.ldflags-append  -latomic
}
