dev-util/DirectXShaderCompiler: Sadly DirectXShaderCompiler is required for modern AMDVLK versions (since 2022.3.4)

Signed-off-by: Denis Reva <denis7774@gmail.com>
This commit is contained in:
Denis Reva
2022-09-22 10:26:04 +05:00
parent 629ecdbe1a
commit 47882770e5
3 changed files with 77 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..11} )
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
SPIRV_HEADERS_COMMIT_MAGIC="0bcc624926a25a2a273d07877fd25a6ff5ba1cfb"
SPIRV_TOOLS_COMMIT_MAGIC="71b2aee6c868a673ec82d1385f97593aa2881316"
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"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND="${PYTHON_DEPS}"
RDEPEND="
sys-libs/zlib:0=
>=dev-libs/libffi-3.4.2-r1:0=
"
BDEPEND="dev-util/cmake
sys-devel/gnuconfig
"
CHECKREQS_MEMORY="4G"
CHECKREQS_DISK_BUILD="4G"
CMAKE_EXTRA_CACHE_FILE="${S}/cmake/caches/PredefinedParams.cmake"
src_prepare() {
rm -d "${S}"/external/SPIRV*
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"
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
-DBUILD_SHARED_LIBS=OFF
-DLLVM_VERSION_SUFFIX=dxc
)
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
}

View File

@@ -0,0 +1,3 @@
DIST DirectXShaderCompiler-1.7.2207.tar.gz 23764105 BLAKE2B 4b3bab8a961cdec96fd31da85386cf61af304d5ed1f6dcb40530bb2b084bc454f42ecfcbf9bcb228ecd2870c13b7b211509e05e3b7ed08ee3c2ed264505d162d SHA512 4faa6b53f2f694c9593ebf4ac02ce771fe1cb1822595799dc3a6c85752de701afe546b5fbdfedcc0ba466b0081bc679fca1fd7fb5fc05167c7449fb378a1c651
DIST DirectXShaderCompiler-headers-0bcc624926a25a2a273d07877fd25a6ff5ba1cfb.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c
DIST DirectXShaderCompiler-tools-71b2aee6c868a673ec82d1385f97593aa2881316.tar.gz 3042018 BLAKE2B e9d62559fc270c4140f2638a51b8d14120d84a868a35c488f30bff1b098a98fa1683e85b0778208de61a0b5c0b3f0996071e655a8fa64cc7c3c791527ff9441a SHA512 68f80e4a3395ba7c87ab08f515d265f0c106f39770e043cc8eba5e62f2762405e05e4b5b187e33702ce0a2204fc9d42cbf7ce27a6268daf59f4ab4c04b73d462

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
<pkgmetadata>
<maintainer type="person">
<email>denis7774@gmail.com</email>
<name>Denis Reva</name>
<description>rarogcmex</description>
</maintainer>
<longdescription lang="en">
The DirectX Shader Compiler project includes a compiler and related tools used to compile High-Level Shader Language (HLSL) programs into DirectX Intermediate Language (DXIL) representation. Applications that make use of DirectX for graphics, games, and computation can use it to generate shader programs.
</longdescription>
</pkgmetadata>