This updates the vulkan ports to the latest SDK release. No complicated changes. Thanks to jsg@ for the hint for the simple fix for the namespace collision with major/minor that I somehow didn't think of.
Builds and tested on amd64 Intel Tigerlake with vkcube and vkquake. This includes a fix for the compilation failure seen on sparc64; see https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/5474/files ok? I'm planning to commit this in a few days if I'm not hearing any concerns... Index: glslang/Makefile =================================================================== RCS file: /cvs/ports/graphics/glslang/Makefile,v retrieving revision 1.18 diff -u -p -r1.18 Makefile --- glslang/Makefile 13 May 2023 16:26:12 -0000 1.18 +++ glslang/Makefile 28 Jul 2023 01:48:09 -0000 @@ -2,15 +2,14 @@ PORTROACH = limit:^[0-9] COMMENT = reference front-end for GLSL and ESSL -GH_TAGNAME = 12.1.0 +GH_TAGNAME = 12.3.1 GH_ACCOUNT = KhronosGroup GH_PROJECT = glslang -SHARED_LIBS += glslang 1.0 # 12.0 +SHARED_LIBS += glslang 3.0 # 12.3 SHARED_LIBS += HLSL 0.0 # 12.1 -SHARED_LIBS += SPIRV 0.0 # 12.1 +SHARED_LIBS += SPIRV 2.0 # 12.3 SHARED_LIBS += SPVRemapper 0.0 # 12.1 -SHARED_LIBS += glslang-default-resource-limits 0.0 # 12.1 CATEGORIES = devel graphics Index: glslang/distinfo =================================================================== RCS file: /cvs/ports/graphics/glslang/distinfo,v retrieving revision 1.8 diff -u -p -r1.8 distinfo --- glslang/distinfo 13 May 2023 16:26:12 -0000 1.8 +++ glslang/distinfo 28 Jul 2023 01:48:09 -0000 @@ -1,2 +1,2 @@ -SHA256 (glslang-12.1.0.tar.gz) = FRXoQIgdESj7bYMTCEM/cxgI+BjyEDiBFi8//UexXNU= -SIZE (glslang-12.1.0.tar.gz) = 3686676 +SHA256 (glslang-12.3.1.tar.gz) = pXg2pYOzBECHrFG7DV0tgD/4RZHVX4kIf8KazkKouag= +SIZE (glslang-12.3.1.tar.gz) = 3718998 Index: glslang/patches/patch-CMakeLists_txt =================================================================== RCS file: glslang/patches/patch-CMakeLists_txt diff -N glslang/patches/patch-CMakeLists_txt --- glslang/patches/patch-CMakeLists_txt 13 May 2023 16:26:12 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,38 +0,0 @@ -Fix building on OpenBSD when building shared libs - -OpenBSD does not link shared libs against libc so it is expected -that the use of --no-undefined when linking will fail. - -Also garbage collect CMAKE_VERSION check while here, as requested, since -the minimum version is already 3.14. - -see: -https://github.com/KhronosGroup/glslang/commit/9c7fd1a33e5cecbe465e1cd70170167d5e40d398 - -Index: CMakeLists.txt ---- CMakeLists.txt.orig -+++ CMakeLists.txt -@@ -161,10 +161,8 @@ if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU") - add_compile_options(-Werror=deprecated-copy) - endif() - -- if(NOT CMAKE_VERSION VERSION_LESS "3.13" AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") -+ if(NOT CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") - # Error if there's symbols that are not found at link time. -- # add_link_options() was added in CMake 3.13 - if using an earlier -- # version don't set this - it should be caught by presubmits anyway. - add_link_options("-Wl,--no-undefined") - endif() - elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" AND NOT MSVC) -@@ -178,10 +176,8 @@ elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" AND NO - add_compile_options(-fno-exceptions) - endif() - -- if(NOT CMAKE_VERSION VERSION_LESS "3.13") -+ if(NOT CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") - # Error if there's symbols that are not found at link time. -- # add_link_options() was added in CMake 3.13 - if using an earlier -- # version don't set this - it should be caught by presubmits anyway. - if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") - add_link_options("-Wl,-undefined,error") - else() Index: glslang/pkg/PLIST =================================================================== RCS file: /cvs/ports/graphics/glslang/pkg/PLIST,v retrieving revision 1.8 diff -u -p -r1.8 PLIST --- glslang/pkg/PLIST 13 May 2023 16:26:12 -0000 1.8 +++ glslang/pkg/PLIST 28 Jul 2023 01:48:09 -0000 @@ -1,4 +1,4 @@ -@bin bin/glslangValidator +@bin bin/glslang @bin bin/spirv-remap include/glslang/ include/glslang/HLSL/ @@ -76,14 +76,14 @@ lib/cmake/SPIRVTargets.cmake lib/cmake/SPVRemapperTargets.cmake lib/cmake/glslang/ lib/cmake/glslang-default-resource-limitsTargets.cmake +lib/cmake/glslang-standaloneTargets.cmake lib/cmake/glslang/glslang-config-version.cmake lib/cmake/glslang/glslang-config.cmake lib/cmake/glslang/glslang-targets${MODCMAKE_BUILD_SUFFIX} lib/cmake/glslang/glslang-targets.cmake -lib/cmake/glslangValidatorTargets.cmake lib/cmake/spirv-remapTargets.cmake @lib lib/libHLSL.so.${LIBHLSL_VERSION} @lib lib/libSPIRV.so.${LIBSPIRV_VERSION} @lib lib/libSPVRemapper.so.${LIBSPVRemapper_VERSION} -@lib lib/libglslang-default-resource-limits.so.${LIBglslang-default-resource-limits_VERSION} +@static-lib lib/libglslang-default-resource-limits.a @lib lib/libglslang.so.${LIBglslang_VERSION} Index: spirv-headers/Makefile =================================================================== RCS file: /cvs/ports/graphics/spirv-headers/Makefile,v retrieving revision 1.12 diff -u -p -r1.12 Makefile --- spirv-headers/Makefile 13 May 2023 16:26:12 -0000 1.12 +++ spirv-headers/Makefile 28 Jul 2023 01:48:09 -0000 @@ -1,6 +1,6 @@ COMMENT = SPIRV-Headers -V = 1.3.243.0 +V = 1.3.250.1 DISTNAME = spirv-headers-${V} GH_ACCOUNT = KhronosGroup GH_PROJECT = SPIRV-Headers Index: spirv-headers/distinfo =================================================================== RCS file: /cvs/ports/graphics/spirv-headers/distinfo,v retrieving revision 1.10 diff -u -p -r1.10 distinfo --- spirv-headers/distinfo 13 May 2023 16:26:12 -0000 1.10 +++ spirv-headers/distinfo 28 Jul 2023 01:48:09 -0000 @@ -1,2 +1,2 @@ -SHA256 (spirv-headers-1.3.243.0.tar.gz) = FpJ7GGjniRN30FnNVJSE5BWJEkOc93RRrn4B4qO80os= -SIZE (spirv-headers-1.3.243.0.tar.gz) = 449924 +SHA256 (spirv-headers-1.3.250.1.tar.gz) = 1fjEt5Brr5xRrtu7LdlCAJ6GWOM0DG5kaZUYZmoD4EM= +SIZE (spirv-headers-1.3.250.1.tar.gz) = 452425 Index: spirv-headers/pkg/PLIST =================================================================== RCS file: /cvs/ports/graphics/spirv-headers/pkg/PLIST,v retrieving revision 1.8 diff -u -p -r1.8 PLIST --- spirv-headers/pkg/PLIST 13 May 2023 16:26:12 -0000 1.8 +++ spirv-headers/pkg/PLIST 28 Jul 2023 01:48:09 -0000 @@ -78,5 +78,4 @@ share/cmake/ share/cmake/SPIRV-Headers/ share/cmake/SPIRV-Headers/SPIRV-HeadersConfig.cmake share/cmake/SPIRV-Headers/SPIRV-HeadersConfigVersion.cmake -share/cmake/SPIRV-Headers/SPIRV-HeadersTargets.cmake share/pkgconfig/SPIRV-Headers.pc Index: spirv-tools/Makefile =================================================================== RCS file: /cvs/ports/graphics/spirv-tools/Makefile,v retrieving revision 1.15 diff -u -p -r1.15 Makefile --- spirv-tools/Makefile 13 May 2023 16:26:12 -0000 1.15 +++ spirv-tools/Makefile 28 Jul 2023 01:48:09 -0000 @@ -1,6 +1,6 @@ COMMENT = API and commands for processing SPIR-V -V = 1.3.243.0 +V = 1.3.250.1 DISTNAME = spirv-tools-${V} GH_ACCOUNT = KhronosGroup GH_PROJECT = SPIRV-Tools Index: spirv-tools/distinfo =================================================================== RCS file: /cvs/ports/graphics/spirv-tools/distinfo,v retrieving revision 1.11 diff -u -p -r1.11 distinfo --- spirv-tools/distinfo 13 May 2023 16:26:12 -0000 1.11 +++ spirv-tools/distinfo 28 Jul 2023 01:48:09 -0000 @@ -1,2 +1,2 @@ -SHA256 (spirv-tools-1.3.243.0.tar.gz) = aEop43v9xuFR/h0+xLh8U5bBekOd5UXYHqBdTub7yG4= -SIZE (spirv-tools-1.3.243.0.tar.gz) = 3102102 +SHA256 (spirv-tools-1.3.250.1.tar.gz) = bPoihpXkoDAP8w6v2IBWEoxnNCoPCDhADLOlZsqtx9Q= +SIZE (spirv-tools-1.3.250.1.tar.gz) = 3113105 Index: spirv-tools/pkg/PLIST =================================================================== RCS file: /cvs/ports/graphics/spirv-tools/pkg/PLIST,v retrieving revision 1.6 diff -u -p -r1.6 PLIST --- spirv-tools/pkg/PLIST 3 Mar 2023 02:38:37 -0000 1.6 +++ spirv-tools/pkg/PLIST 28 Jul 2023 01:48:09 -0000 @@ -4,6 +4,7 @@ bin/spirv-lesspipe.sh @bin bin/spirv-link @bin bin/spirv-lint +@bin bin/spirv-objdump @bin bin/spirv-opt @bin bin/spirv-reduce @bin bin/spirv-val Index: vulkan-headers/Makefile =================================================================== RCS file: /cvs/ports/graphics/vulkan-headers/Makefile,v retrieving revision 1.13 diff -u -p -r1.13 Makefile --- vulkan-headers/Makefile 13 May 2023 16:26:12 -0000 1.13 +++ vulkan-headers/Makefile 28 Jul 2023 01:48:09 -0000 @@ -1,6 +1,6 @@ COMMENT = Vulkan header files -V = 1.3.243.0 +V = 1.3.250.1 PKGNAME = vulkan-headers-${V} GH_TAGNAME = sdk-${V} GH_ACCOUNT = KhronosGroup Index: vulkan-headers/distinfo =================================================================== RCS file: /cvs/ports/graphics/vulkan-headers/distinfo,v retrieving revision 1.10 diff -u -p -r1.10 distinfo --- vulkan-headers/distinfo 13 May 2023 16:26:12 -0000 1.10 +++ vulkan-headers/distinfo 28 Jul 2023 01:48:09 -0000 @@ -1,2 +1,2 @@ -SHA256 (Vulkan-Headers-sdk-1.3.243.0.tar.gz) = Kd2y75MfX7DKvRp4OY+cTaRNN/jIoeEQ+DT0wmDJ1Ug= -SIZE (Vulkan-Headers-sdk-1.3.243.0.tar.gz) = 1841214 +SHA256 (Vulkan-Headers-sdk-1.3.250.1.tar.gz) = 5bVjpBXnNyW89HG34+g3gE7TcDtHzORVPbXn5zghxe4= +SIZE (Vulkan-Headers-sdk-1.3.250.1.tar.gz) = 1964540 Index: vulkan-headers/pkg/PLIST =================================================================== RCS file: /cvs/ports/graphics/vulkan-headers/pkg/PLIST,v retrieving revision 1.11 diff -u -p -r1.11 PLIST --- vulkan-headers/pkg/PLIST 13 May 2023 16:26:12 -0000 1.11 +++ vulkan-headers/pkg/PLIST 28 Jul 2023 01:48:09 -0000 @@ -17,6 +17,7 @@ include/vulkan/vulkan_beta.h include/vulkan/vulkan_core.h include/vulkan/vulkan_directfb.h include/vulkan/vulkan_enums.hpp +include/vulkan/vulkan_extension_inspection.hpp include/vulkan/vulkan_format_traits.hpp include/vulkan/vulkan_fuchsia.h include/vulkan/vulkan_funcs.hpp Index: vulkan-loader/Makefile =================================================================== RCS file: /cvs/ports/graphics/vulkan-loader/Makefile,v retrieving revision 1.20 diff -u -p -r1.20 Makefile --- vulkan-loader/Makefile 13 May 2023 16:26:12 -0000 1.20 +++ vulkan-loader/Makefile 28 Jul 2023 01:48:09 -0000 @@ -1,6 +1,6 @@ COMMENT = Vulkan ICD loader -V = 1.3.243.0 +V = 1.3.250.1 PKGNAME = vulkan-loader-${V} GH_TAGNAME = sdk-${V} GH_ACCOUNT = KhronosGroup Index: vulkan-loader/distinfo =================================================================== RCS file: /cvs/ports/graphics/vulkan-loader/distinfo,v retrieving revision 1.10 diff -u -p -r1.10 distinfo --- vulkan-loader/distinfo 13 May 2023 16:26:12 -0000 1.10 +++ vulkan-loader/distinfo 28 Jul 2023 01:48:09 -0000 @@ -1,2 +1,2 @@ -SHA256 (Vulkan-Loader-sdk-1.3.243.0.tar.gz) = iaCVR74wSR7goRzXyIPnimN/t2EoDWxsIXTzcYhSfcM= -SIZE (Vulkan-Loader-sdk-1.3.243.0.tar.gz) = 1656815 +SHA256 (Vulkan-Loader-sdk-1.3.250.1.tar.gz) = uYLsX66a9jZIFqfF/PTT5cKb/co19LEu4fkOSS5BrcI= +SIZE (Vulkan-Loader-sdk-1.3.250.1.tar.gz) = 1661074 Index: vulkan-tools/Makefile =================================================================== RCS file: /cvs/ports/graphics/vulkan-tools/Makefile,v retrieving revision 1.15 diff -u -p -r1.15 Makefile --- vulkan-tools/Makefile 13 May 2023 16:26:12 -0000 1.15 +++ vulkan-tools/Makefile 28 Jul 2023 01:48:09 -0000 @@ -1,6 +1,6 @@ COMMENT = Vulkan Utilities and Tools -V = 1.3.243.0 +V = 1.3.250.1 PKGNAME = vulkan-tools-${V} GH_TAGNAME = sdk-${V} GH_ACCOUNT = KhronosGroup @@ -28,11 +28,15 @@ BUILD_DEPENDS = graphics/glslang \ graphics/vulkan-headers LIB_DEPENDS = graphics/vulkan-loader -CONFIGURE_ARGS += -DGLSLANG_INSTALL_DIR="${LOCALBASE}" \ +CONFIGURE_ARGS += -DGLSLANG_INSTALL_DIR="/usr/local" \ -DBUILD_WSI_WAYLAND_SUPPORT=OFF NO_TEST = Yes CXXFLAGS += -I${X11BASE}/include + +# glslangValidator -> glslang until this port can cope with glslang-12.3.1+ +pre-configure: + find ${WRKSRC} -type f -exec sed -i 's,glslangValidator,glslang,g' {} \; .include <bsd.port.mk> Index: vulkan-tools/distinfo =================================================================== RCS file: /cvs/ports/graphics/vulkan-tools/distinfo,v retrieving revision 1.10 diff -u -p -r1.10 distinfo --- vulkan-tools/distinfo 13 May 2023 16:26:12 -0000 1.10 +++ vulkan-tools/distinfo 28 Jul 2023 01:48:09 -0000 @@ -1,2 +1,2 @@ -SHA256 (Vulkan-Tools-sdk-1.3.243.0.tar.gz) = YyryEL8/OAHOtd7WoLLENSggafXR1/oZaYBOOp/oUmI= -SIZE (Vulkan-Tools-sdk-1.3.243.0.tar.gz) = 778991 +SHA256 (Vulkan-Tools-sdk-1.3.250.1.tar.gz) = g5HSHN8+KpFM6Rp7JN0TTVepQE2GiTIBYZv2GeVrPyA= +SIZE (Vulkan-Tools-sdk-1.3.250.1.tar.gz) = 785996 Index: vulkan-validation-layers/Makefile =================================================================== RCS file: /cvs/ports/graphics/vulkan-validation-layers/Makefile,v retrieving revision 1.18 diff -u -p -r1.18 Makefile --- vulkan-validation-layers/Makefile 13 May 2023 16:26:12 -0000 1.18 +++ vulkan-validation-layers/Makefile 28 Jul 2023 01:48:09 -0000 @@ -1,6 +1,6 @@ COMMENT = Vulkan Validation Layers -V = 1.3.243.0 +V = 1.3.250.1 PKGNAME = vulkan-validation-layers-${V} GH_TAGNAME = sdk-${V} GH_ACCOUNT = KhronosGroup @@ -16,7 +16,7 @@ PERMIT_PACKAGE = Yes WANTLIB += ${COMPILER_LIBCXX} m -# C++11 +# C++17 COMPILER = base-clang ports-gcc MODULES = devel/cmake \ Index: vulkan-validation-layers/distinfo =================================================================== RCS file: /cvs/ports/graphics/vulkan-validation-layers/distinfo,v retrieving revision 1.10 diff -u -p -r1.10 distinfo --- vulkan-validation-layers/distinfo 13 May 2023 16:26:12 -0000 1.10 +++ vulkan-validation-layers/distinfo 28 Jul 2023 01:48:09 -0000 @@ -1,2 +1,2 @@ -SHA256 (Vulkan-ValidationLayers-sdk-1.3.243.0.tar.gz) = /Z9sJAJ94Xey+w62OFVC1i9MIWZajUzH4cEYaI4INt4= -SIZE (Vulkan-ValidationLayers-sdk-1.3.243.0.tar.gz) = 4624249 +SHA256 (Vulkan-ValidationLayers-sdk-1.3.250.1.tar.gz) = tbh6MpM0fKL47oXO4LNCrng0czfG0AsbvM3iKDnifA0= +SIZE (Vulkan-ValidationLayers-sdk-1.3.250.1.tar.gz) = 4831469 Index: vulkan-validation-layers/patches/patch-layers_vulkan_generated_vk_extension_helper_h =================================================================== RCS file: vulkan-validation-layers/patches/patch-layers_vulkan_generated_vk_extension_helper_h diff -N vulkan-validation-layers/patches/patch-layers_vulkan_generated_vk_extension_helper_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ vulkan-validation-layers/patches/patch-layers_vulkan_generated_vk_extension_helper_h 28 Jul 2023 01:48:09 -0000 @@ -0,0 +1,18 @@ +avoid collision with major/minor in types.h + +Index: layers/vulkan/generated/vk_extension_helper.h +--- layers/vulkan/generated/vk_extension_helper.h.orig ++++ layers/vulkan/generated/vk_extension_helper.h +@@ -55,6 +55,12 @@ enum ExtEnabled : unsigned char { + + #define VVL_UNRECOGNIZED_API_VERSION 0xFFFFFFFF + ++#ifdef __OpenBSD__ ++// collision with types.h ++#undef major ++#undef minor ++#endif ++ + class APIVersion { + public: + APIVersion() : api_version_(VVL_UNRECOGNIZED_API_VERSION) {}