diff --git a/devel/d3dmetal/Portfile b/devel/d3dmetal/Portfile new file mode 100644 index 0000000000000..bcedfe05935c6 --- /dev/null +++ b/devel/d3dmetal/Portfile @@ -0,0 +1,79 @@ +# -*- 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 1.1 +epoch 0 +categories devel +maintainers {@Gcenx gmail.com:gcenx83} +homepage https://developer.apple.com/games +platforms {darwin any >= 23} +license Restrictive +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_${version}/Game_Porting_Toolkit_${version}.dmg +distname Game_Porting_Toolkit_${version} +use_dmg yes + +checksums rmd160 0f40a2f7c4bf6a319fff915dacbceb8e473df1b1 \ + sha256 2a86518d7fce89c304266654a76107d395a9a7557225096b73a834893482b7f1 \ + size 27956812 + +pre-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}" + 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 useless stubs + file delete ${destroot}${d3dmetal}/wine/x86_64-unix/d3d9.so + file delete ${destroot}${d3dmetal}/wine/x86_64-windows/d3d9.dll + 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 { + try { + set is_rosetta2 [exec sysctl -in sysctl.proc_translated] + if { ${is_rosetta2} != 1 } { + ui_error "${name} requires an Apple Silicon mac" + return -code error "unsupported platform" + } + } +} + +livecheck.type none