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

name                fuse-t
# https://github.com/macos-fuse-t/fuse-t/issues/92
github.setup        macos-fuse-t libfuse 2e7803a20eaa1cc0b136014033297392071191ac
version             1.0.49
revision            0
categories          fuse devel
license             GPL-2
maintainers         nomaintainer
description         FUSE-T is a kext-less implementation of FUSE for macOS
long_description    {*}${description}
checksums           rmd160  db3c0616f8e548a6e1b098038efc05ee8f9a9d7a \
                    sha256  7bf951507c0cc891cc3299e16678b45f1459cd848e7790c5e40da2771a6c901e \
                    size    172953
github.tarball_from archive

conflicts           osxfuse macfuse

cmake.generator     Ninja

depends_lib-append  port:libiconv

# https://github.com/macos-fuse-t/libfuse/issues/6
# https://github.com/macos-fuse-t/libfuse/issues/7
patchfiles          patch-CMakeLists.txt

# https://github.com/macos-fuse-t/libfuse/issues/9
patchfiles-append   fuse.c.patch

# fuse_misc.h:48:39: error: 'const struct stat' has no member named 'st_mtimespec'; did you mean 'st_mtimensec'?
patchfiles-append   fuse_misc.h.patch

# https://github.com/macos-fuse-t/libfuse/issues/8
if {[string match *gcc* ${configure.compiler}]} {
    patchfiles-append \
                    fuse_kern_chan-get-rid-of-clangisms.patch
}

compiler.c_standard 2023

# https://github.com/macos-fuse-t/libfuse/issues/10
destroot {
    copy ${cmake.build_dir}/lib/libfuse-t.a ${destroot}${prefix}/lib/
    copy ${cmake.build_dir}/lib/libfuse-t.dylib ${destroot}${prefix}/lib/
    set incdir ${prefix}/include/osxfuse
    xinstall -d ${destroot}${incdir}
    copy ${worksrcpath}/include/old/fuse.h ${destroot}${incdir}/
    delete -f ${worksrcpath}/include/config.h
    delete -f ${worksrcpath}/include/old
    delete -f ${worksrcpath}/include/stamp-h1
    move ${worksrcpath}/include ${destroot}${incdir}/fuse
    xinstall -m 755 ${cmake.build_dir}/example/fusexmp ${destroot}${prefix}/bin/
    xinstall -m 755 ${cmake.build_dir}/example/fusexmp_fh ${destroot}${prefix}/bin/
}
