diff --git a/graphics/vulkan-loader/Makefile b/graphics/vulkan-loader/Makefile index d057c160c6d6..c6c9c4e35851 100644 --- a/graphics/vulkan-loader/Makefile +++ b/graphics/vulkan-loader/Makefile @@ -1,42 +1,41 @@ PORTNAME= vulkan-loader DISTVERSIONPREFIX= v -DISTVERSION= 1.2.174 -PORTREVISION= 1 +DISTVERSION= 1.2.176 CATEGORIES= graphics devel MAINTAINER= jbeich@FreeBSD.org COMMENT= Driver loader for the Vulkan graphics API LICENSE= APACHE20 BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers USES= cmake compiler:${ARCH:Mi386:C/.+/gcc-/}c++11-lib pkgconfig python:3.4+,build USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= KhronosGroup GH_PROJECT= Vulkan-Loader CMAKE_ON= CMAKE_SKIP_RPATH CMAKE_OFF= BUILD_TESTS OPTIONS_DEFINE= WAYLAND XCB XLIB OPTIONS_DEFAULT=WAYLAND XCB XLIB WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland WAYLAND_CMAKE_BOOL= BUILD_WSI_WAYLAND_SUPPORT XCB_DESC= ${X11_DESC} via libxcb XCB_USES= xorg XCB_USE= XORG=xcb XCB_CMAKE_BOOL= BUILD_WSI_XCB_SUPPORT XLIB_DESC= ${X11_DESC} via libX11 XLIB_USES= xorg XLIB_USE= XORG=x11,xrandr XLIB_CMAKE_BOOL= BUILD_WSI_XLIB_SUPPORT post-patch: # _XOPEN_SOURCE enforces X/Open-compliance but alloca isn't there @${REINPLACE_CMD} '/_XOPEN_SOURCE/d' ${WRKSRC}/loader/CMakeLists.txt .include diff --git a/graphics/vulkan-loader/distinfo b/graphics/vulkan-loader/distinfo index 017b7c497182..329a96075fbf 100644 --- a/graphics/vulkan-loader/distinfo +++ b/graphics/vulkan-loader/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1617048347 -SHA256 (KhronosGroup-Vulkan-Loader-v1.2.174_GH0.tar.gz) = c39a660da13450cb5e2d1dc571749d0e9a4f831998b20a7ad9fc7f2c99e1bb0b -SIZE (KhronosGroup-Vulkan-Loader-v1.2.174_GH0.tar.gz) = 1423922 +TIMESTAMP = 1618937105 +SHA256 (KhronosGroup-Vulkan-Loader-v1.2.176_GH0.tar.gz) = 9a7cf743bea8bfc7bd8c0527079eea122a95cd2baaf61d1c8589168670e4a152 +SIZE (KhronosGroup-Vulkan-Loader-v1.2.176_GH0.tar.gz) = 1430058 diff --git a/graphics/vulkan-loader/files/patch-cmake_FindVulkanHeaders.cmake b/graphics/vulkan-loader/files/patch-cmake_FindVulkanHeaders.cmake deleted file mode 100644 index ad836da3157d..000000000000 --- a/graphics/vulkan-loader/files/patch-cmake_FindVulkanHeaders.cmake +++ /dev/null @@ -1,39 +0,0 @@ -Part of https://github.com/KhronosGroup/Vulkan-Loader/commit/eb6d6f95dff8 - -$ make check-plist -====> Checking for pkg-plist issues (check-plist) -===> Parsing plist -===> Checking for items in STAGEDIR missing from pkg-plist -Error: Orphaned: lib/libvulkan.so.0.0.176 -===> Checking for items in pkg-plist which are not in STAGEDIR -Error: Missing: lib/libvulkan.so.1.2.176 -===> Error: Plist issues found. -*** Error code 1 - ---- cmake/FindVulkanHeaders.cmake.orig 2021-03-29 20:05:47 UTC -+++ cmake/FindVulkanHeaders.cmake -@@ -114,19 +114,19 @@ endif() - file(STRINGS - ${VulkanHeaders_main_header} - VulkanHeaders_lines -- REGEX "^#define (VK_API_VERSION.*VK_MAKE_VERSION|VK_HEADER_VERSION)") -+ REGEX "^#define VK_HEADER_VERSION(_COMPLETE)? ") - - foreach(VulkanHeaders_line ${VulkanHeaders_lines}) - - # First, handle the case where we have a major/minor version - # Format is: -- # #define VK_API_VERSION_X_Y VK_MAKE_VERSION(X, Y, 0) -+ # #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, X, Y, VK_HEADER_VERSION) - # We grab the major version (X) and minor version (Y) out of the parentheses -- string(REGEX MATCH "VK_MAKE_VERSION\\(.*\\)" VulkanHeaders_out ${VulkanHeaders_line}) -+ string(REGEX MATCH "VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION\\(.*\\)" VulkanHeaders_out ${VulkanHeaders_line}) - string(REGEX MATCHALL "[0-9]+" VulkanHeaders_MAJOR_MINOR "${VulkanHeaders_out}") - if (VulkanHeaders_MAJOR_MINOR) -- list (GET VulkanHeaders_MAJOR_MINOR 0 VulkanHeaders_cur_major) -- list (GET VulkanHeaders_MAJOR_MINOR 1 VulkanHeaders_cur_minor) -+ list (GET VulkanHeaders_MAJOR_MINOR 1 VulkanHeaders_cur_major) -+ list (GET VulkanHeaders_MAJOR_MINOR 2 VulkanHeaders_cur_minor) - if (${VulkanHeaders_cur_major} GREATER ${VulkanHeaders_VERSION_MAJOR}) - set(VulkanHeaders_VERSION_MAJOR ${VulkanHeaders_cur_major}) - set(VulkanHeaders_VERSION_MINOR ${VulkanHeaders_cur_minor}) diff --git a/graphics/vulkan-loader/files/patch-loader_loader.c b/graphics/vulkan-loader/files/patch-loader_loader.c index 36450777becf..30b588023daa 100644 --- a/graphics/vulkan-loader/files/patch-loader_loader.c +++ b/graphics/vulkan-loader/files/patch-loader_loader.c @@ -1,20 +1,20 @@ ---- loader/loader.c.orig 2020-11-23 16:19:03 UTC +--- loader/loader.c.orig 2021-04-20 16:45:05 UTC +++ loader/loader.c @@ -253,7 +253,7 @@ void *loader_device_heap_realloc(const struct loader_d } // Environment variables --#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) -+#if defined(__unix__) || defined(__APPLE__) || defined(__Fuchsia__) +-#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__QNXNTO__) ++#if defined(__unix__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__QNXNTO__) static inline bool IsHighIntegrity() { return geteuid() != getuid() || getegid() != getgid(); @@ -268,7 +268,7 @@ static inline char *loader_getenv(const char *name, co static inline char *loader_secure_getenv(const char *name, const struct loader_instance *inst) { char *out; -#if defined(__APPLE__) +#if !defined(__linux__) // Apple does not appear to have a secure getenv implementation. // The main difference between secure getenv and getenv is that secure getenv // returns NULL if the process is being run with elevated privileges by a normal user. diff --git a/graphics/vulkan-loader/files/patch-loader_vk__loader__platform.h b/graphics/vulkan-loader/files/patch-loader_vk__loader__platform.h index 31c41bac9716..888712684920 100644 --- a/graphics/vulkan-loader/files/patch-loader_vk__loader__platform.h +++ b/graphics/vulkan-loader/files/patch-loader_vk__loader__platform.h @@ -1,38 +1,38 @@ ---- loader/vk_loader_platform.h.orig 2020-11-23 16:19:03 UTC +--- loader/vk_loader_platform.h.orig 2021-04-20 16:45:05 UTC +++ loader/vk_loader_platform.h @@ -35,7 +35,7 @@ #include "vulkan/vk_platform.h" #include "vulkan/vk_sdk_platform.h" --#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) -+#if defined(__unix__) || defined(__APPLE__) || defined(__Fuchsia__) +-#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__QNXNTO__) ++#if defined(__unix__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__QNXNTO__) /* Linux-specific common code: */ // Headers: @@ -120,6 +120,26 @@ static inline char *loader_platform_executable_path(ch int ret = proc_pidpath(pid, buffer, size); if (ret <= 0) return NULL; buffer[ret] = '\0'; + return buffer; +} +#elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) +#include +static inline char *loader_platform_executable_path(char *buffer, size_t size) { + int mib[] = { + CTL_KERN, +#if defined(__NetBSD__) + KERN_PROC_ARGS, + -1, + KERN_PROC_PATHNAME, +#else + KERN_PROC, + KERN_PROC_PATHNAME, + -1, +#endif + }; + if (sysctl(mib, sizeof(mib) / sizeof(mib[0]), buffer, &size, NULL, 0) < 0) + return NULL; + return buffer; } #elif defined(__Fuchsia__)