dev-util/vulkan-headers: Revbump 1.1.77.0 for patch
authorNick Sarnie <sarnex@gentoo.org>
Sat, 7 Jul 2018 17:22:28 +0000 (13:22 -0400)
committerNick Sarnie <sarnex@gentoo.org>
Sat, 7 Jul 2018 17:22:28 +0000 (13:22 -0400)
Backport patch to fix upstream bug

Bug: https://bugs.gentoo.org/658900
Package-Manager: Portage-2.3.41, Repoman-2.3.9

dev-util/vulkan-headers/files/vulkan-headers-1.1.77.0-r1-Remove-loader-layer-dep.patch [new file with mode: 0644]
dev-util/vulkan-headers/vulkan-headers-1.1.77.0-r1.ebuild [new file with mode: 0644]

diff --git a/dev-util/vulkan-headers/files/vulkan-headers-1.1.77.0-r1-Remove-loader-layer-dep.patch b/dev-util/vulkan-headers/files/vulkan-headers-1.1.77.0-r1-Remove-loader-layer-dep.patch
new file mode 100644 (file)
index 0000000..9cf443a
--- /dev/null
@@ -0,0 +1,38 @@
+From 396f82798a4d19b57fc9933490dc1bd7624c9bbb Mon Sep 17 00:00:00 2001
+From: Lenny Komow <lenny@lunarg.com>
+Date: Mon, 25 Jun 2018 13:59:47 -0600
+Subject: [PATCH] headers: Remove loader/layer dependency
+
+The header vk_layer.h included vk_layer_dispatch_table.h, which is not
+present in this repo. Instead, it had to be generated from either the
+Vulkan-Loader or Vulkan-ValidationLayers repo. This change removes
+that dependency.
+---
+ include/vulkan/vk_layer.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/include/vulkan/vk_layer.h b/include/vulkan/vk_layer.h
+index e8300c3..823c88a 100644
+--- a/include/vulkan/vk_layer.h
++++ b/include/vulkan/vk_layer.h
+@@ -35,9 +35,6 @@
+ #define VK_LAYER_EXPORT
+ #endif
+-// Definition for VkLayerDispatchTable and VkLayerInstanceDispatchTable now appear in externally generated header
+-#include "vk_layer_dispatch_table.h"
+-
+ #define MAX_NUM_UNKNOWN_EXTS 250
+  // Loader-Layer version negotiation API.  Versions add the following features:
+@@ -50,6 +47,9 @@
+ #define VK_CURRENT_CHAIN_VERSION 1
++// Typedef for use in the interfaces below
++typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char* pName);
++
+ // Version negotiation values
+ typedef enum VkNegotiateLayerStructType {
+     LAYER_NEGOTIATE_UNINTIALIZED = 0,
+
diff --git a/dev-util/vulkan-headers/vulkan-headers-1.1.77.0-r1.ebuild b/dev-util/vulkan-headers/vulkan-headers-1.1.77.0-r1.ebuild
new file mode 100644 (file)
index 0000000..b41d734
--- /dev/null
@@ -0,0 +1,27 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+if [[ "${PV}" == "9999" ]]; then
+       EGIT_REPO_URI="https://github.com/KhronosGroup/Vulkan-Headers.git"
+       inherit git-r3
+else
+       EGIT_COMMIT="b1577d5fbd5424c863710aa156aaafa77cae3de8"
+       KEYWORDS="~amd64"
+       SRC_URI="https://github.com/KhronosGroup/Vulkan-Headers/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+       S="${WORKDIR}/Vulkan-Headers-${EGIT_COMMIT}"
+fi
+
+DESCRIPTION="Vulkan Header files and API registry"
+HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Headers"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+# Old packaging will cause file collisions
+RDEPEND="!<=media-libs/vulkan-loader-1.1.70.0-r999"
+
+PATCHES=( "${FILESDIR}/${PN}"-1.1.77.0-r1-Remove-loader-layer-dep.patch )