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