commit: a09c70e699b3a2abdf6b222d79f7db916690d96e Author: Nick Sarnie <sarnex <AT> gentoo <DOT> org> AuthorDate: Sat Feb 19 21:58:18 2022 +0000 Commit: Nick Sarnie <sarnex <AT> gentoo <DOT> org> CommitDate: Sun Feb 20 02:09:04 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a09c70e6
media-libs/vulkan-layers: Version bump Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Nick Sarnie <sarnex <AT> gentoo.org> media-libs/vulkan-layers/Manifest | 1 + ...ayers-1.3.204-Dont-use-static-spirv-tools.patch | 27 +++++++ ...n-layers-1.3.204-Fix-dependency-detection.patch | 90 ++++++++++++++++++++++ ...rs-9999.ebuild => vulkan-layers-1.3.204.ebuild} | 12 ++- media-libs/vulkan-layers/vulkan-layers-9999.ebuild | 4 +- 5 files changed, 128 insertions(+), 6 deletions(-) diff --git a/media-libs/vulkan-layers/Manifest b/media-libs/vulkan-layers/Manifest index 53a0a76e7a55..246391f920ad 100644 --- a/media-libs/vulkan-layers/Manifest +++ b/media-libs/vulkan-layers/Manifest @@ -1 +1,2 @@ DIST vulkan-layers-1.2.198.tar.gz 3555293 BLAKE2B 1a419b1b4b50241f6f4225a8666b8f6f4fc00e30dba045deeca709f4b9ff777f8a66691ef094b72cbf059c9dafee9f1ad2986108e48c8ef3974ac805c103644e SHA512 c5ac3e458987f3aa8ca21a79aa7819fbc1ca6013b6e445a82407ac0664884b90b8f79a2593368f6264a509674aa1f9584614c7c464c88d74284601f0c7636ef0 +DIST vulkan-layers-1.3.204.tar.gz 3662632 BLAKE2B 277ab312fa8b127fadb2df37933b7eaf11b6ff5dc40246fb35c7e5d35f7d80b17bdc55e5a5686b5222500f416f462be06a3991bf786100bf0fc1af57be569a6f SHA512 9f0649d2e3eccd52a093b4d9c3446d7f05ad4938a6950042fc2c3cf05f6ca2f513706385fc39cf4559344a4770fcc4375306904a233d0edd48b6eff5f17f1b0f diff --git a/media-libs/vulkan-layers/files/vulkan-layers-1.3.204-Dont-use-static-spirv-tools.patch b/media-libs/vulkan-layers/files/vulkan-layers-1.3.204-Dont-use-static-spirv-tools.patch new file mode 100644 index 000000000000..791ac6764bce --- /dev/null +++ b/media-libs/vulkan-layers/files/vulkan-layers-1.3.204-Dont-use-static-spirv-tools.patch @@ -0,0 +1,27 @@ +From 68f030f9e776d1f2549e471f40c9794f6056bb05 Mon Sep 17 00:00:00 2001 +From: Nick Sarnie <[email protected]> +Date: Sat, 19 Feb 2022 20:41:44 -0500 +Subject: [PATCH] Dont use static spirv-tools + +Signed-off-by: Nick Sarnie <[email protected]> +--- + layers/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/layers/CMakeLists.txt b/layers/CMakeLists.txt +index 59e294a07..5d30a9834 100644 +--- a/layers/CMakeLists.txt ++++ b/layers/CMakeLists.txt +@@ -310,7 +310,7 @@ if(BUILD_LAYERS) + target_include_directories(VkLayer_khronos_validation PRIVATE ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) + endif() + target_include_directories(VkLayer_khronos_validation PRIVATE ${SPIRV_HEADERS_INCLUDE_DIR}) +- target_link_libraries(VkLayer_khronos_validation PRIVATE SPIRV-Tools-static SPIRV-Tools-opt) ++ target_link_libraries(VkLayer_khronos_validation PRIVATE SPIRV-Tools SPIRV-Tools-opt) + + + # The output file needs Unix "/" separators or Windows "\" separators On top of that, Windows separators actually need to be doubled + +-- +2.35.1 + diff --git a/media-libs/vulkan-layers/files/vulkan-layers-1.3.204-Fix-dependency-detection.patch b/media-libs/vulkan-layers/files/vulkan-layers-1.3.204-Fix-dependency-detection.patch new file mode 100644 index 000000000000..25f3b4bafd27 --- /dev/null +++ b/media-libs/vulkan-layers/files/vulkan-layers-1.3.204-Fix-dependency-detection.patch @@ -0,0 +1,90 @@ +From 534810e26e0be782b2c702a97bf726af250b8cd6 Mon Sep 17 00:00:00 2001 +From: Jeremy Gebben <[email protected]> +Date: Thu, 17 Feb 2022 15:26:25 -0700 +Subject: [PATCH] build: Handle many permutations of SPIRV-Headers locations + +If the SPIRV-Headers package is not found, fall back to looking for +headers in SPIRV_HEADERS_INSTALL_DIR or SPIRV_HEADERS_INCLUDE_DIR. + +Fixes #3765 +--- + CMakeLists.txt | 19 ++++++++++++++++--- + layers/CMakeLists.txt | 7 +------ + tests/CMakeLists.txt | 6 +++--- + 3 files changed, 20 insertions(+), 12 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d4ca786ca07..58a966f03d6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -256,10 +256,23 @@ if (USE_ROBIN_HOOD_HASHING) + endif() + endif() + +-set(SPIRV_HEADERS_INCLUDE_DIR "" CACHE STRING "") + if(BUILD_LAYERS OR BUILD_TESTS) +- if (SPIRV_HEADERS_INCLUDE_DIR STREQUAL "") +- find_package(SPIRV-Headers REQUIRED CONFIG) ++ find_package(SPIRV-Headers CONFIG QUIET) ++ if(SPIRV-Headers_FOUND) ++ # pefer the package if found. Note that if SPIRV_HEADERS_INSTALL_DIR points at an 'installed' ++ # version of SPIRV-Headers, the package will be found. ++ get_target_property(SPIRV_HEADERS_INCLUDE_DIR SPIRV-Headers::SPIRV-Headers INTERFACE_INCLUDE_DIRECTORIES) ++ elseif(SPIRV_HEADERS_INCLUDE_DIR) ++ # This is set by SPIRV-Tools (in parent scope!) and also some packages that include VVL with add_subdirectory ++ if (NOT EXISTS "${SPIRV_HEADERS_INCLUDE_DIR}/spirv/unified1/spirv.h") ++ message(FATAL_ERROR "Cannot find SPIRV-Headers from SPIRV_HEADERS_INCLUDE_DIR: ${SPIRV_HEADERS_INCLUDE_DIR}") ++ endif() ++ elseif(SPIRV_HEADERS_INSTALL_DIR) ++ # This is our official variable for setting SPIRV-Headers location, but pointing at the raw source of SPIRV-Headers ++ if (NOT EXISTS "${SPIRV_HEADERS_INSTALL_DIR}/include/spirv/unified1/spirv.h") ++ message(FATAL_ERROR "Cannot find SPIRV-Headers from SPIRV_HEADERS_INSTALL_DIR: ${SPIRV_HEADERS_INSTALL_DIR}") ++ endif() ++ set(SPIRV_HEADERS_INCLUDE_DIR "${SPIRV_HEADERS_INSTALL_DIR}/include") + endif() + endif() + +diff --git a/layers/CMakeLists.txt b/layers/CMakeLists.txt +index 6edcf6eb5ab..59e294a0793 100644 +--- a/layers/CMakeLists.txt ++++ b/layers/CMakeLists.txt +@@ -309,12 +309,7 @@ if(BUILD_LAYERS) + if (USE_ROBIN_HOOD_HASHING) + target_include_directories(VkLayer_khronos_validation PRIVATE ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) + endif() +- if (SPIRV_HEADERS_INCLUDE_DIR STREQUAL "") +- target_link_libraries(VkLayer_khronos_validation PRIVATE SPIRV-Headers::SPIRV-Headers) +- else() +- target_include_directories(VkLayer_khronos_validation PRIVATE ${SPIRV_HEADERS_INCLUDE_DIR}) +- endif() +- ++ target_include_directories(VkLayer_khronos_validation PRIVATE ${SPIRV_HEADERS_INCLUDE_DIR}) + target_link_libraries(VkLayer_khronos_validation PRIVATE SPIRV-Tools-static SPIRV-Tools-opt) + + +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 2b98d109b7f..780c0538486 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -1,6 +1,6 @@ + # ~~~ +-# Copyright (c) 2014-2021 Valve Corporation +-# Copyright (c) 2014-2021 LunarG, Inc. ++# Copyright (c) 2014-2022 Valve Corporation ++# Copyright (c) 2014-2022 LunarG, Inc. + # + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this file except in compliance with the License. +@@ -149,11 +149,11 @@ if (NOT MSVC) + target_compile_options(vk_layer_validation_tests PRIVATE "-Wno-sign-compare") + endif() + ++target_include_directories(vk_layer_validation_tests PRIVATE ${SPIRV_HEADERS_INCLUDE_DIR}) + # Specify target_link_libraries + target_link_libraries(vk_layer_validation_tests + PRIVATE VkLayer_utils + ${GLSLANG_LIBRARIES} +- SPIRV-Headers::SPIRV-Headers + SPIRV-Tools-static SPIRV-Tools-opt + GTest::gtest GTest::gtest_main) + diff --git a/media-libs/vulkan-layers/vulkan-layers-9999.ebuild b/media-libs/vulkan-layers/vulkan-layers-1.3.204.ebuild similarity index 84% copy from media-libs/vulkan-layers/vulkan-layers-9999.ebuild copy to media-libs/vulkan-layers/vulkan-layers-1.3.204.ebuild index 5beaf4f6dc7a..2288a824c1fd 100644 --- a/media-libs/vulkan-layers/vulkan-layers-9999.ebuild +++ b/media-libs/vulkan-layers/vulkan-layers-1.3.204.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -21,15 +21,20 @@ fi DESCRIPTION="Vulkan Validation Layers" HOMEPAGE="https://github.com/KhronosGroup/Vulkan-ValidationLayers" +PATCHES=( + "${FILESDIR}"/${P}-Fix-dependency-detection.patch + "${FILESDIR}"/${P}-Dont-use-static-spirv-tools.patch +) + LICENSE="Apache-2.0" SLOT="0" IUSE="wayland X" BDEPEND=">=dev-util/cmake-3.10.2" -RDEPEND="~dev-util/spirv-tools-99999999:=[${MULTILIB_USEDEP}]" +RDEPEND="~dev-util/spirv-tools-${PV}:=[${MULTILIB_USEDEP}]" DEPEND="${RDEPEND} ${PYTHON_DEPS} - dev-cpp/robin-hood-hashing + >=dev-cpp/robin-hood-hashing-3.11.5 ~dev-util/glslang-${PV}:=[${MULTILIB_USEDEP}] ~dev-util/vulkan-headers-${PV} wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] ) @@ -51,7 +56,6 @@ multilib_src_configure() { -DBUILD_TESTS=OFF -DGLSLANG_INSTALL_DIR="${ESYSROOT}/usr" -DCMAKE_INSTALL_INCLUDEDIR="${EPREFIX}/usr/include/" - -DSPIRV_HEADERS_INSTALL_DIR="${ESYSROOT}/usr/include/spirv" ) cmake_src_configure } diff --git a/media-libs/vulkan-layers/vulkan-layers-9999.ebuild b/media-libs/vulkan-layers/vulkan-layers-9999.ebuild index 5beaf4f6dc7a..b4edb5a84d37 100644 --- a/media-libs/vulkan-layers/vulkan-layers-9999.ebuild +++ b/media-libs/vulkan-layers/vulkan-layers-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -29,7 +29,7 @@ BDEPEND=">=dev-util/cmake-3.10.2" RDEPEND="~dev-util/spirv-tools-99999999:=[${MULTILIB_USEDEP}]" DEPEND="${RDEPEND} ${PYTHON_DEPS} - dev-cpp/robin-hood-hashing + >=dev-cpp/robin-hood-hashing-3.11.5 ~dev-util/glslang-${PV}:=[${MULTILIB_USEDEP}] ~dev-util/vulkan-headers-${PV} wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
