media-libs/vulkan-loader: Add layers USE
authorNick Sarnie <commendsarnex@gmail.com>
Sat, 24 Mar 2018 01:57:37 +0000 (21:57 -0400)
committerMatt Turner <mattst88@gentoo.org>
Sat, 14 Apr 2018 19:50:21 +0000 (12:50 -0700)
Closes: https://bugs.gentoo.org/619124

media-libs/vulkan-loader/files/vulkan-loader-Use-a-file-to-get-the-spirv-tools-commit-ID.patch [new file with mode: 0644]
media-libs/vulkan-loader/metadata.xml
media-libs/vulkan-loader/vulkan-loader-9999.ebuild

diff --git a/media-libs/vulkan-loader/files/vulkan-loader-Use-a-file-to-get-the-spirv-tools-commit-ID.patch b/media-libs/vulkan-loader/files/vulkan-loader-Use-a-file-to-get-the-spirv-tools-commit-ID.patch
new file mode 100644 (file)
index 0000000..066f126
--- /dev/null
@@ -0,0 +1,42 @@
+From 58299a001068a28f5d5f6985c2066b7c4caa7b18 Mon Sep 17 00:00:00 2001
+From: Nick Sarnie <commendsarnex@gmail.com>
+Date: Fri, 23 Mar 2018 20:23:54 -0400
+Subject: [PATCH] Use a file to get the spirv-tools commit ID
+
+Signed-off-by: Nick Sarnie <commendsarnex@gmail.com>
+---
+ CMakeLists.txt | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c9f73ce9..c3e200b3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -349,6 +349,14 @@ macro(run_external_revision_generate source_dir symbol_name output)
+     )
+ endmacro()
++macro(run_external_revision_generate_spirv_tools source_dir symbol_name output)
++    add_custom_command(OUTPUT ${output}
++    COMMAND ${PYTHON_CMD} ${SCRIPTS_DIR}/external_revision_generator.py --rev_file ${source_dir}/spirv-tools-commit.h -s ${symbol_name} -o ${output}
++    DEPENDS ${SCRIPTS_DIR}/external_revision_generator.py ${source_dir}/spirv-tools-commit.h
++    )
++endmacro()
++
++
+ # Custom target for generated vulkan helper file dependencies
+ set(generate_helper_files_DEPENDS)
+ if(BUILD_LAYERS)
+@@ -377,7 +385,7 @@ run_vk_xml_generate(helper_file_generator.py vk_object_types.h)
+ run_vk_xml_generate(helper_file_generator.py vk_extension_helper.h)
+ run_vk_xml_generate(helper_file_generator.py vk_typemap_helper.h)
+ if(BUILD_LAYERS)
+-    run_external_revision_generate(${EXTERNAL_SOURCE_ROOT}/glslang/External/spirv-tools SPIRV_TOOLS_COMMIT_ID spirv_tools_commit_id.h)
++    run_external_revision_generate_spirv_tools(/usr/include/spirv-tools SPIRV_TOOLS_COMMIT_ID spirv_tools_commit_id.h)
+ endif()
+-- 
+2.16.3
+
+
index 9e5a300d86337dabfbe6c37e93b6816683f882ae..5896567b6cb5733659afe6ea769ae3547ce59e86 100644 (file)
@@ -10,5 +10,6 @@
        </upstream>
        <use>
                <flag name="demos">Build vulkan demos and vulkaninfo</flag>
+               <flag name="layers">Build the vulkan layers</flag>
        </use>
 </pkgmetadata>
index 67822d5a388db7736b16fca80ffc2ddc180a7a98..b3a7e0743f444c34055ab5f5b510915daa4fb9bc 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -20,22 +20,28 @@ HOMEPAGE="https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers"
 
 LICENSE="Apache-2.0"
 SLOT="0"
-IUSE="demos wayland X"
+IUSE="demos layers wayland X"
 
 RDEPEND=""
 DEPEND="${PYTHON_DEPS}
        demos? ( dev-util/glslang:=[${MULTILIB_USEDEP}] )
+       layers? (
+                       dev-util/glslang:=[${MULTILIB_USEDEP}]
+                       >=dev-util/spirv-tools-2018.2-r1:=[${MULTILIB_USEDEP}]
+               )
        wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
        X? (
                x11-libs/libX11:=[${MULTILIB_USEDEP}]
                x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
        )"
 
+PATCHES=( "${FILESDIR}/${PN}-Use-a-file-to-get-the-spirv-tools-commit-ID.patch" )
+
 multilib_src_configure() {
        local mycmakeargs=(
                -DCMAKE_SKIP_RPATH=True
                -DBUILD_TESTS=False
-               -DBUILD_LAYERS=False
+               -DBUILD_LAYERS=$(usex layers)
                -DBUILD_DEMOS=$(usex demos)
                -DBUILD_VKJSON=False
                -DBUILD_LOADER=True