From 6881316b5b699dcdf6595575442c762d622bcff4 Mon Sep 17 00:00:00 2001 From: Alexander Tsoy Date: Fri, 18 Jul 2025 05:37:51 +0300 Subject: [PATCH] dev-util/DirectXShaderCompiler: add 1.8.2505 Also stop using user variable CMAKE_EXTRA_CACHE_FILE and pass additional -C option via mycmakeargs. Signed-off-by: Alexander Tsoy --- .../DirectXShaderCompiler-1.8.2505.ebuild | 77 +++++++++++++++++++ dev-util/DirectXShaderCompiler/Manifest | 3 + 2 files changed, 80 insertions(+) create mode 100644 dev-util/DirectXShaderCompiler/DirectXShaderCompiler-1.8.2505.ebuild diff --git a/dev-util/DirectXShaderCompiler/DirectXShaderCompiler-1.8.2505.ebuild b/dev-util/DirectXShaderCompiler/DirectXShaderCompiler-1.8.2505.ebuild new file mode 100644 index 0000000000..5908294b38 --- /dev/null +++ b/dev-util/DirectXShaderCompiler/DirectXShaderCompiler-1.8.2505.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit cmake check-reqs python-any-r1 + +DESCRIPTION="Microsoft DirectX Shader Compiler which is based on LLVM/Clang" +HOMEPAGE="https://github.com/microsoft/DirectXShaderCompiler" +# ToDo: unbundle spirv headers/tools and directx headers +SPIRV_HEADERS_COMMIT_MAGIC="aa6cef192b8e693916eb713e7a9ccadf06062ceb" +SPIRV_TOOLS_COMMIT_MAGIC="a62abcb402009b9ca5975e6167c09f237f630e0e" +DIRECTX_HEADERS_COMMIT_MAGIC="980971e835876dc0cde415e8f9bc646e64667bf7" +SRC_URI=" + https://github.com/microsoft/DirectXShaderCompiler/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/KhronosGroup/SPIRV-Headers/archive/${SPIRV_HEADERS_COMMIT_MAGIC}.tar.gz + -> DirectXShaderCompiler-headers-${SPIRV_HEADERS_COMMIT_MAGIC}.tar.gz + https://github.com/KhronosGroup/SPIRV-Tools/archive/${SPIRV_TOOLS_COMMIT_MAGIC}.tar.gz + -> DirectXShaderCompiler-tools-${SPIRV_TOOLS_COMMIT_MAGIC}.tar.gz + https://github.com/microsoft/DirectX-Headers/archive/${DIRECTX_HEADERS_COMMIT_MAGIC}.tar.gz + -> DirectXShaderCompiler-directxheaders-${DIRECTX_HEADERS_COMMIT_MAGIC}.tar.gz +" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND="${PYTHON_DEPS}" +# Todo: unbundle +# dev-util/directx-headers +# dev-util/spirv-headers +# dev-util/spirv-tools +RDEPEND=" + sys-libs/zlib:0= + >=dev-libs/libffi-3.4.2-r1:0= +" +BDEPEND="sys-devel/gnuconfig" + +CHECKREQS_MEMORY="4G" +CHECKREQS_DISK_BUILD="4G" + +src_prepare() { + rm -d "${S}"/external/SPIRV* || die + rm -d "${S}"/external/DirectX* || die + mv "${WORKDIR}/SPIRV-Headers-${SPIRV_HEADERS_COMMIT_MAGIC}" "${S}/external/SPIRV-Headers" || die "can't move headers" + mv "${WORKDIR}/SPIRV-Tools-${SPIRV_TOOLS_COMMIT_MAGIC}" "${S}/external/SPIRV-Tools"|| die "can't move tools" + mv "${WORKDIR}/DirectX-Headers-${DIRECTX_HEADERS_COMMIT_MAGIC}" "${S}/external/DirectX-Headers"|| die "can't move DXH" + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -Wno-dev + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/dxc" + -DLLVM_BUILD_DOCS=0 + -DLLVM_BUILD_TOOLS=0 + -DSPIRV_BUILD_TESTS=0 + -DLLVM_ENABLE_WERROR=0 + -DSPIRV_WERROR=0 + -DSPIRV_WARN_EVERYTHING=0 + -DBUILD_SHARED_LIBS=OFF + -DLLVM_VERSION_SUFFIX=dxc + -C "${S}/cmake/caches/PredefinedParams.cmake" + ) + cmake_src_configure +} +src_install() { + cmake_src_install + cat > "99${PN}" <<-EOF + LDPATH="${EPREFIX}/usr/lib/llvm/dxc/lib" + EOF + doenvd "99${PN}" + dosym -r /usr/lib/llvm/dxc/bin/dxc /usr/bin/dxc +} diff --git a/dev-util/DirectXShaderCompiler/Manifest b/dev-util/DirectXShaderCompiler/Manifest index c5a814c665..5d5d1e9078 100644 --- a/dev-util/DirectXShaderCompiler/Manifest +++ b/dev-util/DirectXShaderCompiler/Manifest @@ -1,4 +1,7 @@ DIST DirectXShaderCompiler-1.8.2502.tar.gz 24454816 BLAKE2B f4d06d19ef97fe66251603c135739bfa11d83265f89e939df04ec967c0a82c6622994c8ba70720d59f2ad460e250753b705be30927ac5d4a5994416a41fc8b46 SHA512 4af052df2abce24295ab33b14de309de1c2aa0f2f57a6e78c41b2a64c9c65fc39097e340c1fbf78958472269cd85d34ab6aa377166e363c12fdc61a20e0a4757 +DIST DirectXShaderCompiler-1.8.2505.tar.gz 24709880 BLAKE2B 1f030335bf0f3185f1410aacfc373de3f2758c21480ef56e4d09632f63cecd76f3384bb91b67c9bfd6ec65aa4b851095b6ebb18ae8c0bfa382fee89d74e0dd8a SHA512 daf24096341f8cc7a67f41dd9de20a7908044f4c1fd4c1b07606b47bb6ccb180f7c3a787c00b72284b810a66cc29c80a60f70bfc0c3edbb0d224d21c8adf10ea DIST DirectXShaderCompiler-directxheaders-980971e835876dc0cde415e8f9bc646e64667bf7.tar.gz 326310 BLAKE2B 8ea4bbae290926c08d02d1a1262e813bb188c62a6deb81ed03954c500473581dc2430d09ca0742c42c5d8bfc2e232c999531ec5ad139aa791b7e8b06dfacd61d SHA512 a570068d3c25c68eba34a2653108e2019f888a7392a803f97da9a401713b14bf4235520f0adc37c2f6ffb27cfb118ca7bb0fc8e446b342a7393c9c64afd84ed8 DIST DirectXShaderCompiler-headers-3f17b2af6784bfa2c5aa5dbb8e0e74a607dd8b3b.tar.gz 532355 BLAKE2B 6ccbc10e5de56c2eb089209b81372a991728c98ba4c19ea894a65cac9f2e234c2e94c4d6fc34e3f8eaf1c3afaae6eb21986d79d91e9a9526359c1b9920b528dd SHA512 0e9d0acdc1f1d390b230e6edc7ce05783084fa2d951e7d7aa666fdf16c7b83dedcdf564290ed63ab1bc405ad8b4a53a22fe1d283f689d1e549afe745c02f0958 +DIST DirectXShaderCompiler-headers-aa6cef192b8e693916eb713e7a9ccadf06062ceb.tar.gz 547754 BLAKE2B cc01b7846f107b541f0733d478bb322bdd5d95ecbd78f85901f9232e4be31c8ceb4cbc1395b2a57c85adc5ec932d409752e050cbab2b032cfb17dc569c47d0b6 SHA512 b68e111dbc57d957d062b4cbbf6ef9e7aa47ac03c68b543fd3d38d71ea333437165339f6e910d930e4e243b18d34eac800bb20b2f739a4fbdd3700f38152f39c DIST DirectXShaderCompiler-tools-4d2f0b40bfe290dea6c6904dafdf7fd8328ba346.tar.gz 3206156 BLAKE2B 0874d1cb0f234f6d26009290a36aef406893d4591ec0c64e66449b7a0bc9c9987b2fee69a98e0a667eecfc9c93561347b6e6d1921a41cb0acc3de84e0d3e1676 SHA512 1d2368a290c1cb003db98289405f2cca479c5bb0175441f4243a25b9d810d6071bd639343f46c081efa6ab701662a59c8587c1a1016922dda61e1611ae0f8d26 +DIST DirectXShaderCompiler-tools-a62abcb402009b9ca5975e6167c09f237f630e0e.tar.gz 3289276 BLAKE2B 999a2aa84394f6b2494a35e24ff5c4b09cb05564370a427d5409e30e6c9c9ff85a32515b9b7f454f1352c3e6b863ab7078beff0a1f37adb34d6f6f779dd58e38 SHA512 e1cadd124b9a2d47119008c1bdf986518b4df36f7dc5136ed0abd3731cd6b9e123efeb5f8d267b243117b89fd107aca14f3a0622920b5a02e45e4d708a9496ad