<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a7c8c7bc3df6a97b310b3e94b37e19abf49133f3">https://github.com/macports/macports-ports/commit/a7c8c7bc3df6a97b310b3e94b37e19abf49133f3</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new a7c8c7bc3df mame: update to 0.238 - Add dev-only override specific to fallback logic, independent of override for 'os.major' - Eliminate use of 'OVERRIDE_CC' and 'OVERRIDE_CXX'; only needed for cross-compilation - Replace hard-coded LD args, with 'configure.ldflags' - Utilize 'configure.cflags', for C compilation args - Simplify CCache setup, via prepend, for 'configure.cc' and 'configure.cxx'
</span>a7c8c7bc3df is described below

<span style='display:block; white-space:pre;color:#808000;'>commit a7c8c7bc3df6a97b310b3e94b37e19abf49133f3
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Fri Nov 26 09:25:46 2021 -0500

<span style='display:block; white-space:pre;color:#404040;'>    mame: update to 0.238
</span><span style='display:block; white-space:pre;color:#404040;'>    - Add dev-only override specific to fallback logic, independent of override for 'os.major'
</span><span style='display:block; white-space:pre;color:#404040;'>    - Eliminate use of 'OVERRIDE_CC' and 'OVERRIDE_CXX'; only needed for cross-compilation
</span><span style='display:block; white-space:pre;color:#404040;'>    - Replace hard-coded LD args, with 'configure.ldflags'
</span><span style='display:block; white-space:pre;color:#404040;'>    - Utilize 'configure.cflags', for C compilation args
</span><span style='display:block; white-space:pre;color:#404040;'>    - Simplify CCache setup, via prepend, for 'configure.cc' and 'configure.cxx'
</span>---
 emulators/mame/Portfile | 65 ++++++++++++++++++++++++++++++++-----------------
 1 file changed, 42 insertions(+), 23 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/mame/Portfile b/emulators/mame/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1c24d02bc96..9473171ddb9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/emulators/mame/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/mame/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,29 +46,46 @@ if {[info exists mame.override.os.major]} {
</span>         ${os.major}
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Mame versions > 0.226 require C++ 2017, and specifically aligned allocation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# support. That's only supported by MacOS system libc++ from 10.13 onward.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# However, once MacPorts provides a custom libc++ for all ports, Mame will
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# support older MacOS releases.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# NOTE: Due to our current MacPorts build infrastructure for macOS 10.13 -
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# which uses Xcode 9.4.1, rather than Xcode 10.1 - we must revert to 0.226.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Not exactly ideal, but far better than forcing users to build from source.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${g_mame_os_major} >= 18} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set g_mame_latest yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Developer-only override, allowing easy testing of desired behavior:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# - mame.override.fallback=yes - Force use of fallback release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# - mame.override.fallback=no  - Force use of latest release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[info exists mame.override.fallback]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[string is boolean -strict ${mame.override.fallback}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_msg "mame.override.fallback specified: ${mame.override.fallback}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set g_mame_fallback \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            [string is true -strict ${mame.override.fallback}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        error "mame.override.fallback must be specified as a valid boolean value"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set g_mame_latest no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Mame versions > 0.226 require C++ 2017, and specifically aligned allocation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # support. That's only supported by MacOS system libc++ from 10.13 onward.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # However, once MacPorts provides a custom libc++ for all ports, Mame will
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # support older MacOS releases.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # NOTE: Due to our current MacPorts build infrastructure for macOS 10.13 -
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # which uses Xcode 9.4.1, rather than Xcode 10.1 - we must revert to 0.226.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Not exactly ideal, but far better than forcing users to build from source.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.platform} eq "darwin" && ${g_mame_os_major} < 18} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set g_mame_fallback yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set g_mame_fallback no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set g_mame_latest \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    [expr { !${g_mame_fallback} }]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {${g_mame_latest}} {
     set g_mame_release \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    "0237"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    "0238"
</span> 
     revision        0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums       rmd160  a185b3672e8d07ec2a199bd47e1c6d796650c0ea \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  92dc0f38ec1a2412c6b9c1403cae610bc13e1d21b4e647ab290d41215a940cae \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    186374918
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums       rmd160  8b2df0f5d6777eb9f77fafeef69d3efae314f948 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  13aa880b097832acf6cda43629f9253bcc8a340748db071028903358ffbe7faf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    186182656
</span> 
 } else {
     set g_mame_release \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -247,6 +264,10 @@ if {${g_mame_latest}} {
</span>                     2014
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Ensure local project headers take priority over others
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cflags \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -isystem${prefix}/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Note: Compiler optimization level is controlled by makefile variable 'OPTIMIZE', below.
 configure.cxxflags-delete \
                     -O1 -O2 -O3 -Os
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -264,20 +285,18 @@ if {${g_mame_os_major} >= 11} {
</span> }
 
 if {[tbool configure.ccache]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cc    ccache \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ${configure.cc}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxx   ccache \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ${configure.cxx}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cc-prepend \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${prefix}/bin/ccache
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cxx-prepend \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${prefix}/bin/ccache
</span> }
 
 build.args-append   \
                     ARCHOPTS="${configure.cxxflags}" \
                     CC="${configure.cc}" \
                     CXX="${configure.cxx}" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    OVERRIDE_CC="${configure.cc}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    OVERRIDE_CXX="${configure.cxx}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CFLAGS="-isystem${prefix}/include" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    LDOPTS="-L${prefix}/lib" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    CFLAGS="${configure.cflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    LDOPTS="${configure.ldflags}" \
</span>                     PRECOMPILE=1 \
                     TESTS=0 \
                     BENCHMARKS=0 \
</pre><pre style='margin:0'>

</pre>