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

name                d3dmetal
version             2.1
epoch               1
categories          devel
maintainers         {@Gcenx gmail.com:gcenx83}
homepage            https://developer.apple.com/games
platforms           {darwin any >= 23}
license             Restrictive
# Yes this only supports x86_64 and only works on Apple Silicon
supported_archs     x86_64
description         Direct3D to Metal translation layer
long_description    {*}${description}
master_sites        https://download.developer.apple.com/Developer_Tools/Game_Porting_Toolkit_1.1

# https://trac.macports.org/wiki/PortfileRecipes#stealth-updates
dist_subdir         ${name}/${version}_1
distname            Evaluation_environment_for_Windows_games_${version}
use_dmg             yes

checksums           rmd160  082064a1d759fddb3b7c9d6f40bbf7febc19e22f \
                    sha256  6356dbb2bf315334bc5095ce09ca564ec6dd73cebbc8eb249e3a28a8484edb9e \
                    size    28635302

fetch {
    if {![file isfile ${distpath}/${distfiles}]} {
        ui_error "This port cannot download the needed files automatically."
        ui_error "Please log in to your Apple Developer account at:"
        ui_error ""
        ui_error "https://developer.apple.com/download/"
        ui_error ""
        ui_error "Then paste this URL into your browser:"
        ui_error ""
        ui_error "${master_sites}/${distname}${extract.suffix}"
        ui_error ""
        ui_error "Place the downloaded file in this directory:"
        ui_error ""
        ui_error "${distpath}"
        ui_error ""
        ui_error "Then retry installing this port."
        ui_error ""
        return -code error "${distfiles} missing"
    }
}

use_configure       no
build {}

set d3dmetal        ${prefix}/libexec/d3dmetal
set docdir          ${prefix}/share/doc/${subport}

destroot {
    xinstall -d ${destroot}${d3dmetal}
    system "ditto ${worksrcpath}/redist/lib ${destroot}${d3dmetal}"

    xinstall -d ${destroot}${docdir}
    xinstall -m 0644 -W ${worksrcpath} Acknowledgements.rtf License.rtf "Read Me.rtf" ${destroot}${docdir}

    # Remove broken symlink
    file delete ${destroot}${d3dmetal}/external/D3DMetal.framework/Headers

    # Remove useless stubs
    file delete ${destroot}${d3dmetal}/wine/x86_64-unix/d3d10.so
    file delete ${destroot}${d3dmetal}/wine/x86_64-windows/d3d10.dll
}

notes "
    Please review the D3DMetal documentation found at ${docdir}
"

platform darwin i386 {
    pre-fetch {
        if {${os.major} >= 23} {
            set is_rosetta2 [exec sysctl -in sysctl.proc_translated]
            if { ${is_rosetta2} != 1 } {
                error "$name does not work on Intel hardware"
            }
        }
    }
}

livecheck.type      none
