<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/6f1ef5ccd6d4e76fbb65f5736f0b7141a8739f4c">https://github.com/macports/macports-ports/commit/6f1ef5ccd6d4e76fbb65f5736f0b7141a8739f4c</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 6f1ef5ccd6d Mame: Update to 0.226 (#9314)
</span>6f1ef5ccd6d is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 6f1ef5ccd6d4e76fbb65f5736f0b7141a8739f4c
</span>Author: Christopher Nielsen <62156882+mascguy@users.noreply.github.com>
AuthorDate: Fri Dec 4 15:02:01 2020 -0500

<span style='display:block; white-space:pre;color:#404040;'>    Mame: Update to 0.226 (#9314)
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Also:
</span><span style='display:block; white-space:pre;color:#404040;'>    * Fixed destroot issue for launch script: Source from ${filepath}, rather than ${distpath}.
</span><span style='display:block; white-space:pre;color:#404040;'>    * Replaced 'configure.cxxflags' with 'configure.cxxflags-delete', the latter to remove optimization level
</span><span style='display:block; white-space:pre;color:#404040;'>    * Updated maintainer with my info
</span><span style='display:block; white-space:pre;color:#404040;'>    *  Python default to 3.8
</span><span style='display:block; white-space:pre;color:#404040;'>    * Added support for test phase
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Co-authored-by: Ryan Schmidt <ryandesign@macports.org>
</span>---
 emulators/mame/Portfile                            | 442 ++++++++++++++++++++-
 ...mame-patch-0226-language-portuguese_brazil.diff |  31 ++
 ...-patch-0226-scripts-genie-compile-warnings.diff |  10 +
 .../mame/files/mame-script-template-launcher.sh    |  15 +
 4 files changed, 479 insertions(+), 19 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 392ff6ff35a..87b418076c6 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;'>@@ -1,17 +1,28 @@
</span> # -*- 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
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Portfile Style Notes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# * For cases where local variables are created within phases, they are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   explicitly unset when no longer being used. This is a conscious choice,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   and helps avoid any possible clashes elsewhere.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# * To aid readability, intermediate variables, lists, etc, are often
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   employed. While that makes the portfile longer, it also assists when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   trying to understand what is being done... aiding in diagnosing and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   debugging issues. Again, this is a conscious choice.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> PortSystem          1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup github    1.0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        mamedev mame 0206 mame
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        mamedev mame 0226 mame
</span> revision            0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  d8d5a4bbd94a8f1bb980b0ff9e2b62ea9f29e58b \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  8e4c04c724964ca0c22f65181a84261b01ca49f51f4266c084b2d6b5a81e1e8d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    145788806
</span> 
 version             [string index ${github.version} 0].[string range ${github.version} 1 end]
 categories          emulators
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {@mascguy} openmaintainer
</span> platforms           darwin
 license             GPL-2+
 homepage            https://www.mamedev.org
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,6 +34,67 @@ long_description    The purpose of MAME is to preserve decades of software histo
</span>     the hardware and how it functions. The source code to MAME serves as this \
     documentation.
 
<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;'>+#------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Patches and Checksums
</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;'>+# Patch 'language-portuguese_brazil' is only applicable to release 0.226.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Fix was submitted, and merged, by Mame maintainers... and will be part of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# official Mame releases from 0.227 onward. Net-Net, this particular patch can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# be removed starting with 0.227. Tracked by Mame 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;'>+# Conversely, patch 'scripts-genie-compile-warnings' is not specific to any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# particular Mame release. Indeed, it is technically not required at all.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# However, it eliminates spurious warnings due to use of deprecated types
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# and/or calls... and reduces pollution in the build log.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          mame-patch-0226-language-portuguese_brazil.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    mame-patch-0226-scripts-genie-compile-warnings.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  b9e4ae321b7673790d374c63bbe966d1502d6738 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  7c4c9ec232ba988e65fd29665c9b8e40b5ac3aa9f561eeb107cebbf08ba94baf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    196379874
</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;'>+# Port-Specific Globals
</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;'>+# Python version info, populated by python* variants.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set g_mame_python_info_dict \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    [dict create \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ver_major "" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ver_minor "" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        py_bin "" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        sphinx_bin "" \
</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;'>+# Documentation build targets.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set g_mame_build_targets_docs_list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    [list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "man" \
</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;'>+# Documentation build args.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note: Dynamic values populated in phase 'pre-build'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set g_mame_build_args_docs_list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    [list \
</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;'>+# Main build targets.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note: Target 'all' must be run before 'translation', or latter will fail.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set g_mame_build_targets_main_list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    [list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "all" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "translation" \
</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;'>+#------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Dependencies
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_build-append \
                     port:asio \
                     port:pkgconfig
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,20 +113,45 @@ depends_lib-append  \
</span>                     port:sqlite3 \
                     port:zlib
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note: Port 'coreutils' needed for 'grealpath', used in launcher script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_run-append  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:coreutils
</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 Options
</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;'>+use_parallel_build  yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> use_configure       no
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/mamedev/mame/issues/6004
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist  {clang < 1000}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # https://github.com/mamedev/mame/issues/3788
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.platform} eq "darwin" && ([vercmp $xcodeversion 9.0] < 0)} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxxflags-append -DMAME_DEVCB_GNUC_BROKEN_FRIEND
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# As long as we're blacklisting clangs from the affected Xcode versions,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# we don't need to add this flag.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if {${os.platform} eq "darwin" && ([vercmp $xcodeversion 9.0] < 0)} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#    configure.cxxflags-append -DMAME_DEVCB_GNUC_BROKEN_FRIEND
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#}
</span> 
 compiler.cxx_standard   2014
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note: Compiler optimization level is controlled by makefile variable 'OPTIMIZE', below.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cxxflags-delete -O1 -O2 -O3 -Os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# TODO: Disable debugging, via 'DEBUG=0'?
</span> build.args-append   ARCHOPTS="${configure.cxxflags}" \
                     CC="${configure.cc}" \
                     CXX="${configure.cxx}" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    LDOPTS="-L${prefix}/lib -lSDL2" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    OVERRIDE_CC="${configure.cc}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    OVERRIDE_CXX="${configure.cxx}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    CFLAGS="-isystem${prefix}/include" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    LDOPTS="-L${prefix}/lib" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    LDOPTS="-lSDL2" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    OPTIMIZE=2 \
