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