| 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 |
|