<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/f5b8447521ffa1e79de726a6f904b4955618bac5">https://github.com/macports/macports-ports/commit/f5b8447521ffa1e79de726a6f904b4955618bac5</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 f5b8447521f mame: fix for macOS 10.13 builds; portfile cleanup
</span>f5b8447521f is described below
<span style='display:block; white-space:pre;color:#808000;'>commit f5b8447521ffa1e79de726a6f904b4955618bac5
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Sun Jan 10 17:30:10 2021 -0500
<span style='display:block; white-space:pre;color:#404040;'> mame: fix for macOS 10.13 builds; portfile cleanup
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Fixes: https://trac.macports.org/ticket/62049
</span><span style='display:block; white-space:pre;color:#404040;'> Fixes: https://trac.macports.org/ticket/61739
</span>---
emulators/mame/Portfile | 117 ++++++++++++++++++++++++++++++++----------------
1 file changed, 79 insertions(+), 38 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 aae7321dcda..847852b6d7a 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;'>@@ -35,11 +35,26 @@ homepage https://www.mamedev.org
</span> # Versions, Patches, and Checksums
#------------------------------------------------------------------------------
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Developer-only override for os.major, allowing rapid testing of platform-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# specific logic.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[info exists mame.override.os.major]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "mame.override.os.major specified: ${mame.override.os.major}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set g_mame_os_major \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${mame.override.os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set g_mame_os_major \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Mame versions > 0.226 require C++ 2017, and specifically aligned allocation
# support. That's only supported by MacOS system libc++ from 10.13 onward.
# However, once MacPorts provides a custom libc++ for all ports, Mame will
# support older MacOS releases.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.major} >= 17} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# NOTE: Due to our current MacPorts build infrastructure for macOS 10.13 -
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# which uses Xcode 9.4.1, rather than Xcode 10.1 - we must revert to 0.226.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Not exactly ideal, but far better than forcing users to build from source.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${g_mame_os_major} >= 18} {
</span> set g_mame_latest yes
} else {
set g_mame_latest no
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -83,7 +98,11 @@ if {${g_mame_latest}} {
</span> # Note: For user-presentable version string, we add a period between the first
# two characters of release. So '0227', for example, becomes '0.227'.
set g_mame_version_string \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- [string index ${g_mame_release} 0].[string range ${g_mame_release} 1 end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [append g_mame_version_string \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [string index ${g_mame_release} 0] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "." \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [string range ${g_mame_release} 1 end] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ]
</span>
github.setup mamedev mame ${g_mame_release} mame
github.tarball_from archive
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -212,9 +231,11 @@ compiler.blacklist \
</span> #}
if {${g_mame_latest}} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- compiler.cxx_standard 2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compiler.cxx_standard \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2017
</span> } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- compiler.cxx_standard 2014
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compiler.cxx_standard \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2014
</span> }
# Note: Compiler optimization level is controlled by makefile variable 'OPTIMIZE', below.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -227,7 +248,7 @@ configure.cxxflags-delete \
</span> # 50+ minutes without it.)
# Note: Linker dedupe support not present in version of MacPorts 'ld', for
# macOS 10.6 and earlier.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.major} >= 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${g_mame_os_major} >= 11} {
</span> configure.cxxflags-append \
-Xlinker -no_deduplicate \
-Wno-unused-command-line-argument
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -312,6 +333,7 @@ if {[info exists mame.override.build.bgfx]} {
</span> [string is true ${mame.override.build.bgfx}]
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Support for additional gmake arguments
</span> if {[info exists mame.override.build.gmake.args]} {
ui_msg "mame.override.build.gmake.args specified: ${mame.override.build.gmake.args}"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -468,6 +490,47 @@ proc mame_get_tools_list {p_dir p_fn_prefix} {
</span> return ${mame_tools_list}
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+proc mame_get_dir_create_list {p_target_dir p_share_dir} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set mame_dir_create_list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_target_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_target_dir}/cfg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_target_dir}/cheat \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_target_dir}/comments \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_target_dir}/crsshair \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_target_dir}/diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_target_dir}/fonts \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_target_dir}/inp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_target_dir}/nvram \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_target_dir}/software \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_target_dir}/snap \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_target_dir}/sta \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_share_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;'>+ return ${mame_dir_create_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;'>+proc mame_get_copy_list {p_release_dir p_worksrcpath p_executable} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set mame_copy_list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_release_dir}/${p_executable} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_worksrcpath}/artwork \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_worksrcpath}/bgfx \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_release_dir}/ctrlr \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_release_dir}/hash \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_worksrcpath}/hlsl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_release_dir}/ini \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_worksrcpath}/keymaps \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_release_dir}/language \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_worksrcpath}/plugins \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_release_dir}/roms \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${p_worksrcpath}/samples \
</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;'>+ return ${mame_copy_list}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #------------------------------------------------------------------------------
# Procs - High Level - Phase Support
#------------------------------------------------------------------------------
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -684,6 +747,7 @@ post-build {
</span> }
# Copy generated Mame man page, joining pre-generated files for Tools
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "Phase post-build: Copying man page: mame.1"
</span> copy "${worksrcpath}/docs/build/man/MAME.1" \
"${mame_release_doc_dir}/mame.1"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -709,24 +773,12 @@ pre-destroot {
</span> set mame_target_dir "${destroot}${prefix}/libexec/mame"
set mame_share_dir "${destroot}${prefix}/share/mame"
set mame_dir_create_list \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- [list \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_target_dir} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_target_dir}/cfg \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_target_dir}/cheat \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_target_dir}/comments \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_target_dir}/crsshair \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_target_dir}/diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_target_dir}/fonts \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_target_dir}/inp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_target_dir}/nvram \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_target_dir}/software \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_target_dir}/snap \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_target_dir}/sta \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_share_dir} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [mame_get_dir_create_list ${mame_target_dir} ${mame_share_dir}]
</span>
# Create directories
foreach tgt ${mame_dir_create_list} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ set dn [file tail ${tgt}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "Phase pre-destroot: creating directory: ${dn}"
</span> xinstall -d ${tgt}
}
unset tgt
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -741,27 +793,14 @@ destroot {
</span> set mame_share_dir "${destroot}${prefix}/share/mame"
set mame_release_dir \
[mame_get_release_dir]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ set mame_copy_list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [mame_get_copy_list ${mame_release_dir} ${worksrcpath} ${executable}]
</span>
ui_debug "Phase destroot: mame_release_dir: ${mame_release_dir}"
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set mame_copy_list \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [list \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_release_dir}/${executable} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/artwork \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/bgfx \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_release_dir}/ctrlr \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_release_dir}/hash \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/hlsl \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_release_dir}/ini \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/keymaps \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_release_dir}/language \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/plugins \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${mame_release_dir}/roms \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/samples \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # Copy content
foreach tgt ${mame_copy_list} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "Phase destroot: Copying content: ${tgt}"
</span> copy ${tgt} ${mame_target_dir}
}
# For Tools, prefix each command with defined prefix
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -772,6 +811,7 @@ destroot {
</span> set fn [file tail ${tgt}]
set fn_dest "${mame_target_dir}/${g_mame_tools_prefix}${fn}"
if {[file exists ${tgt}]} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "Phase destroot: Copying tool: ${fn}"
</span> copy ${tgt} ${fn_dest}
} else {
# Distribution doesn't copy everything, so fall back to worksrcdir
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -779,14 +819,15 @@ destroot {
</span> copy "${worksrcpath}/${fn}" ${fn_dest}
}
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ unset mame_tools_list
</span> }
unset tgt
# Copy all docs
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "Phase destroot: Copying docs"
</span> copy "${mame_release_dir}/docs" \
${mame_share_dir}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- unset mame_tools_list
</span> unset mame_copy_list
unset mame_release_dir
unset mame_share_dir
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -801,6 +842,7 @@ post-destroot {
</span> set mame_launch_link "${destroot}${prefix}/bin/mame"
# Create launch wrapper script
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "Phase post-destroot: creating launch script"
</span> xinstall ${filespath}/mame-script-template-launcher.sh \
${mame_launch_script}
# Substitute placeholder with real executable name
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -814,7 +856,6 @@ post-destroot {
</span> if {[variant_isset tools]} {
set mame_tools_list \
[mame_get_tools_list ${mame_target_dir} ${g_mame_tools_prefix}]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> ui_debug "Phase post-destroot: mame_tools_list: ${mame_tools_list}"
foreach f ${mame_tools_list} {
ui_debug "Phase post-destroot: soft linking tool: ${f}"
</pre><pre style='margin:0'>
</pre>