| 1 |
|
# Copyright 2022-2025 Gentoo Authors
|
|
1 |
# Copyright 2022-2026 Gentoo Authors
|
| 2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
3 |
|
| 4 |
4 |
EAPI=8
|
| ... | ... | |
| 10 |
10 |
if [[ ${PV} == 9999 ]]; then
|
| 11 |
11 |
inherit git-r3
|
| 12 |
12 |
EGIT_REPO_URI="https://github.com/HansKristian-Work/vkd3d-proton.git"
|
| 13 |
|
EGIT_SUBMODULES=(
|
| 14 |
|
# uses hacks / recent features and easily breaks, keep bundled headers
|
| 15 |
|
# (also cross-compiled and -I/usr/include is troublesome)
|
| 16 |
|
khronos/{SPIRV,Vulkan}-Headers
|
| 17 |
|
subprojects/dxil-spirv
|
| 18 |
|
subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
|
| 19 |
|
)
|
| 20 |
13 |
else
|
| 21 |
|
HASH_VKD3D=0d66699b1b1e250ef19d793f2649d9288b0808ff # match tag on bumps
|
| 22 |
|
HASH_DXIL=33cd5b2eee8a27da50ad7ed2762e56cca3a7b2c9
|
| 23 |
|
HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
|
| 24 |
|
HASH_SPIRV_DXIL=ec59c77a3bb5c747a369931ef101ac7c14823f2f
|
| 25 |
|
HASH_VULKAN=29f979ee5aa58b7b005f805ea8df7a855c39ff37
|
| 26 |
|
SRC_URI="
|
| 27 |
|
https://github.com/HansKristian-Work/vkd3d-proton/archive/refs/tags/v${PV}.tar.gz
|
| 28 |
|
-> ${P}.tar.gz
|
| 29 |
|
https://github.com/HansKristian-Work/dxil-spirv/archive/${HASH_DXIL}.tar.gz
|
| 30 |
|
-> dxil-spirv-${HASH_DXIL}.tar.gz
|
| 31 |
|
https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
|
| 32 |
|
-> spirv-headers-${HASH_SPIRV}.tar.gz
|
| 33 |
|
https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
|
| 34 |
|
-> spirv-headers-${HASH_SPIRV_DXIL}.tar.gz
|
| 35 |
|
https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
|
| 36 |
|
-> vulkan-headers-${HASH_VULKAN}.tar.gz
|
| 37 |
|
"
|
| 38 |
|
KEYWORDS="-* amd64 x86"
|
|
14 |
# tarball is same as upstream except for including git submodules
|
|
15 |
SRC_URI="https://distfiles.gentoo.org/pub/dev/ionen@gentoo.org/${P}.tar.xz"
|
|
16 |
KEYWORDS="-* ~amd64 ~x86"
|
| 39 |
17 |
fi
|
| 40 |
18 |
|
| 41 |
19 |
DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"
|
| ... | ... | |
| 47 |
25 |
|
| 48 |
26 |
BDEPEND="
|
| 49 |
27 |
dev-util/glslang
|
| 50 |
|
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
|
| 51 |
|
|
| 52 |
|
PATCHES=(
|
| 53 |
|
"${FILESDIR}"/${PN}-2.6-wow64-setup.patch
|
| 54 |
|
)
|
|
28 |
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
|
|
29 |
"
|
| 55 |
30 |
|
| 56 |
31 |
pkg_pretend() {
|
| 57 |
32 |
[[ ${MERGE_TYPE} == binary ]] && return
|
| ... | ... | |
| 83 |
58 |
}
|
| 84 |
59 |
|
| 85 |
60 |
src_prepare() {
|
| 86 |
|
if [[ ${PV} != 9999 ]]; then
|
| 87 |
|
rmdir khronos/{SPIRV,Vulkan}-Headers subprojects/dxil-spirv || die
|
| 88 |
|
mv ../dxil-spirv-${HASH_DXIL} subprojects/dxil-spirv || die
|
| 89 |
|
mv ../SPIRV-Headers-${HASH_SPIRV} khronos/SPIRV-Headers || die
|
| 90 |
|
mv ../Vulkan-Headers-${HASH_VULKAN} khronos/Vulkan-Headers || die
|
| 91 |
|
|
| 92 |
|
rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
|
| 93 |
|
# dxil and vkd3d's spirv headers sometime mismatch and are incompatible
|
| 94 |
|
if [[ ${HASH_SPIRV} == "${HASH_SPIRV_DXIL}" ]]; then
|
| 95 |
|
ln -s ../../../khronos/SPIRV-Headers \
|
| 96 |
|
subprojects/dxil-spirv/third_party/spirv-headers || die
|
| 97 |
|
else
|
| 98 |
|
mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
|
| 99 |
|
subprojects/dxil-spirv/third_party/spirv-headers || die
|
| 100 |
|
fi
|
| 101 |
|
fi
|
| 102 |
|
|
| 103 |
61 |
default
|
| 104 |
62 |
|
| 105 |
63 |
sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_vkd3d_proton.sh || die
|
| 106 |
|
|
| 107 |
|
if [[ ${PV} != 9999 ]]; then
|
| 108 |
|
# without .git, meson sets vkd3d_build as 0x${PV} leading to failure
|
| 109 |
|
sed -i "s/@VCS_TAG@/${HASH_VKD3D::15}/" vkd3d_build.h.in || die
|
| 110 |
|
sed -i "s/@VCS_TAG@/${HASH_VKD3D::7}/" vkd3d_version.h.in || die
|
| 111 |
|
fi
|
| 112 |
64 |
}
|
| 113 |
65 |
|
| 114 |
66 |
src_configure() {
|