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

github.setup        macfuse macfuse 4.10.2 macfuse-
name                macfuse4
revision            0
conflicts           macfuse osxfuse
categories          fuse
platforms           {darwin >= 13}
supported_archs     arm64 x86_64
license             Restrictive
maintainers         {makr @mohd-akram} {ra1nb0w @ra1nb0w} openmaintainer

description         FUSE for macOS

long_description    FUSE extends macOS by adding support for user space file \
                    systems.

homepage            https://macfuse.github.io/

use_dmg             yes

checksums           rmd160  85f2837123a9185d5123b6f4bed737335e11c059 \
                    sha256  fcca8ec48742288dccdd36db65bb92c4fe4bc23c2c7c5b76aa0ac68e06aebe88 \
                    size    6476618

set pkg             ${workpath}/pkg/Core.pkg

post-extract {
    system -W ${worksrcpath} \
        "pkgutil --expand 'Extras/macFUSE ${version}.pkg' ${workpath}/pkg"
    system -W ${pkg} "gzip -dc Payload | cpio -id"
}

use_configure       no

set fs_dir          /Library/Filesystems
set dir             ${fs_dir}/macfuse.fs

build {
    system -W ${pkg} "install_name_tool -id ${prefix}/lib/libfuse.2.dylib \
        usr/local/lib/libfuse.2.dylib"
    system -W ${pkg} "install_name_tool -id ${prefix}/lib/libfuse3.4.dylib \
        usr/local/lib/libfuse3.4.dylib"
    system -W ${pkg} "install_name_tool \
        -id ${prefix}/Library/Frameworks/macFUSE.framework/Versions/A/macFUSE \
        -change /usr/local/lib/libfuse.2.dylib ${prefix}/lib/libfuse.2.dylib \
        Library/Frameworks/macFUSE.framework/Versions/A/macFUSE"
    system -W ${pkg} "codesign -fs - \
        usr/local/lib/libfuse.2.dylib \
        usr/local/lib/libfuse3.4.dylib \
        Library/Frameworks/macFUSE.framework/Versions/A/macFUSE"
    reinplace "s|/usr/local|${prefix}|g" {*}[glob ${pkg}/usr/local/lib/pkgconfig/*]
}

destroot {
    copy ${pkg}${fs_dir} ${destroot}${prefix}/Library
    xinstall -W ${pkg}${dir}/Contents/Resources -m 4755 load_macfuse mount_macfuse \
        ${destroot}${prefix}${dir}/Contents/Resources

    copy {*}[glob ${pkg}/Library/Frameworks/*] ${destroot}${prefix}/Library/Frameworks

    copy {*}[glob ${pkg}/usr/local/include/*] ${destroot}${prefix}/include
    copy {*}[glob -type f ${pkg}/usr/local/lib/*] ${destroot}${prefix}/lib
    copy {*}[glob ${pkg}/usr/local/lib/pkgconfig/*] ${destroot}${prefix}/lib/pkgconfig
}

variant fs_link description "Link ${name} to a .fs bundle in /Library/Filesystems" {
    post-destroot {
        xinstall -d ${destroot}${fs_dir}
        ln -sf ${prefix}${dir} ${destroot}${dir}
    }

    destroot.violate_mtree  yes
}

if {![variant_isset fs_link]} {
    notes "
    Run the following before using macFUSE:

        sudo ln -fsn ${prefix}${dir} ${dir}

    Alternatively, use the +fs_link variant to automatically create this symlink.
    "
}

livecheck.type  none
