<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/eacda3ee2ec3dd4c8be148ea0a547176dfe07295">https://github.com/macports/macports-ports/commit/eacda3ee2ec3dd4c8be148ea0a547176dfe07295</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit eacda3ee2ec3dd4c8be148ea0a547176dfe07295
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Tue Aug 21 14:47:33 2018 -0500

<span style='display:block; white-space:pre;color:#404040;'>    MoltenVK: New port, version 1.0.18
</span>---
 graphics/MoltenVK/Portfile                         | 142 +++++++++++++++++++++
 .../files/MoltenVK.xcodeproj-project.pbxproj.patch |  14 ++
 2 files changed, 156 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/MoltenVK/Portfile b/graphics/MoltenVK/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..0a86394
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/MoltenVK/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,142 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- 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><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           cxx11 1.1
</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           xcode 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           xcodeversion 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        KhronosGroup MoltenVK 1.0.18 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set submodules {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    USCiLab cereal 51cbda5f30e56c801c07fe3d3aba5d7fb9e6cca4 cereal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    KhronosGroup Vulkan-Headers c4e056d365472174471a243dfefbfe66a03564af Vulkan-Headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    KhronosGroup SPIRV-Cross 973e2e6e42f0414a304c84a19353cc4719a2bf9f SPIRV-Cross
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    KhronosGroup glslang ec5c11931bcfc1f438ae4aec46e1783a42cec7e6 glslang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    KhronosGroup SPIRV-Tools 9ecbcf5fc87db00d3d6275522c735b5667007647 glslang/External/spirv-tools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    KhronosGroup SPIRV-Headers ff684ffc6a35d2a58f0f63108877d0064ea33feb glslang/External/spirv-tools/external/spirv-headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    KhronosGroup Vulkan-Tools 5caab21c8d228a94a2f897cbe9447de48736eed7 Vulkan-Tools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    LunarG VulkanSamples be8253962e5a60d35c8568be8499405f0b0dac76 VulkanSamples
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           ${distfiles} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  dbb68d0d7b6f52c50277a750be07868a9d8106cc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  6ef34e23f5c1134300b543a5e79d6f1841c10a10ed9a26c9bf51b096d66eb753 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1127077 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    cereal-51cbda5f30e56c801c07fe3d3aba5d7fb9e6cca4.tar.gz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  33a8f9bd682f36387d3d589410113c6dd1e18bc4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  26361b539fe50eee308b564faa2742166d2922a7ab0bd4870ac55708581228c8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    336138 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    Vulkan-Headers-c4e056d365472174471a243dfefbfe66a03564af.tar.gz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  fcbfaf26604416074360518e45922493403eb87a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  a027b689b269b1659283b7ddfb2d86a6c8074e9525386aa253b69e40772e3806 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    472739 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    SPIRV-Cross-973e2e6e42f0414a304c84a19353cc4719a2bf9f.tar.gz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  edeb0a53d5d09e0c4c9357b9809a0575f98d57af \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  03250a396da473dded40f733737f548e4c13376ea04337b7e5bcc1394431001f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    542131 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    glslang-ec5c11931bcfc1f438ae4aec46e1783a42cec7e6.tar.gz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  d697c62ce7a3f2ba95af804f81d00eb2186bb209 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  4857a22f62813a99c3f09adb7d38dd8d7aec98133990a8dd7d93b728412760a0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    2355007 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    SPIRV-Tools-9ecbcf5fc87db00d3d6275522c735b5667007647.tar.gz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  3966fca19f35f60b65d7bbbae61f4ea451193d96 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  5eeb8d8cd9330aa3b0508c1a9e89201c1e2d9bb5a8dbc3c6b865a63f8b90628d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1311678 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    SPIRV-Headers-ff684ffc6a35d2a58f0f63108877d0064ea33feb.tar.gz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  5f9738fa8c1f9a0822b85f1fb940a54026a5a162 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  e36d21ec9e20b2a15aee4a817b6558d85dfa01f2c216adf24eabfc2dff874a39 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    281382 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    Vulkan-Tools-5caab21c8d228a94a2f897cbe9447de48736eed7.tar.gz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  a83195ddbf0221feab5c8e737e0bd947234718dc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  0312e73e10b81d6110700fe30f920847c666cd96522cbf452b5c18b6ce85e573 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    335068 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    VulkanSamples-be8253962e5a60d35c8568be8499405f0b0dac76.tar.gz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  b25703bc69263dfb91d8bd3e1e5184e8ce1a362a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  e1745e6c1437c3a738e37fed972a944ae149b8ecc3deeb293ef0c57392a42bee \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    3920349
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          graphics
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {ryandesign @ryandesign} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             Apache-2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# MoltenVK would build for i386, but it uses Metal which only works on x86_64.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs     x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         an implementation of Vulkan for Metal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    ${name} is an implementation of the high-performance, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    industry-standard Vulkan graphics and compute API, that \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    runs on Apple's Metal graphics framework.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        ${master_sites}:${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles           ${distfiles}:${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach {sub_author sub_project sub_commit sub_dest} ${submodules} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    master_sites-append https://github.com/${sub_author}/${sub_project}/archive/${sub_commit}.tar.gz?dummy=:${sub_project}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    distfiles-append    ${sub_project}-${sub_commit}.tar.gz:${sub_project}
</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-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ln -s {*}[glob -directory ${workpath} -tails ${github.author}-${github.project}-*] ${worksrcpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach {sub_author sub_project sub_commit sub_dest} ${submodules} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set commit_file ${worksrcpath}/ExternalRevisions/${sub_project}_repo_revision
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if [file exists ${commit_file}] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set commit_re {^(\S+)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set commit_file ${worksrcpath}/External/glslang/known_good.json
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set commit_re "\"subrepo\" : \"${sub_author}/${sub_project}\".*?\"commit\" : \"(\[^\"\]+)\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set fp [open ${commit_file} r]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set commit_file_data [read ${fp}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        close ${fp}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        regexp ${commit_re} ${commit_file_data} -> commit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${commit} ne ${sub_commit}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "Submodule ${sub_author}/${sub_project} should use commit ${commit}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -code error "incorrect submodule commit"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir [file dirname ${worksrcpath}/External/${sub_dest}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -s {*}[glob ${workpath}/${sub_project}-*] ${worksrcpath}/External/${sub_dest}
</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;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:bin/cmake:cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          MoltenVK.xcodeproj-project.pbxproj.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.pre_args      -derivedDataPath ./DerivedData
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+xcode.destroot.path ${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+xcode.configuration Release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+xcode.scheme        MoltenVKSPIRVToMSLConverter-macOS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    MoltenVK-macOS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    MoltenVKGLSLToSPIRVConverter-macOS
</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;'>+    set build_dir ${worksrcpath}/External/glslang/build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file mkdir ${build_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${build_dir} "${prefix}/bin/cmake -DCMAKE_BUILD_TYPE=MacPorts -DCMAKE_INSTALL_PREFIX=install -DCMAKE_INSTALL_NAME_DIR=${prefix}/lib -DCMAKE_C_COMPILER=\"${configure.cc}\" -DCMAKE_CXX_COMPILER=\"${configure.cxx}\" -DCMAKE_OSX_ARCHITECTURES=\"[join [get_canonical_archs] \;]\" -DCMAKE_VERBOSE_MAKEFILE=ON .. && make -j${build.jobs} VERBOSE=ON && make install/fast"
</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;'>+    copy ${worksrcpath}/MoltenVK/build/${xcode.configuration}/libMoltenVK.dylib ${destroot}${xcode.destroot.path}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/MoltenVK/build/${xcode.configuration}/MoltenVK.framework \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/MoltenVKShaderConverter/build/${xcode.configuration}/MoltenVKGLSLToSPIRVConverter.framework \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/MoltenVKShaderConverter/build/${xcode.configuration}/MoltenVKSPIRVToMSLConverter.framework \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${frameworks_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;'>+# TODO: Add (a subport for?) the command line conversion tool.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+minimum_xcodeversions   {12 9}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} < 12} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        archive_sites
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "${subport} @${version} requires macOS Sierra or later"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -code error "incompatible OS X version"
</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;color:#808080;'>diff --git a/graphics/MoltenVK/files/MoltenVK.xcodeproj-project.pbxproj.patch b/graphics/MoltenVK/files/MoltenVK.xcodeproj-project.pbxproj.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..e528f19
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/MoltenVK/files/MoltenVK.xcodeproj-project.pbxproj.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Use clang++ instead of clang to create dylib.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Specify C++ stdlib with -stdlib flag not -l flag.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Use archs from Xcode rather than hardcoding.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- MoltenVK/MoltenVK.xcodeproj/project.pbxproj.orig       2018-08-15 15:53:22.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ MoltenVK/MoltenVK.xcodeproj/project.pbxproj    2018-08-21 17:02:47.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -844,7 +844,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   runOnlyForDeploymentPostprocessing = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   shellPath = /bin/sh;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  shellScript = "set -e\n\nexport MVK_PROD_NAME=\"MoltenVK\"\nexport MVK_DYLIB_NAME=\"lib${MVK_PROD_NAME}.dylib\"\nexport MVK_BUILT_PROD_PATH=\"${BUILT_PRODUCTS_DIR}\"\nexport MVK_SYS_FWK_DIR=\"${SDK_DIR}/System/Library/Frameworks\"\nexport MVK_USR_LIB_DIR=\"${SDK_DIR}/usr/lib\"\n\nclang \\\n-dynamiclib \\\n-arch x86_64 \\\n-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} \\\n-compatibility_version 1.0.0 -current_version 1.0.0  \\\n-install_name \"@rpath/${MVK_DYLIB_NAME}\"  \\\n-Wno-i [...]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  shellScript = "set -e\n\nexport MVK_PROD_NAME=\"MoltenVK\"\nexport MVK_DYLIB_NAME=\"lib${MVK_PROD_NAME}.dylib\"\nexport MVK_BUILT_PROD_PATH=\"${BUILT_PRODUCTS_DIR}\"\nexport MVK_SYS_FWK_DIR=\"${SDK_DIR}/System/Library/Frameworks\"\nexport MVK_USR_LIB_DIR=\"${SDK_DIR}/usr/lib\"\n\nclang++ \\\n-dynamiclib \\\n$(printf \" -arch %s\" ${ARCHS}) \\\n-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} \\\n-compatibility_version 1.0.0 -current_version 1.0.0  \\\n-install_name \"@rpath/${MVK_DYL [...]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           A9731FAD1EDDAE39006B7298 /* Create Dynamic Library */ = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   isa = PBXShellScriptBuildPhase;
</span></pre><pre style='margin:0'>

</pre>