diff --git a/media-libs/vulkan-layers/Manifest b/media-libs/vulkan-layers/Manifest index ea50647d6f3e3..fb1676306be13 100644 --- a/media-libs/vulkan-layers/Manifest +++ b/media-libs/vulkan-layers/Manifest @@ -1,2 +1,3 @@ DIST vulkan-layers-1.4.321.0.tar.gz 6494385 BLAKE2B 483b41655630967a7a08bf1bb34264a16829f30174eb21f1e5d73e70c69b88f9a4972dbbeb915c754bc88ebe588856a4b1f9f9edcac50aed9fea32fcc7c38196 SHA512 47651166201f06159348c36667097410f9b51c1907754f99b44af58ef0f6b75c47e8b1f31d06b821915589575bd74dcbda927751994b088deeaa1e46ff1653c5 DIST vulkan-layers-1.4.328.0.tar.gz 6765952 BLAKE2B 7b68d635c262f1350f93c5906ccaf9b548ea27ae85210198e02d8cbaee52a9bd080fd9555979a6b26d2d5fe200de8e4a77f938f1a77050b959100b6b82226b10 SHA512 d98ae93e738fee540e4924c887497f06ca7296a22a1a450f08e5278bdc51fb440443361fdf839793bc632b6e6115754621f24a8e7f2548da58d1bf67713ccaf9 +DIST vulkan-layers-1.4.335.0.tar.gz 7035814 BLAKE2B ee49766f3521db3434dfba793f8cb51d98363610cf85d91f238727c3dd3392743897fe3aa0979956fefcdf86a4e2b0a2de9c0b236473ceba3d7556363e572407 SHA512 5088bfb212595d5c1bd052f3e2e7d52ffa1c329625576116876a248daba51c9ba86297ebf8ffb6bd1e8f78bf161409a603aa4d145032664623292d53ed541514 diff --git a/media-libs/vulkan-layers/files/vulkan-layers-1.4.335.0-tests-no-static.patch b/media-libs/vulkan-layers/files/vulkan-layers-1.4.335.0-tests-no-static.patch new file mode 100644 index 0000000000000..92aa8f659cbbf --- /dev/null +++ b/media-libs/vulkan-layers/files/vulkan-layers-1.4.335.0-tests-no-static.patch @@ -0,0 +1,42 @@ +diff --git a/tests/framework/CMakeLists.txt b/tests/framework/CMakeLists.txt +index 1950b4b06..3fee44ae0 100644 +--- a/tests/framework/CMakeLists.txt ++++ b/tests/framework/CMakeLists.txt +@@ -74,7 +74,6 @@ target_include_directories(vk_test_framework PUBLIC + + find_package(GTest CONFIG) + find_package(glslang CONFIG) +-find_package(SPIRV-Tools CONFIG) + + if(${CMAKE_CXX_COMPILER_ID} MATCHES "(GNU|Clang)") + target_compile_options(vk_test_framework PUBLIC +@@ -103,7 +102,6 @@ endif() + target_link_libraries(vk_test_framework PUBLIC + VkLayer_utils + glslang::SPIRV +- SPIRV-Tools-static + SPIRV-Headers::SPIRV-Headers + GTest::gtest + GTest::gtest_main +@@ -112,6 +110,21 @@ target_link_libraries(vk_test_framework PUBLIC + $ + ) + ++find_package(SPIRV-Tools CONFIG QUIET) ++ ++# See https://github.com/KhronosGroup/SPIRV-Tools/issues/3909 for background on this. ++# The targets available from SPIRV-Tools change depending on how SPIRV_TOOLS_BUILD_STATIC is set. ++# Try to handle all possible combinations so that we work with externally built packages. ++if (TARGET SPIRV-Tools) ++ target_link_libraries(vk_test_framework PRIVATE SPIRV-Tools) ++elseif(TARGET SPIRV-Tools-static) ++ target_link_libraries(vk_test_framework PRIVATE SPIRV-Tools-static) ++elseif(TARGET SPIRV-Tools-shared) ++ target_link_libraries(vk_test_framework PRIVATE SPIRV-Tools-shared) ++else() ++ message(FATAL_ERROR "Cannot determine SPIRV-Tools target name") ++endif() ++ + # setup framework/config.h using framework/config.h.in as a source + file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/config_$.h" INPUT "config.h.in") + diff --git a/media-libs/vulkan-layers/vulkan-layers-1.4.335.0.ebuild b/media-libs/vulkan-layers/vulkan-layers-1.4.335.0.ebuild new file mode 100644 index 0000000000000..eb4c1cde1ff07 --- /dev/null +++ b/media-libs/vulkan-layers/vulkan-layers-1.4.335.0.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN=Vulkan-ValidationLayers +PYTHON_COMPAT=( python3_{11..14} ) +inherit cmake-multilib python-any-r1 + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="https://github.com/KhronosGroup/${MY_PN}.git" + EGIT_SUBMODULES=() + inherit git-r3 +else + SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/vulkan-sdk-${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + S="${WORKDIR}"/${MY_PN}-vulkan-sdk-${PV} +fi + +DESCRIPTION="Vulkan Validation Layers" +HOMEPAGE="https://github.com/KhronosGroup/Vulkan-ValidationLayers" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="wayland test X" +# Many segfaults as of 1.4.313.0 +RESTRICT="!test? ( test ) test" + +RDEPEND="~dev-util/spirv-tools-${PV}[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + ~dev-util/glslang-${PV}:=[${MULTILIB_USEDEP}] + ~dev-util/spirv-headers-${PV} + ~dev-util/vulkan-headers-${PV} + ~dev-util/vulkan-utility-libraries-${PV}:=[${MULTILIB_USEDEP}] + wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] ) + X? ( + x11-libs/libX11:=[${MULTILIB_USEDEP}] + x11-libs/libXrandr:=[${MULTILIB_USEDEP}] + ) +" + +QA_SONAME="/usr/lib[^/]*/libVkLayer_khronos_validation.so" + +PATCHES=( + "${FILESDIR}"/${PN}-1.4.335.0-tests-no-static.patch +) + +multilib_src_configure() { + local mycmakeargs=( + -DCMAKE_C_FLAGS="${CFLAGS} -DNDEBUG" + -DCMAKE_CXX_FLAGS="${CXXFLAGS} -DNDEBUG" + -DCMAKE_SKIP_RPATH=ON + -DBUILD_WERROR=OFF + -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland) + -DBUILD_WSI_XCB_SUPPORT=$(usex X) + -DBUILD_WSI_XLIB_SUPPORT=$(usex X) + -DBUILD_TESTS=$(usex test) + ) + cmake_src_configure +} + +multilib_src_install_all() { + find "${ED}" -type f -name \*.a -delete || die +} diff --git a/media-libs/vulkan-layers/vulkan-layers-9999.ebuild b/media-libs/vulkan-layers/vulkan-layers-9999.ebuild index a8935e38b108d..c82b6a134db48 100644 --- a/media-libs/vulkan-layers/vulkan-layers-9999.ebuild +++ b/media-libs/vulkan-layers/vulkan-layers-9999.ebuild @@ -42,7 +42,7 @@ DEPEND="${RDEPEND} QA_SONAME="/usr/lib[^/]*/libVkLayer_khronos_validation.so" PATCHES=( - "${FILESDIR}"/${PN}-1.4.328.0-tests-no-static.patch + "${FILESDIR}"/${PN}-1.4.335.0-tests-no-static.patch ) multilib_src_configure() {