</span>                     NOWERROR=1 \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    VERBOSE=1 \
</span>                     USE_LIBSDL=1 \
                     USE_SYSTEM_LIB_ASIO=1 \
                     USE_SYSTEM_LIB_EXPAT=1 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -66,20 +163,327 @@ build.args-append   ARCHOPTS="${configure.cxxflags}" \
</span>                     USE_SYSTEM_LIB_PUGIXML=1 \
                     USE_SYSTEM_LIB_SQLITE3=1 \
                     USE_SYSTEM_LIB_UTF8PROC=1 \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    USE_SYSTEM_LIB_ZLIB=1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    VERBOSE=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    USE_SYSTEM_LIB_ZLIB=1
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {$build_arch in {x86_64 ppc64}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.args-append   PTR64=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set executable  mame64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {$build_arch in [list arm64 x86_64 ppc64]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        PTR64=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set executable mame64
</span> } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.args-append   PTR64=0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set executable  mame
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        PTR64=0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set executable mame
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall ${worksrcpath}/${executable} ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Clear 'build.target', to avoid contaminating 'build.pre_args'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note that we cannot rely on default build logic, as multiple makefiles are involved.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.target
</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;'>+# Test Support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note: At the time of this writing (12/2020), Mame's test suite is quite
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# limited. And it does not require a build. But it's still worthwhile, to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# provide some basic sanity checks.
</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;'>+test.run      yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.target   tests
</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;'>+# Procs - Low Level
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Should only be called by High-Level procs!
</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;'>+# Populate global Python info dictionary, for specified version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc mame_python_populate_info {p_ver_major p_ver_minor} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global g_mame_python_info_dict
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Version info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    dict set g_mame_python_info_dict ver_major ${p_ver_major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    dict set g_mame_python_info_dict ver_minor ${p_ver_minor}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Paths to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    dict set g_mame_python_info_dict py_bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "${prefix}/bin/python${p_ver_major}.${p_ver_minor}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    dict set g_mame_python_info_dict sphinx_bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "${prefix}/bin/sphinx-build-${p_ver_major}.${p_ver_minor}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "mame_python_populate_info: g_mame_python_info_dict: ${g_mame_python_info_dict}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return 0
</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;'>+# Update dependencies, based on global Python info dictionary.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note: Proc 'mame_python_populate_info' must be called first!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc mame_python_add_deps {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global g_mame_python_info_dict
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set ver_major [dict get ${g_mame_python_info_dict} ver_major]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set ver_minor [dict get ${g_mame_python_info_dict} ver_minor]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "port:python${ver_major}${ver_minor}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "port:py${ver_major}${ver_minor}-sphinx" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "port:py${ver_major}${ver_minor}-sphinxcontrib-svg2pdfconverter"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return 0
</span> }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Procs - High Level - Variant Support
</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;'>+proc mame_variant_tools_setup {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "TOOLS=1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return 0
</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;'>+# Wrapper for python* variants to call, limiting copy-and-paste mayhem.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc mame_variant_python_setup {p_ver_major p_ver_minor} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mame_python_populate_info ${p_ver_major} ${p_ver_minor}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mame_python_add_deps
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return 0
</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;'>+#------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Procs - High Level - Phase Support
</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;'>+proc mame_build_run {p_work_path p_target p_build_args_list} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global build.cmd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global build.jobs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global build.pre_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "mame_build_run: p_work_path: ${p_work_path}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "mame_build_run: p_target: ${p_target}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "mame_build_run: p_build_args_list: ${p_build_args_list}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set build_cmd_line \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "${build.cmd} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --jobs=${build.jobs} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            [join ${build.pre_args}] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${p_target} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            [join ${p_build_args_list}]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "mame_build_run: build_cmd_line: ${build_cmd_line}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${p_work_path} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${build_cmd_line}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return 0
</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;'>+#------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Variants
</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;'>+variant tools \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        description {Compile and install the mame tools like chdman and others} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mame_variant_tools_setup
</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;'>+variant python36 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        description {Use python 3.6 for build} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        conflicts python37 python38 python39 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mame_variant_python_setup 3 6
</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;'>+variant python37 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        description {Use python 3.7 for build} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        conflicts python36 python38 python39 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mame_variant_python_setup 3 7
</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;'>+variant python38 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        description {Use python 3.8 for build} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        conflicts python36 python37 python39 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mame_variant_python_setup 3 8
</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;'>+variant python39 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        description {Use python 3.9 for build} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        conflicts python36 python37 python38 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mame_variant_python_setup 3 9
</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;'>+default_variants   +tools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Universal variant is untested
 universal_variant   no
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Ensure one python* variant is selected by default, if not specified by user
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![variant_isset python36] && ![variant_isset python37] && ![variant_isset python38] && ![variant_isset python39]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants +python38
</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;'>+#------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Phases
</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;'>+pre-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Update build args for documentation build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set sphinx_bin [dict get ${g_mame_python_info_dict} sphinx_bin]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set build_args_docs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "SPHINXBUILD=${sphinx_bin}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set g_mame_build_args_docs_list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [concat \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${g_mame_build_args_docs_list} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${build_args_docs} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    unset build_args_docs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    unset sphinx_bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Update build args for main build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set py_bin [dict get ${g_mame_python_info_dict} py_bin]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "PYTHON_EXECUTABLE=${py_bin}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    unset py_bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "Phase pre-build: g_mame_build_args_docs_list: ${g_mame_build_args_docs_list}"
</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;'>+# Override the standard build phase, to include both documentation and code
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Documentation build; iterate over targets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach target ${g_mame_build_targets_docs_list} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_msg "Building documentation target: ${target}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        mame_build_run \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "${worksrcpath}/docs" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${target} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${g_mame_build_args_docs_list}
</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;'>+    # Main build; iterate over targets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach target ${g_mame_build_targets_main_list} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_msg "Building main target: ${target}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        mame_build_run \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${target} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${build.args}
</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;'>+    unset target
</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;'>+destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set mame_target_dir "${destroot}${prefix}/libexec/mame"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set mame_share_dir "${destroot}${prefix}/share/mame"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Main
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${mame_target_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/${executable} ${mame_target_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/artwork ${mame_target_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/bgfx ${mame_target_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${mame_target_dir}/cfg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${mame_target_dir}/cheat
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${mame_target_dir}/comments
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${mame_target_dir}/crsshair
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/ctrlr ${mame_target_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${mame_target_dir}/diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${mame_target_dir}/fonts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/hash ${mame_target_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/hlsl ${mame_target_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/ini ${mame_target_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${mame_target_dir}/inp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/keymaps ${mame_target_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/language ${mame_target_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${mame_target_dir}/nvram
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/plugins ${mame_target_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/roms ${mame_target_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/samples ${mame_target_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/scripts ${mame_target_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${mame_target_dir}/software
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${mame_target_dir}/snap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${mame_target_dir}/sta
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Docs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${mame_share_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/docs/build/man ${mame_share_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Tools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset tools]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 755 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/aueffectutil \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/castool \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/chdman \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/floptool \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/imgtool \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/jedutil \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/ldresample \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/ldverify \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/nltool \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/nlwav \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/pngcmp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/regrep \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/romcmp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/split \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/srcclean \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/testkeys \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/unidasm \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${mame_target_dir}
</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;'>+    unset mame_share_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    unset mame_target_dir
</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;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set mp_man_dest_dir "${destroot}${prefix}/share/man/man1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set mame_target_dir "${destroot}${prefix}/libexec/mame"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set mame_share_dir "${destroot}${prefix}/share/mame"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set mame_launch_script "${mame_target_dir}/mame.sh"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set mame_launch_link "${destroot}${prefix}/bin/mame"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Create launch wrapper script
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall ${filespath}/mame-script-template-launcher.sh \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${mame_launch_script}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Substitute placeholder with real executable name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@@MACPORTS_MAME_EXECUTABLE@@|${executable}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${mame_launch_script}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Create soft link 'mame', to launch wrapper script
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ln -s "${prefix}/libexec/mame/mame.sh" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${mame_launch_link}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Create soft link to man page
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d -m 755 ${mp_man_dest_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ln -s "${prefix}/share/mame/man/MAME.1" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "${mp_man_dest_dir}/mame.1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    unset mame_launch_link
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    unset mame_launch_script
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    unset mame_share_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    unset mame_target_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    unset mp_man_dest_dir
</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;'>+#------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Notes
</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;'>+notes {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Mame is launched via command 'mame'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    If a blank screen is encountered, press ESC to exit, and then re-launch\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    with an alternative video option.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Examples:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        mame -video accel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        mame -video opengl
</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 {[variant_isset tools]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    notes-append {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    --------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Mame tools are available in path ${prefix}/libexec/mame
</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;color:#808080;'>diff --git a/emulators/mame/files/mame-patch-0226-language-portuguese_brazil.diff b/emulators/mame/files/mame-patch-0226-language-portuguese_brazil.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d87815240bc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/mame/files/mame-patch-0226-language-portuguese_brazil.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,31 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- language/Portuguese_Brazil/strings.po  2020-11-26 15:11:29.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ language/Portuguese_Brazil/strings.po  2020-11-26 15:14:15.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1690,7 +1690,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #: src/frontend/mame/ui/selgame.cpp:1136
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ msgid "Mag. Drum\tImperfect\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-msgstr "Cab. Mag.\Imperfeito\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++msgstr "Cab. Mag.\tImperfeito\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #: src/frontend/mame/ui/selgame.cpp:1139
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ msgid "(EP)ROM\tUnimplemented\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3020,15 +3020,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ msgid ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "Use this if you want to poke the Slot 1 value (eg. You started with "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "something but lost it)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-msgstr "Use isto se quiser fazer um poke o Slot 1 (Quando você
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-começa com algo mas o perde)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++msgstr "Use isto se quiser fazer um poke o Slot 1 (Quando você "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"começa com algo mas o perde)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #: plugins/cheatfind/init.lua:740
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ msgid ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "Use this if you want to poke the Last Slot value (eg. You started without an "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "item but finally got it)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-msgstr "Use isto se quiser fazer um poke com o valor do Último Slot (Quando você começa
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-sem um item e depois você o consegue por exemplo)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++msgstr "Use isto se quiser fazer um poke com o valor do Último Slot (Quando você começa "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"sem um item e depois você o consegue por exemplo)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #: plugins/cheatfind/init.lua:742
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ msgid "Use this if you want to poke 0x00"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/mame/files/mame-patch-0226-scripts-genie-compile-warnings.diff b/emulators/mame/files/mame-patch-0226-scripts-genie-compile-warnings.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..9199feb37a1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/mame/files/mame-patch-0226-scripts-genie-compile-warnings.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scripts/genie.lua      2020-11-28 16:02:27.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scripts/genie.lua      2020-11-28 17:01:38.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1002,6 +1002,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           "-Wno-sign-compare",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           "-Wno-conversion",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           "-Wno-error=deprecated-declarations",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          "-Wno-deprecated-declarations",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- warnings only applicable to C compiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   buildoptions_c {
</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>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5384743998c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</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;'>@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#!/bin/bash
</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;'>+# Obtain path to script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note that 'grealpath' provides reliable soft-link resolution, without requiring
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# any Bash gymnastics.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+script_file=$(grealpath "${0}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+script_dir=$(dirname "${script_file}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cd "${script_dir}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+./@@MACPORTS_MAME_EXECUTABLE@@ "${@}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>

</pre>