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