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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9c7d3582b8f2511b1d22b60ddf94062f015e31be">https://github.com/macports/macports-ports/commit/9c7d3582b8f2511b1d22b60ddf94062f015e31be</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 9c7d3582b8f mame: update for 0.227; update launch script to improve user experience
</span>9c7d3582b8f is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 9c7d3582b8f2511b1d22b60ddf94062f015e31be
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Thu Jan 7 22:27:28 2021 -0500

<span style='display:block; white-space:pre;color:#404040;'>    mame: update for 0.227; update launch script to improve user experience
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/61976
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/61743
</span>---
 emulators/mame/Portfile                            | 151 ++++++++++++++-------
 .../mame/files/mame-script-template-launcher.sh    |  16 ++-
 2 files changed, 116 insertions(+), 51 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 027977dbdb5..aae7321dcda 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;'>@@ -14,52 +14,83 @@ PortSystem          1.0
</span> PortGroup           github 1.0
 PortGroup           compiler_blacklist_versions 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        mamedev mame 0226 mame
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version             [string index ${github.version} 0].[string range ${github.version} 1 end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                mame
</span> categories          emulators
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         {@mascguy} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    openmaintainer
</span> platforms           darwin
 license             GPL-2+
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            https://www.mamedev.org
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {@mascguy} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    openmaintainer
</span> 
 description         Multiple Arcade Machine Emulator
<span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description    The purpose of MAME is to preserve decades of software history. As \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    electronic technology continues to rush forward, MAME prevents this important \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    "vintage" software from being lost and forgotten. This is achieved by documenting \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    the hardware and how it functions. The source code to MAME serves as this \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    The purpose of MAME is to preserve decades of software history. As electronic \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    technology continues to rush forward, MAME prevents this important "vintage" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    software from being lost and forgotten. This is achieved by documenting the \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    hardware and how it functions. The source code to MAME serves as this \
</span>     documentation.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-github.tarball_from archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://www.mamedev.org
</span> 
 #------------------------------------------------------------------------------
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Patches and Checksums
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Versions, Patches, and Checksums
</span> #------------------------------------------------------------------------------
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Patch 'language-portuguese_brazil' applies to release 0.226; fixes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# errors during translation build phase.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Fix submitted, and merged, by Mame maintainers; will be part of Mame
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# releases from 0.227 onward. Tracked by Mame issue:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/mamedev/mame/issues/7510
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Patch 'src-posixfile-build-error' applies to release 0.226; fixes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# compilation errors for MacOS 10.8 and Xcode 5.x.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Fix submitted, and merged, by Mame maintainers; will be part of Mame
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# releases from 0.227 onward. Tracked by Mame issue:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/mamedev/mame/issues/7536
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Patch 'scripts-genie-compile-warnings' applies to all releases; greatly
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# reduces compilation warnings.
</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;'>+if {${os.major} >= 17} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set g_mame_latest 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_latest no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${g_mame_latest}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set g_mame_release \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    "0227"
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          mame-patch-0226-language-portuguese_brazil.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    mame-patch-0226-src-posixfile-build-error.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    mame-patch-0226-scripts-genie-compile-warnings.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision        0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  b9e4ae321b7673790d374c63bbe966d1502d6738 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums       \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  862df6a449329fe5b16e6d46a030fe157c3a8eb3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  95dbce00a4f05a35f66ef966fe9efad1e4e78ce62e0eba3f7031dfa6737829a5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    195226157
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set g_mame_release \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    "0226"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision        3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Patch 'language-portuguese_brazil' applies to release 0.226; fixes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # errors during translation build phase.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Merged into Mame releases from 0.227 onward. Tracked by issue:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/mamedev/mame/issues/7510
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Patch 'src-posixfile-build-error' applies to release 0.226; fixes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # compilation errors for MacOS 10.8 and Xcode 5.x.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Merged into Mame releases from 0.227 onward. Tracked by issue:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/mamedev/mame/issues/7536
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles      \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    mame-patch-0226-language-portuguese_brazil.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    mame-patch-0226-src-posixfile-build-error.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums       \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  b9e4ae321b7673790d374c63bbe966d1502d6738 \
</span>                     sha256  7c4c9ec232ba988e65fd29665c9b8e40b5ac3aa9f561eeb107cebbf08ba94baf \
                     size    196379874
<span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note: For user-presentable version string, we add a period between the first
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# two characters of release. So '0227', for example, becomes '0.227'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set g_mame_version_string \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    [string index ${g_mame_release} 0].[string range ${g_mame_release} 1 end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        mamedev mame ${g_mame_release} mame
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note: Version declaration must occur after 'github.setup', as the latter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# sets our version whether we want it or not.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             ${g_mame_version_string}
</span> 
 #------------------------------------------------------------------------------
 # Port-Specific Globals
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -170,7 +201,8 @@ use_configure       no
</span> build.cmd           ${prefix}/bin/gmake
 
 # https://github.com/mamedev/mame/issues/6004
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist  {clang < 1000}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    {clang < 1000}
</span> 
 # https://github.com/mamedev/mame/issues/3788
 # As long as we're blacklisting clangs from the affected Xcode versions,
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -179,20 +211,37 @@ compiler.blacklist  {clang < 1000}
</span> #    configure.cxxflags-append -DMAME_DEVCB_GNUC_BROKEN_FRIEND
 #}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.cxx_standard   2014
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${g_mame_latest}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compiler.cxx_standard 2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compiler.cxx_standard 2014
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 # Note: Compiler optimization level is controlled by makefile variable 'OPTIMIZE', below.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cxxflags-delete -O1 -O2 -O3 -Os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cxxflags-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -O1 -O2 -O3 -Os
</span> 
 # Note: Linker flag '-no_deduplicate' is absolutely vital, ensuring that 'ld'
 # finishes quickly. Without it, the final link time increases by a factor of
 # 10x for a release build... and 50x for a debug build! (The latter can take
 # 50+ minutes without it.)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cxxflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note: Linker dedupe support not present in version of MacPorts 'ld', for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# macOS 10.6 and earlier.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.major} >= 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cxxflags-append \
</span>                     -Xlinker -no_deduplicate \
                     -Wno-unused-command-line-argument
<span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args-append   ARCHOPTS="${configure.cxxflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[tbool configure.ccache]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cc    ccache \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${configure.cc}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cxx   ccache \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${configure.cxx}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args-append   \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ARCHOPTS="${configure.cxxflags}" \
</span>                     CC="${configure.cc}" \
                     CXX="${configure.cxx}" \
                     OVERRIDE_CC="${configure.cc}" \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -230,11 +279,6 @@ build.target
</span> 
 build.post_args
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[tbool configure.ccache]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.post_args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        "CCACHE=ccache"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # Ensure 'g_mame_build_arch_64' set early, as it's needed later
 if {$build_arch in [list arm64 x86_64 ppc64]} {
     set g_mame_build_arch_64  1
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -250,8 +294,8 @@ if {$build_arch in [list arm64 x86_64 ppc64]} {
</span> # sanity checks.
 #------------------------------------------------------------------------------
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-test.run      yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.target   tests
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.run            yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.target         tests
</span> 
 #------------------------------------------------------------------------------
 # Developer-Only Command-Line Overrides
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -268,6 +312,13 @@ if {[info exists mame.override.build.bgfx]} {
</span>         [string is true ${mame.override.build.bgfx}]
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[info exists mame.override.build.gmake.args]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_msg "mame.override.build.gmake.args specified: ${mame.override.build.gmake.args}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.pre_args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${mame.override.build.gmake.args}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #------------------------------------------------------------------------------
 # Procs - Bootstrap
 #------------------------------------------------------------------------------
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -452,6 +503,9 @@ proc mame_build_run {p_work_path p_makefile p_target p_build_args_list} {
</span> # Variants
 #------------------------------------------------------------------------------
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Universal variant is untested
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+universal_variant no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> variant debug \
         description {Enable debug support} {
     mame_variant_debug_setup
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -480,14 +534,13 @@ variant python39 \
</span>     mame_variant_python_setup 3 9
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-default_variants   +tools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Universal variant is untested
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-universal_variant   no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    +tools
</span> 
 # Ensure one python* variant is selected by default, if not specified by user
 if {![variant_isset python37] && ![variant_isset python38] && ![variant_isset python39]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    default_variants +python38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        +python38
</span> }
 
 #------------------------------------------------------------------------------
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/mame/files/mame-script-template-launcher.sh b/emulators/mame/files/mame-script-template-launcher.sh
</span><span style='display:block; white-space:pre;color:#808080;'>index 5384743998c..db4cac21104 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/emulators/mame/files/mame-script-template-launcher.sh
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/mame/files/mame-script-template-launcher.sh
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,7 +9,19 @@
</span> script_file=$(grealpath "${0}")
 script_dir=$(dirname "${script_file}")
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-cd "${script_dir}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmd="${script_dir}/@@MACPORTS_MAME_EXECUTABLE@@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bgfx_path="${script_dir}/bgfx"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+languagepath="${script_dir}/language"
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-./@@MACPORTS_MAME_EXECUTABLE@@ "${@}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmdline=()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmdline+=( "${cmd}" )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmdline+=( -bgfx_path "${bgfx_path}" )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmdline+=( -languagepath "${languagepath}" )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note that Mame handles duplicate arguments, using the last one found.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Net-Net, there's no need to check whether the user specified the same
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# parameters, as theirs will take precedence.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"${cmdline[@]}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"${@}"
</span> 
</pre><pre style='margin:0'>

</pre>