commit:     b2f773894505150a5d3dd8ec2a66cb1c526bce69
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 17 16:25:56 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Nov 17 17:34:28 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2f77389

app-emulation/vkd3d-proton: update live

Submodules are getting a bit of a pain to maintain, there's now
an extra layer that need a (3rd) copy of spirv headers with its
own mismatching hash. Probably time to give this up, allow all
submodules for live, and do our own tarball for releases.

As a reminder, unfortunately, upstream's vkd3d-proton-3.0.tar.zst
is the prebuilts and not the sources.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../vkd3d-proton/vkd3d-proton-9999.ebuild          | 52 ++++------------------
 1 file changed, 9 insertions(+), 43 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild 
b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 913349a19e2c..6fba6a03c9de 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -10,31 +10,9 @@ inherit eapi9-ver flag-o-matic meson-multilib toolchain-funcs
 if [[ ${PV} == 9999 ]]; then
        inherit git-r3
        EGIT_REPO_URI="https://github.com/HansKristian-Work/vkd3d-proton.git";
-       EGIT_SUBMODULES=(
-               # uses hacks / recent features and easily breaks, keep bundled 
headers
-               # (also cross-compiled and -I/usr/include is troublesome)
-               khronos/{SPIRV,Vulkan}-Headers
-               subprojects/dxil-spirv
-               subprojects/dxil-spirv/third_party/spirv-headers # skip 
cross/tools
-       )
 else
-       HASH_VKD3D= # match tag on bumps
-       HASH_DXIL=
-       HASH_SPIRV=
-       HASH_SPIRV_DXIL=
-       HASH_VULKAN=
-       SRC_URI="
-               
https://github.com/HansKristian-Work/vkd3d-proton/archive/refs/tags/v${PV}.tar.gz
-                       -> ${P}.tar.gz
-               
https://github.com/HansKristian-Work/dxil-spirv/archive/${HASH_DXIL}.tar.gz
-                       -> dxil-spirv-${HASH_DXIL}.tar.gz
-               
https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
-                       -> spirv-headers-${HASH_SPIRV}.tar.gz
-               
https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
-                       -> spirv-headers-${HASH_SPIRV_DXIL}.tar.gz
-               
https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
-                       -> vulkan-headers-${HASH_VULKAN}.tar.gz
-       "
+       # tarball is same as upstream except for including git submodules
+       SRC_URI="https://dev.gentoo.org/~ionen/distfiles/${P}.tar.xz";
        KEYWORDS="-* ~amd64 ~x86"
 fi
 
@@ -83,31 +61,19 @@ pkg_pretend() {
 }
 
 src_prepare() {
-       if [[ ${PV} != 9999 ]]; then
-               rmdir khronos/{SPIRV,Vulkan}-Headers subprojects/dxil-spirv || 
die
-               mv ../dxil-spirv-${HASH_DXIL} subprojects/dxil-spirv || die
-               mv ../SPIRV-Headers-${HASH_SPIRV} khronos/SPIRV-Headers || die
-               mv ../Vulkan-Headers-${HASH_VULKAN} khronos/Vulkan-Headers || 
die
-
-               rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
-               # dxil and vkd3d's spirv headers sometime mismatch and are 
incompatible
-               if [[ ${HASH_SPIRV} == "${HASH_SPIRV_DXIL}" ]]; then
-                       ln -s ../../../khronos/SPIRV-Headers \
-                               
subprojects/dxil-spirv/third_party/spirv-headers || die
-               else
-                       mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
-                               
subprojects/dxil-spirv/third_party/spirv-headers || die
-               fi
-       fi
-
        default
 
        sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" 
setup_vkd3d_proton.sh || die
 
        if [[ ${PV} != 9999 ]]; then
+               # update to match version+hash of release tag on bump
+               local tag_ver=
+               local tag_hash=
+               [[ ${PV} == ${tag_ver} ]] || die "hash has not been updated"
+
                # without .git, meson sets vkd3d_build as 0x${PV} leading to 
failure
-               sed -i "s/@VCS_TAG@/${HASH_VKD3D::15}/" vkd3d_build.h.in || die
-               sed -i "s/@VCS_TAG@/${HASH_VKD3D::7}/" vkd3d_version.h.in || die
+               sed -i "s/@VCS_TAG@/${tag_hash::15}/" vkd3d_build.h.in || die
+               sed -i "s/@VCS_TAG@/${tag_hash::7}/" vkd3d_version.h.in || die
        fi
 }
 

Reply via email to