Skip to content

Commit

Permalink
d3dmetal: New Port
Browse files Browse the repository at this point in the history
  • Loading branch information
Gcenx authored and kencu committed May 13, 2024
1 parent 4f633fd commit cf41ed0
Showing 1 changed file with 79 additions and 0 deletions.
79 changes: 79 additions & 0 deletions devel/d3dmetal/Portfile
Original file line number Diff line number Diff line change
@@ -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

4 comments on commit cf41ed0

@Dave-Allured
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Following this commit, I am getting spectacular CI failures and aborts on an unrelated port, on Intel CI's only, macos 11, 12, and 13. The failures happen in the "Bootstrap MacPorts" phase when the port index is being constructed. Interestingly, the macos 14 CI runs correctly.

My development port built successfully on all four CI runners, just before this commit. I find this in the CI logs:

2024-05-13T06:01:21.3968040Z Creating port index in /Users/runner/work/macports-ports/macports-ports/ports
2024-05-13T06:01:22.4458650Z Error: d3dmetal requires an Apple Silicon mac
2024-05-13T06:01:22.4491760Z Failed to parse file devel/d3dmetal/Portfile: unsupported platform

So it looks like this commit has somehow broken the entire port index process. Can this be fixed or reverted?

@Dave-Allured
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: Last night when this started happening, I recall that there were three other commits to master, following my last successful CI run. It is possible that one of those other three commits corrupted the port index process, but breakage did not erupt until this commit.

@Dave-Allured
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh I see from github actions on the primary macports repo, someone is already working on this. "d3dmetal: Don't break everything."

@Dave-Allured
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See PR #23935.

Please sign in to comment.