Diff vkd3d-proton-2.14.1 with a vkd3d-proton-9999

/usr/portage/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild 2025-11-18 18:18:06.838097039 +0300
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://dev.gentoo.org/~ionen/distfiles/${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"
......
83 61
}
84 62

  
85 63
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 64
	default
104 65

  
105 66
	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_vkd3d_proton.sh || die
106 67

  
107 68
	if [[ ${PV} != 9999 ]]; then
69
		# update to match version+hash of release tag on bump
70
		local tag_ver=
71
		local tag_hash=
72
		[[ ${PV} == ${tag_ver} ]] || die "hash has not been updated"
73

  
108 74
		# 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
75
		sed -i "s/@VCS_TAG@/${tag_hash::15}/" vkd3d_build.h.in || die
76
		sed -i "s/@VCS_TAG@/${tag_hash::7}/" vkd3d_version.h.in || die
111 77
	fi
112 78
}
113 79

  
Thank you!