summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-26 03:04:32 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-26 03:04:32 -0500
commit8a7e9bb6193b9b54ffb149bdf92c9689a3798e00 (patch)
treea65a4cafeec5fa345fbaad47d0c3892cbb3bd183 /app-emulation
parenta2d754850b88dddfc90152e4eaf858d6907b5201 (diff)
downloadbaldeagleos-repo-8a7e9bb6193b9b54ffb149bdf92c9689a3798e00.tar.gz
baldeagleos-repo-8a7e9bb6193b9b54ffb149bdf92c9689a3798e00.tar.xz
baldeagleos-repo-8a7e9bb6193b9b54ffb149bdf92c9689a3798e00.zip
Adding metadata
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/dxvk/Manifest6
-rw-r--r--app-emulation/dxvk/dxvk-2.3.1-r1.ebuild187
-rw-r--r--app-emulation/dxvk/dxvk-2.4.1.ebuild178
-rw-r--r--app-emulation/dxvk/dxvk-2.6.2.ebuild177
-rw-r--r--app-emulation/dxvk/dxvk-3.0.ebuild (renamed from app-emulation/dxvk/dxvk-2.5.3.ebuild)29
-rw-r--r--app-emulation/dxvk/dxvk-9999.ebuild48
-rw-r--r--app-emulation/dxvk/files/dxvk-2.3.1-gcc14.patch7
-rw-r--r--app-emulation/vkd3d-proton/Manifest12
-rw-r--r--app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild205
-rw-r--r--app-emulation/vkd3d-proton/vkd3d-proton-2.13.ebuild205
-rw-r--r--app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild184
-rw-r--r--app-emulation/vkd3d-proton/vkd3d-proton-3.0b.ebuild171
12 files changed, 8 insertions, 1401 deletions
diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index 57b3ac3caf8e..c617ad903fb4 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,10 +1,6 @@
-DIST dxvk-2.3.1.tar.gz 1005669 BLAKE2B d78448fcde9d600f7206dfa606fca4069e7563bb8b181fbc172691d6c45586904ae529550926a03612ed3cc1f2a2dff00990638125c1d7ce6179d3cd3ba8df04 SHA512 085567ac263872eb93d776ce7cf982690603e240a977dbb51ad69344af387fd745536ca62819afd4a809732a6f2d22b36c3df9538decf37dec527973d41e392f
-DIST dxvk-2.4.1.tar.gz 1060662 BLAKE2B 43294af5829fe306acdb72c07b94c28d34eb798a2eaf6d2e42c2b80900e9b6f4f323569dfd51d565c836237fddce26b843f69e4ff57fc2a5838382993a9dd6ed SHA512 629e45bbdaddf83cd8a394877289781e8f54330b4c865b2d453ba3068a6054511a3697ca115497b64df0ce9ee36748a7fdb01fdc5f49a7dc44c4a3d3e47bf6de
-DIST dxvk-2.5.3.tar.gz 1142475 BLAKE2B 04bfb577902effec9e22b6546cdfc2b3dd76b84e72c23cb26ac4e54f7aa9464b15d7d74b41dd810fc62d4fff9bbb24cee2771f562a7b931025abfa5995b000bc SHA512 93de46ab69dceea9e13904d9f267a53295a885676bce432c13d992ea33553250e03a695caf15f2c0a9a416c0ed3d799a9155a09dcadfeb43e516780fb188b122
-DIST dxvk-2.6.2.tar.gz 1215059 BLAKE2B 433574d229eee82b25a2424f2adebb9fe8c17d6876fdac2a6cf2f08fe3538c729478643108df79c2df9085b80580ec39ad876a4e685b6c4c31ba732c1b279494 SHA512 fb1cf19138c5a9e31c3f6be32be71b431c1aabc8e0d8a303e2ccb957b65510f793cdfc07069a535568ec43d29d4ccea93e2489a811d352c62add923eb9a16523
DIST dxvk-2.7.1.tar.gz 1245578 BLAKE2B 66fc7d114890791eec750e8b6e059a14ae03c34cd039ee9470e79b33c7954237fcc023d2dd186077e662262fdbbbfc02c8161c17721122948ee727418b5a1480 SHA512 4d8c580d6e7a4e1a3438ec60fa323c5af002a3ea2f6dc4f049832ee6cbae34177623c373ab3d3f720be3149ce3cffb5b91da5892c1bdfe22c1e86bb9dde071ca
+DIST dxvk-3.0.tar.xz 3341328 BLAKE2B bdf30e771e537e4246234b1014400cb52a23fea5eae8c4c9fffa4c63be2a2474242974de46293614f6d66ab8c0c4343eb200379aee6e0bcc9fb27763a2339409 SHA512 2cda7ab842e51bd95f72786b76b92aeb14a034de080a7fa801ee079dc383186a54f27c82dab81bcdbf21885350ee28c70f6000e3209ab8f67aa276e6e061acbf
DIST libdisplay-info-275e6459c7ab1ddd4b125f28d0440716e4888078.tar.bz2 81172 BLAKE2B 7a1e9e2feeb95e06e9d3f49ad9d14a8a152cca525085e819cda0b69c238fb79dddd6d547cd0f0a4b51dfc1ec74ac4c006345b9fc48563807bc8ab3bab58ea5ff SHA512 794e94e8c16d65901a7b705d1ba3361817b4e9e19e520b1004bcab232d0347f5713594d67f3c2b79d4f86b3012e710c648975547d27a63de043fcbe9e6b7e66d
DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121
DIST spirv-headers-8b246ff75c6615ba4532fe4fde20f1be090c3764.tar.gz 472513 BLAKE2B f1ad7e11c306c62509655eb41d74efc5fb88688780d006c6944844e964b339baa000f70e115c4df2947e882c9ac33186e301b31138c38fe5f997f7af7260f521 SHA512 fe1d9d70b217b194c92dd397bca386ce8452bc5ec3967d64a257b3a531386fe6a6ecb5e9ed8ab5bc5a2707c5378f02f05809d6d197dcfb3f87cd33304c3b1959
DIST vulkan-headers-234c4b7370a8ea3239a214c9e871e4b17c89f4ab.tar.gz 2497311 BLAKE2B 29edd895e3066b25ab7b798ea22ea50b48b6234fcfc3ddb623a280ca4f19e3df4988b677e28457e85dc4e8c35784ddb543c4f6bb285f298ff4060e29df5e48e0 SHA512 d5fad9aa8027a3b47c79611f54d18a8a90538fa6de09aed3f669cff90a7afcbee32f3b019a516ea6e2a547416eb18b26cb953da5a853ed50b4e84f95ca9f9425
-DIST vulkan-headers-46dc0f6e514f5730784bb2cac2a7c731636839e8.tar.gz 2255426 BLAKE2B efaf09df3274586c4df2bdd0b1dd9dd43b3b6125e0033ae87af999aea64709e9758bc7b675398b480ae063e28273732d768062d97f6cd61d63ccc798ca7410a5 SHA512 7ea993f7c8ff72dc6bedbfdaced29782ab372228e9111f747d931955e832a7920114f5d1953ecd34d220634a53449ca2ed4c0ed28d3165e258c4d9fafd0aa4be
diff --git a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
deleted file mode 100644
index 33569e90367c..000000000000
--- a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-inherit eapi9-ver flag-o-matic meson-multilib python-any-r1
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
- EGIT_SUBMODULES=(
- # picky about headers and is cross-compiled making -I/usr/include troublesome
- include/{spirv,vulkan}
- subprojects/libdisplay-info
- )
-else
- HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
- HASH_VULKAN=46dc0f6e514f5730784bb2cac2a7c731636839e8
- HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078
- SRC_URI="
- https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.tar.gz
- https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
- -> spirv-headers-${HASH_SPIRV}.tar.gz
- https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
- -> vulkan-headers-${HASH_VULKAN}.tar.gz
- https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
- "
- KEYWORDS="-* amd64 x86"
-fi
-
-DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
-HOMEPAGE="https://github.com/doitsujin/dxvk/"
-
-# setup_dxvk.sh is no longer provided, fetch old until a better solution
-SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
-
-LICENSE="ZLIB Apache-2.0 MIT"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 +dxgi +strip"
-REQUIRED_USE="
- || ( d3d9 d3d10 d3d11 dxgi )
- d3d10? ( d3d11 )
- d3d11? ( dxgi )
-"
-
-BDEPEND="
- ${PYTHON_DEPS}
- dev-util/glslang
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
- "${FILESDIR}"/${PN}-2.3.1-gcc14.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local tool=-w64-mingw32-g++
- for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
- if ! type -P ${tool} >/dev/null; then
- eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
- eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
- use abi_x86_32 && use abi_x86_64 &&
- eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
- die "USE=crossdev-mingw is set but ${tool} was not found"
- elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
- eerror "${PN} requires GCC to be built with --enable-threads=posix"
- eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
- die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
- fi
- done
- fi
-}
-
-src_prepare() {
- if [[ ${PV} != 9999 ]]; then
- rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
- mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
- mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
- mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
- fi
- cp -- "${DISTDIR}"/setup_dxvk.sh . || die
-
- default
-
- sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
-}
-
-src_configure() {
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # random segfaults been reported with LTO in some games, filter as
- # a safety (note that optimizing this further won't really help
- # performance, GPU does the actual work)
- filter-lto
-
- # -mavx and mingw-gcc do not mix safely here
- # https://github.com/doitsujin/dxvk/issues/4746#issuecomment-2708869202
- append-flags -mno-avx
-
- if [[ ${CHOST} != *-mingw* ]]; then
- if [[ ! -v MINGW_BYPASS ]]; then
- unset AR CC CXX RC STRIP
- filter-flags '-fuse-ld=*'
- filter-flags '-mfunction-return=thunk*' #878849
-
- # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
- # strip-unsupported-flags miss these during compile-only tests
- # (primarily done for 23.0 profiles' -z, not full coverage)
- filter-flags '-Wl,-z,*' #928038
- fi
-
- CHOST_amd64=x86_64-w64-mingw32
- CHOST_x86=i686-w64-mingw32
- CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
-
- strip-unsupported-flags
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
- # unset again so meson eclass will set ${CHOST}-gcc + others
- use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
-
- local emesonargs=(
- --prefix="${EPREFIX}"/usr/lib/${PN}
- --{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
- --force-fallback-for=libdisplay-info # system's is ELF (unusable)
- $(meson_use {,enable_}d3d9)
- $(meson_use {,enable_}d3d10)
- $(meson_use {,enable_}d3d11)
- $(meson_use {,enable_}dxgi)
- $(usev strip --strip) # portage won't strip .dll, so allow it here
- )
-
- meson_src_configure
-}
-
-multilib_src_install_all() {
- dobin setup_dxvk.sh
- dodoc README.md dxvk.conf
-
- find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_preinst() {
- [[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
-}
-
-pkg_postinst() {
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- elog "To enable ${PN} on a wine prefix, you can run the following command:"
- elog
- elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
- elog
- elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
- elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
- elog "removed upstream, handling may change in the future."
- elif [[ -v DXVK_HAD_OVERLAY ]]; then
- # temporary warning until this version is more widely used
- elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
- elog "If you were using symbolic links in wine prefixes it may be necessary to"
- elog "refresh them by re-running the command:"
- elog
- elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
- elog
- elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
- elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
- fi
-
- if ver_replacing -lt 2.0; then
- elog
- elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
- elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
- elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
- fi
-}
diff --git a/app-emulation/dxvk/dxvk-2.4.1.ebuild b/app-emulation/dxvk/dxvk-2.4.1.ebuild
deleted file mode 100644
index 92e98110a59c..000000000000
--- a/app-emulation/dxvk/dxvk-2.4.1.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-inherit eapi9-ver flag-o-matic meson-multilib python-any-r1
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
- EGIT_SUBMODULES=(
- # picky about headers and is cross-compiled making -I/usr/include troublesome
- include/{spirv,vulkan}
- subprojects/libdisplay-info
- )
-else
- HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
- HASH_VULKAN=46dc0f6e514f5730784bb2cac2a7c731636839e8
- HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078
- SRC_URI="
- https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.tar.gz
- https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
- -> spirv-headers-${HASH_SPIRV}.tar.gz
- https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
- -> vulkan-headers-${HASH_VULKAN}.tar.gz
- https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
- "
- KEYWORDS="-* amd64 x86"
-fi
-
-DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
-HOMEPAGE="https://github.com/doitsujin/dxvk/"
-
-# setup_dxvk.sh is no longer provided, fetch old until a better solution
-SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
-
-LICENSE="ZLIB Apache-2.0 MIT"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw +d3d8 +d3d9 +d3d10 +d3d11 +dxgi +strip"
-REQUIRED_USE="
- || ( d3d8 d3d9 d3d10 d3d11 dxgi )
- d3d8? ( d3d9 )
- d3d10? ( d3d11 )
- d3d11? ( dxgi )
-"
-
-BDEPEND="
- ${PYTHON_DEPS}
- dev-util/glslang
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
- "${FILESDIR}"/${PN}-2.3.1-gcc14.patch
- "${FILESDIR}"/${PN}-2.4-d3d8-setup.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local tool=-w64-mingw32-g++
- for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
- if ! type -P ${tool} >/dev/null; then
- eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
- eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
- use abi_x86_32 && use abi_x86_64 &&
- eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
- die "USE=crossdev-mingw is set but ${tool} was not found"
- elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
- eerror "${PN} requires GCC to be built with --enable-threads=posix"
- eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
- die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
- fi
- done
- fi
-}
-
-src_prepare() {
- if [[ ${PV} != 9999 ]]; then
- rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
- mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
- mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
- mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
- fi
- cp -- "${DISTDIR}"/setup_dxvk.sh . || die
-
- default
-
- sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
-}
-
-src_configure() {
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # random segfaults been reported with LTO in some games, filter as
- # a safety (note that optimizing this further won't really help
- # performance, GPU does the actual work)
- filter-lto
-
- # -mavx and mingw-gcc do not mix safely here
- # https://github.com/doitsujin/dxvk/issues/4746#issuecomment-2708869202
- append-flags -mno-avx
-
- if [[ ${CHOST} != *-mingw* ]]; then
- if [[ ! -v MINGW_BYPASS ]]; then
- unset AR CC CXX RC STRIP
- filter-flags '-fuse-ld=*'
- filter-flags '-mfunction-return=thunk*' #878849
-
- # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
- # strip-unsupported-flags miss these during compile-only tests
- # (primarily done for 23.0 profiles' -z, not full coverage)
- filter-flags '-Wl,-z,*' #928038
- fi
-
- CHOST_amd64=x86_64-w64-mingw32
- CHOST_x86=i686-w64-mingw32
- CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
-
- strip-unsupported-flags
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
- # unset again so meson eclass will set ${CHOST}-gcc + others
- use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
-
- local emesonargs=(
- --prefix="${EPREFIX}"/usr/lib/${PN}
- --{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
- --force-fallback-for=libdisplay-info # system's is ELF (unusable)
- $(meson_use {,enable_}d3d8)
- $(meson_use {,enable_}d3d9)
- $(meson_use {,enable_}d3d10)
- $(meson_use {,enable_}d3d11)
- $(meson_use {,enable_}dxgi)
- $(usev strip --strip) # portage won't strip .dll, so allow it here
- )
-
- meson_src_configure
-}
-
-multilib_src_install_all() {
- dobin setup_dxvk.sh
- dodoc README.md dxvk.conf
-
- find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_postinst() {
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- elog "To enable ${PN} on a wine prefix, you can run the following command:"
- elog
- elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
- elog
- elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
- elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
- elog "removed upstream, handling may change in the future."
- fi
-
- if use d3d8 && ver_replacing -lt 2.4; then
- elog
- elog ">=${PN}-2.4 now provides d3d8.dll, to make use of it will need to"
- elog "update old wine prefixes which is typically done by re-running:"
- elog
- elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
- elog
- fi
-}
diff --git a/app-emulation/dxvk/dxvk-2.6.2.ebuild b/app-emulation/dxvk/dxvk-2.6.2.ebuild
deleted file mode 100644
index 858ffd03bdf0..000000000000
--- a/app-emulation/dxvk/dxvk-2.6.2.ebuild
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-inherit eapi9-ver flag-o-matic meson-multilib python-any-r1
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
- EGIT_SUBMODULES=(
- # picky about headers and is cross-compiled making -I/usr/include troublesome
- include/{spirv,vulkan}
- subprojects/libdisplay-info
- )
-else
- HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
- HASH_VULKAN=234c4b7370a8ea3239a214c9e871e4b17c89f4ab
- HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078
- SRC_URI="
- https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.tar.gz
- https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
- -> spirv-headers-${HASH_SPIRV}.tar.gz
- https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
- -> vulkan-headers-${HASH_VULKAN}.tar.gz
- https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
- "
- KEYWORDS="-* amd64 x86"
-fi
-
-DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
-HOMEPAGE="https://github.com/doitsujin/dxvk/"
-
-# setup_dxvk.sh is no longer provided, fetch old until a better solution
-SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
-
-LICENSE="ZLIB Apache-2.0 MIT"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw +d3d8 +d3d9 +d3d10 +d3d11 +dxgi +strip"
-REQUIRED_USE="
- || ( d3d8 d3d9 d3d10 d3d11 dxgi )
- d3d8? ( d3d9 )
- d3d10? ( d3d11 )
- d3d11? ( dxgi )
-"
-
-BDEPEND="
- ${PYTHON_DEPS}
- dev-util/glslang
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
- "${FILESDIR}"/${PN}-2.4-d3d8-setup.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local tool=-w64-mingw32-g++
- for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
- if ! type -P ${tool} >/dev/null; then
- eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
- eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
- use abi_x86_32 && use abi_x86_64 &&
- eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
- die "USE=crossdev-mingw is set but ${tool} was not found"
- elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
- eerror "${PN} requires GCC to be built with --enable-threads=posix"
- eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
- die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
- fi
- done
- fi
-}
-
-src_prepare() {
- if [[ ${PV} != 9999 ]]; then
- rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
- mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
- mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
- mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
- fi
- cp -- "${DISTDIR}"/setup_dxvk.sh . || die
-
- default
-
- sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
-}
-
-src_configure() {
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # random segfaults been reported with LTO in some games, filter as
- # a safety (note that optimizing this further won't really help
- # performance, GPU does the actual work)
- filter-lto
-
- # -mavx and mingw-gcc do not mix safely here
- # https://github.com/doitsujin/dxvk/issues/4746#issuecomment-2708869202
- append-flags -mno-avx
-
- if [[ ${CHOST} != *-mingw* ]]; then
- if [[ ! -v MINGW_BYPASS ]]; then
- unset AR CC CXX RC STRIP
- filter-flags '-fuse-ld=*'
- filter-flags '-mfunction-return=thunk*' #878849
-
- # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
- # strip-unsupported-flags miss these during compile-only tests
- # (primarily done for 23.0 profiles' -z, not full coverage)
- filter-flags '-Wl,-z,*' #928038
- fi
-
- CHOST_amd64=x86_64-w64-mingw32
- CHOST_x86=i686-w64-mingw32
- CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
-
- strip-unsupported-flags
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
- # unset again so meson eclass will set ${CHOST}-gcc + others
- use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
-
- local emesonargs=(
- --prefix="${EPREFIX}"/usr/lib/${PN}
- --{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
- --force-fallback-for=libdisplay-info # system's is ELF (unusable)
- $(meson_use {,enable_}d3d8)
- $(meson_use {,enable_}d3d9)
- $(meson_use {,enable_}d3d10)
- $(meson_use {,enable_}d3d11)
- $(meson_use {,enable_}dxgi)
- $(usev strip --strip) # portage won't strip .dll, so allow it here
- )
-
- meson_src_configure
-}
-
-multilib_src_install_all() {
- dobin setup_dxvk.sh
- dodoc README.md dxvk.conf
-
- find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_postinst() {
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- elog "To enable ${PN} on a wine prefix, you can run the following command:"
- elog
- elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
- elog
- elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
- elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
- elog "removed upstream, handling may change in the future."
- fi
-
- if use d3d8 && ver_replacing -lt 2.4; then
- elog
- elog ">=${PN}-2.4 now provides d3d8.dll, to make use of it will need to"
- elog "update old wine prefixes which is typically done by re-running:"
- elog
- elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
- elog
- fi
-}
diff --git a/app-emulation/dxvk/dxvk-2.5.3.ebuild b/app-emulation/dxvk/dxvk-3.0.ebuild
index a593eeff748e..8922f63951f2 100644
--- a/app-emulation/dxvk/dxvk-2.5.3.ebuild
+++ b/app-emulation/dxvk/dxvk-3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2025 Gentoo Authors
+# Copyright 2022-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,25 +11,10 @@ inherit eapi9-ver flag-o-matic meson-multilib python-any-r1
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
- EGIT_SUBMODULES=(
- # picky about headers and is cross-compiled making -I/usr/include troublesome
- include/{spirv,vulkan}
- subprojects/libdisplay-info
- )
else
- HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
- HASH_VULKAN=46dc0f6e514f5730784bb2cac2a7c731636839e8
- HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078
- SRC_URI="
- https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.tar.gz
- https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
- -> spirv-headers-${HASH_SPIRV}.tar.gz
- https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
- -> vulkan-headers-${HASH_VULKAN}.tar.gz
- https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
- "
- KEYWORDS="-* amd64 x86"
+ # tarball is same as upstream except for including git submodules
+ SRC_URI="https://distfiles.gentoo.org/pub/dev/ionen@gentoo.org/${P}.tar.xz"
+ KEYWORDS="-* ~amd64 ~x86"
fi
DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
@@ -81,12 +66,6 @@ pkg_pretend() {
}
src_prepare() {
- if [[ ${PV} != 9999 ]]; then
- rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
- mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
- mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
- mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
- fi
cp -- "${DISTDIR}"/setup_dxvk.sh . || die
default
diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index af5042a6207a..8922f63951f2 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2025 Gentoo Authors
+# Copyright 2022-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,33 +11,9 @@ inherit eapi9-ver flag-o-matic meson-multilib python-any-r1
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
- EGIT_SUBMODULES=(
- # picky about headers and is cross-compiled making -I/usr/include troublesome
- include/spirv
- include/vulkan
- subprojects/dxbc-spirv
- subprojects/dxbc-spirv/submodules/spirv_headers
- subprojects/libdisplay-info
- )
else
- HASH_SPIRV=
- HASH_VULKAN=
- HASH_DXBCSPIRV=
- HASH_DXBCSPIRV_SPIRV=
- HASH_DISPLAYINFO=
- SRC_URI="
- https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.tar.gz
- https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
- -> spirv-headers-${HASH_SPIRV}.tar.gz
- https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
- -> vulkan-headers-${HASH_VULKAN}.tar.gz
- https://github.com/doitsujin/dxbc-spirv/archive/${HASH_DXBCSPIRV}.tar.gz
- -> dxbc-spirv-${HASH_DXBCSPIRV}.tar.gz
- https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_DXBCSPIRV_SPIRV}.tar.gz
- -> spirv-headers-${HASH_DXBCSPIRV_SPIRV}.tar.gz
- https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
- "
+ # tarball is same as upstream except for including git submodules
+ SRC_URI="https://distfiles.gentoo.org/pub/dev/ionen@gentoo.org/${P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86"
fi
@@ -90,24 +66,6 @@ pkg_pretend() {
}
src_prepare() {
- if [[ ${PV} != 9999 ]]; then
- # TODO?: may need to consider making our tarballs if this keeps up
- # (if do this, also drop EGIT_SUBMODULES and leave it default)
- rmdir include/{spirv,vulkan} subprojects/{dxbc-spirv,libdisplay-info} || die
- mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
- mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
- mv ../dxbc-spirv-${HASH_DXBCSPIRV} subprojects/dxbc-spirv || die
- mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
-
- rmdir subprojects/dxbc-spirv/submodules/spirv_headers || die
- if [[ ${HASH_SPIRV} == ${HASH_DXBCSPIRV_SPIRV} ]]; then
- ln -s ../../../include/spirv \
- subprojects/dxbc-spirv/submodules/spirv_headers || die
- else
- mv ../SPIRV-Headers-${HASH_DXBCSPIRV_SPIRV} \
- subprojects/dxbc-spirv/submodules/spirv_headers || die
- fi
- fi
cp -- "${DISTDIR}"/setup_dxvk.sh . || die
default
diff --git a/app-emulation/dxvk/files/dxvk-2.3.1-gcc14.patch b/app-emulation/dxvk/files/dxvk-2.3.1-gcc14.patch
deleted file mode 100644
index 957735b1909e..000000000000
--- a/app-emulation/dxvk/files/dxvk-2.3.1-gcc14.patch
+++ /dev/null
@@ -1,7 +0,0 @@
-for std::remove_if
---- a/src/d3d9/d3d9_mem.cpp
-+++ b/src/d3d9/d3d9_mem.cpp
-@@ -5,2 +5,3 @@
- #include "../util/util_likely.h"
-+#include <algorithm>
- #include <utility>
diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index 896cafb1fd46..078b816f0475 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,18 +1,6 @@
DIST dxil-spirv-33cd5b2eee8a27da50ad7ed2762e56cca3a7b2c9.tar.gz 973752 BLAKE2B eed10947879c306e25041ff1f95334765c6823a2cfa24864ad1a265e62d32664b7b8f27fcb4a2c36d470a2de6a3224a82eafdffbcab401b2484b225a6d66187b SHA512 fef6e2f37a08ab1c910dc20e63f67738efcceb74b32f0ce6d47db3e9da6d78736d51e71a34d6bafce40bdca1b2be12c7bd370489ed6aee2522511490fb1d37ca
-DIST dxil-spirv-41dae24cdba6771ceede9d45dae1c8580c147ce4.tar.gz 929766 BLAKE2B b37d857f00b2a6b19bd5e152df17834c5b0bd9ceee0e9c9c1c73ea5d602f2d14554868db7dace93eaa6d27410c039eb906c6319225e8ff914cf35a6fa8f9092b SHA512 39d0692cf8ad46d15d016a21f25e5165bb3eb43302c6be3ace8a96c88d0e9662408033933af1fc037dcc7cf4979219c06e59a88f30c2f2b04657f11c65017b08
-DIST dxil-spirv-b03d68d6ed30e87a3bcef9a861fa3c6b4429e5cc.tar.gz 915224 BLAKE2B 137f4b187300261d922ecc66542c5b38e6fa825cbb4e9adb43a7ca15ea9b968e24111bcaf9142782a44a6a7abb342a4ccfbd863af3c01287936e47b6162b7139 SHA512 890c0a0e638b9bffc9ce2cee871c60a2a552d691e60ad6ffa087dfae988e559151b7025e025e4346d1389b7d8f39f8b9bf93e43c7427c883662c1d6c86ff9b1a
-DIST spirv-headers-4f7b471f1a66b6d06462cd4ba57628cc0cd087d7.tar.gz 472655 BLAKE2B 5021f997445539ecaf825460f7e675a1e8d9be7457245a3db31f6fdc63956b8b4987da63f813ece3b8158a8eec4e56760693d1d2dfc49be37ee09a29e299ba82 SHA512 adfdf80baf8c8e83595dfbd9245b821b00918f342174d2ff643b426c0da16a9c79877131a697b39b579a2ec691daeae24f846517eac017e41ba6209098f25eab
DIST spirv-headers-8b246ff75c6615ba4532fe4fde20f1be090c3764.tar.gz 472513 BLAKE2B f1ad7e11c306c62509655eb41d74efc5fb88688780d006c6944844e964b339baa000f70e115c4df2947e882c9ac33186e301b31138c38fe5f997f7af7260f521 SHA512 fe1d9d70b217b194c92dd397bca386ce8452bc5ec3967d64a257b3a531386fe6a6ecb5e9ed8ab5bc5a2707c5378f02f05809d6d197dcfb3f87cd33304c3b1959
DIST spirv-headers-ec59c77a3bb5c747a369931ef101ac7c14823f2f.tar.gz 524120 BLAKE2B c0207283d22d72b4a3914f40161b8dec6fa6e8ed55fd91ae14da4499575d9f3a03c932dc7bcbdab084eec7f34d3657d00ce5b1a1398f0b815ec3aeb1e5589c58 SHA512 0523f5001414b6cb945d36a0551e848a586a07dc9893ffcf8b4360f5ce87d6c42315298b3386e3e2073cf4f11122a5a06b157ad88c49318d7ac93e92056d50d2
-DIST vkd3d-proton-2.12.tar.gz 2109289 BLAKE2B 805298efa2f49a82dcc4b989856fb24469a1de9a1d175d5844be3e72187d14f3454ced52bcd65f557ec6776fda00112f4b9849dd48679e10aadf277d82b928ca SHA512 fbd4102fc9917a8e7c28edcaa500c26352a0652a008da453108cd21325ef2c757b5c0842a50e2e5ea6efcacdabe86b2ce570647313d0036967a135b01850fbe8
-DIST vkd3d-proton-2.13.tar.gz 2210823 BLAKE2B 106d7c204b3761c119001af9cda7bd32443e3dcda4426b49f4a2d5f5c8bd19cb16fad21e6a73f6b6eaca8a8501e2d65db6f8b10fd31c488df01cf7f1ceedf8f6 SHA512 a39fc8fb5db379e91fabf10cf81b5087ead7fd7eb833620803acfbc3bd3eec32a81ad193030e8521013bcd55df59a0dee49320313493eac79aa32203a0742e28
DIST vkd3d-proton-2.14.1.tar.gz 2271935 BLAKE2B c136ba61511bcf8c3202bfd3ab63c663739c2bb6085f04c43227f270e2314e66ba0eb1dcb0e44e0a7aa9d04b24397a7e5b3684530ffe7165997aaaa014d5d4e1 SHA512 7c401a5b100d85b5f674488ff2591034b974eae2ed02e878a21959e23a7682d090e377d5caa8d5508ceeb35f5750fedea36d2fdb3cf0997d5bc171410171ff82
-DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
DIST vkd3d-proton-3.0.1.tar.xz 22916888 BLAKE2B 2bb5f2e65a5da7312d7cac0e09eca5b96b6477772f0e6faa5b4b80052072dcfe803b63dde0279ac104a286b30624dcc556ec363f7a6e645f30affce5eef21f35 SHA512 c548c69e2823a6e9189c8469154e6cf9a6f34dd9c93eda2b47986e4682d62d9a244adce4049439231c86fd02efe528ab0b71fb2e52afbba4c288e1037cea42b0
-DIST vkd3d-proton-3.0b.tar.xz 22435172 BLAKE2B d1d745dd66e74b4470c558019f70e7d2e686cdf68de9875366ef9323a61c0b9ff1482b3e50329a57d59f3c36198e38ea1a34b42f4f522584e986dde191a536bb SHA512 780aee4f2d7fce3fe075a0a0691892e55cd98e60f0bdb26ca57108dbeea28308745f70b4b40c79eb2d7c696ba291d0627eef5ad18c45302af099cd075bb20bee
-DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
-DIST vkd3d-proton-spirv-headers-ae217c1780.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b9c69757d7c2257ce2fe1bc6be308341f3189766f120994e4920bc738b737d9eefc299359dab568fb8809782e3663dd589c0e4d13aecb8873a SHA512 02cf1d63b29e48ef0efe489eb32237ba2f9f4bf58a182b00dc96aab18faba94de79283398e9e945cd81130f83fff228c59b04e496716ea9ccc148a5f4465282c
-DIST vkd3d-proton-vulkan-headers-83e1a9ed8c.tar.gz 1299014 BLAKE2B 0b1e635aaa6eebec3525b13698a064e0e5b8a78829a772cbe9e1890148059bf396bc5c830e8d6ee3070a3343775991642565283994c65acfa0d82a91590b7d84 SHA512 ecb2158cad55edb4ba069383668f3b311a2f6aa6777b5b7ed94795d454622426ee34fee52b13c97d2f07b5b2f965815ee61a0203b76a0b0d2c708a4786d06b96
DIST vulkan-headers-29f979ee5aa58b7b005f805ea8df7a855c39ff37.tar.gz 2359246 BLAKE2B 4208b0837789cb26bcb5309d8f1f56aa58dca2f06f61557b6624aa9e63566e62b1e544da33050a48489e58c3e71022ff58dd10ebca00008105c8a909cc07a44c SHA512 15618de42ee2bc019053f00e51afdf37dbdedc1ce6ec18e806e169ba002ac7720c8b3c75e57adb01e56d2c0f5888ddf6418f688bcb666859549befdfa3beb8b5
-DIST vulkan-headers-5677bafb820e476441e9e1f745371b72133407d3.tar.gz 2281652 BLAKE2B 03c55bf485214631d2e669165d3ed2dc068a3bc7bdffe59c5173a15885281cef4e57c5327b22de857ab9604f8e52bbcd6de0d9f5ff7cb3eee407845de722621d SHA512 d5d8eccae8f577d712ada89e42d88e0602f6eb499bf2e08f93505e5ffd554b0df8de74751fbe321184a0cfdaf60ce475273e9becca7a8f837afe6c5597b19671
-DIST vulkan-headers-f030d9dd8ca297b84b10330cee87f72acc3b0aab.tar.gz 2255357 BLAKE2B 07cfa8ccdd26966116e7c35e0d350be94936469f2b9af77c84b8c61495b6ba76813047b5d26bba1fabd44a8f35396b32b6ad32c3b93b0b1a818ce9ed45f93db2 SHA512 6adf81d16d07710322b7c92a0e0436ee33be94d55116e3c460eabb4196a180f8c7b481c19a84a8bbea4e98dda6cf63ff2876f196348921a0c1d9c8c1005cd521
diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
deleted file mode 100644
index 024c5bb46c87..000000000000
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
+++ /dev/null
@@ -1,205 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-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=7460c70de0dff08de2f4a78a7ac7c71fd7f0ea6e # match tag on bumps
- HASH_DXIL=b03d68d6ed30e87a3bcef9a861fa3c6b4429e5cc
- HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
- HASH_SPIRV_DXIL=8b246ff75c6615ba4532fe4fde20f1be090c3764
- HASH_VULKAN=f030d9dd8ca297b84b10330cee87f72acc3b0aab
- 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
- "
- KEYWORDS="-* amd64 x86"
-fi
-
-DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"
-HOMEPAGE="https://github.com/HansKristian-Work/vkd3d-proton/"
-
-LICENSE="LGPL-2.1+ Apache-2.0 MIT"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw debug extras +strip"
-
-BDEPEND="
- dev-util/glslang
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.6-wow64-setup.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local tool=-w64-mingw32-g++
- for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
- if ! type -P ${tool} >/dev/null; then
- eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
- eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
- use abi_x86_32 && use abi_x86_64 &&
- eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
- die "USE=crossdev-mingw is enabled, but ${tool} was not found"
- elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
- eerror "${PN} requires GCC to be built with --enable-threads=posix"
- eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
- die "USE=crossdev-mingw is enabled, but ${tool} does not use POSIX threads"
- fi
- done
- tool=-w64-mingw32-widl
- for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
- if ! type -P widl >/dev/null && ! type -P ${tool} >/dev/null; then
- eerror "With USE=crossdev-mingw, you need to provide the widl compiler by either"
- eerror "building crossdev mingw64-runtime with USE=tools or installing wine."
- die "USE=crossdev-mingw is set but neither widl nor ${tool} were found"
- fi
- done
- fi
-}
-
-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
- # 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
- fi
-}
-
-src_configure() {
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # random segfaults been reported with LTO in some games, filter as
- # a safety (note that optimizing this further won't really help
- # performance, GPU does the actual work)
- filter-lto
-
- # -mavx and mingw-gcc do not mix safely here
- # https://github.com/doitsujin/dxvk/issues/4746#issuecomment-2708869202
- append-flags -mno-avx
-
- if [[ ${CHOST} != *-mingw* ]]; then
- if [[ ! -v MINGW_BYPASS ]]; then
- unset AR CC CXX RC STRIP WIDL
- filter-flags '-fuse-ld=*'
- filter-flags '-mfunction-return=thunk*' #878849
-
- # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
- # strip-unsupported-flags miss these during compile-only tests
- # (primarily done for 23.0 profiles' -z, not full coverage)
- filter-flags '-Wl,-z,*' #928038
- fi
-
- CHOST_amd64=x86_64-w64-mingw32
- CHOST_x86=i686-w64-mingw32
- CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
-
- strip-unsupported-flags
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
- # unset again so meson eclass will set ${CHOST}-gcc + others
- use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX STRIP WIDL
-
- # prefer ${CHOST}'s widl (mingw) over wine's as used by upstream if
- # possible, but eclasses don't handle that so setup machine files
- local widl=$(tc-getPROG WIDL widl)
- use amd64 && [[ ${widl} == widl && ${ABI} == x86 ]] && widl="widl','-m32"
- printf "[binaries]\nwidl = ['${widl}']\n" > "${T}"/widl.${ABI}.ini || die
-
- local emesonargs=(
- --prefix="${EPREFIX}"/usr/lib/${PN}
- --{bin,lib}dir=x${ABI: -2}
- --{cross,native}-file="${T}"/widl.${ABI}.ini
- $(meson_use {,enable_}extras)
- $(meson_use debug enable_trace)
- $(usev strip --strip) # portage won't strip .dll, so allow it here
- -Denable_tests=false # needs wine/vulkan and is intended for manual use
- )
-
- meson_src_configure
-}
-
-multilib_src_install_all() {
- dobin setup_vkd3d_proton.sh
- einstalldocs
-
- find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_postinst() {
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- elog "To enable ${PN} on a wine prefix, you can run the following command:"
- elog
- elog " WINEPREFIX=/path/to/prefix setup_vkd3d_proton.sh install --symlink"
- elog
- elog "Should also ensure that >=app-emulation/dxvk-2.1's dxgi.dll is available"
- elog "on it, not meant to function independently even if only using d3d12."
- elog
- elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
- fi
-
- if ver_replacing -lt 2.7; then
- elog
- elog ">=${PN}-2.7 requires drivers and Wine to support vulkan-1.3, meaning:"
- elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
- fi
-
- if ver_replacing -lt 2.9; then
- elog
- elog ">=${PN}-2.9 has a new file to install (d3d12core.dll), old Wine prefixes that"
- elog "relied on '--symlink' may need updates by using the setup_vkd3d_proton.sh."
- elog
- elog "Furthermore, it may not function properly if >=app-emulation/dxvk-2.1's"
- elog "dxgi.dll is not available on that prefix (even if only using d3d12)."
- fi
-}
diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.13.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.13.ebuild
deleted file mode 100644
index 47803cf8b2f6..000000000000
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.13.ebuild
+++ /dev/null
@@ -1,205 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-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=81ac2f2cc689fe6b0b729bf4eebfc3580b4b4fb9 # match tag on bumps
- HASH_DXIL=41dae24cdba6771ceede9d45dae1c8580c147ce4
- HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
- HASH_SPIRV_DXIL=4f7b471f1a66b6d06462cd4ba57628cc0cd087d7
- HASH_VULKAN=5677bafb820e476441e9e1f745371b72133407d3
- 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
- "
- KEYWORDS="-* amd64 x86"
-fi
-
-DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"
-HOMEPAGE="https://github.com/HansKristian-Work/vkd3d-proton/"
-
-LICENSE="LGPL-2.1+ Apache-2.0 MIT"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw debug extras +strip"
-
-BDEPEND="
- dev-util/glslang
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.6-wow64-setup.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local tool=-w64-mingw32-g++
- for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
- if ! type -P ${tool} >/dev/null; then
- eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
- eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
- use abi_x86_32 && use abi_x86_64 &&
- eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
- die "USE=crossdev-mingw is enabled, but ${tool} was not found"
- elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
- eerror "${PN} requires GCC to be built with --enable-threads=posix"
- eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
- die "USE=crossdev-mingw is enabled, but ${tool} does not use POSIX threads"
- fi
- done
- tool=-w64-mingw32-widl
- for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
- if ! type -P widl >/dev/null && ! type -P ${tool} >/dev/null; then
- eerror "With USE=crossdev-mingw, you need to provide the widl compiler by either"
- eerror "building crossdev mingw64-runtime with USE=tools or installing wine."
- die "USE=crossdev-mingw is set but neither widl nor ${tool} were found"
- fi
- done
- fi
-}
-
-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
- # 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
- fi
-}
-
-src_configure() {
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # random segfaults been reported with LTO in some games, filter as
- # a safety (note that optimizing this further won't really help
- # performance, GPU does the actual work)
- filter-lto
-
- # -mavx and mingw-gcc do not mix safely here
- # https://github.com/doitsujin/dxvk/issues/4746#issuecomment-2708869202
- append-flags -mno-avx
-
- if [[ ${CHOST} != *-mingw* ]]; then
- if [[ ! -v MINGW_BYPASS ]]; then
- unset AR CC CXX RC STRIP WIDL
- filter-flags '-fuse-ld=*'
- filter-flags '-mfunction-return=thunk*' #878849
-
- # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
- # strip-unsupported-flags miss these during compile-only tests
- # (primarily done for 23.0 profiles' -z, not full coverage)
- filter-flags '-Wl,-z,*' #928038
- fi
-
- CHOST_amd64=x86_64-w64-mingw32
- CHOST_x86=i686-w64-mingw32
- CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
-
- strip-unsupported-flags
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
- # unset again so meson eclass will set ${CHOST}-gcc + others
- use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX STRIP WIDL
-
- # prefer ${CHOST}'s widl (mingw) over wine's as used by upstream if
- # possible, but eclasses don't handle that so setup machine files
- local widl=$(tc-getPROG WIDL widl)
- use amd64 && [[ ${widl} == widl && ${ABI} == x86 ]] && widl="widl','-m32"
- printf "[binaries]\nwidl = ['${widl}']\n" > "${T}"/widl.${ABI}.ini || die
-
- local emesonargs=(
- --prefix="${EPREFIX}"/usr/lib/${PN}
- --{bin,lib}dir=x${ABI: -2}
- --{cross,native}-file="${T}"/widl.${ABI}.ini
- $(meson_use {,enable_}extras)
- $(meson_use debug enable_trace)
- $(usev strip --strip) # portage won't strip .dll, so allow it here
- -Denable_tests=false # needs wine/vulkan and is intended for manual use
- )
-
- meson_src_configure
-}
-
-multilib_src_install_all() {
- dobin setup_vkd3d_proton.sh
- einstalldocs
-
- find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_postinst() {
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- elog "To enable ${PN} on a wine prefix, you can run the following command:"
- elog
- elog " WINEPREFIX=/path/to/prefix setup_vkd3d_proton.sh install --symlink"
- elog
- elog "Should also ensure that >=app-emulation/dxvk-2.1's dxgi.dll is available"
- elog "on it, not meant to function independently even if only using d3d12."
- elog
- elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
- fi
-
- if ver_replacing -lt 2.7; then
- elog
- elog ">=${PN}-2.7 requires drivers and Wine to support vulkan-1.3, meaning:"
- elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
- fi
-
- if ver_replacing -lt 2.9; then
- elog
- elog ">=${PN}-2.9 has a new file to install (d3d12core.dll), old Wine prefixes that"
- elog "relied on '--symlink' may need updates by using the setup_vkd3d_proton.sh."
- elog
- elog "Furthermore, it may not function properly if >=app-emulation/dxvk-2.1's"
- elog "dxgi.dll is not available on that prefix (even if only using d3d12)."
- fi
-}
diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
deleted file mode 100644
index e14b9bbd7175..000000000000
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
+++ /dev/null
@@ -1,184 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# note: version 2.6 should be kept for longer given it's the
-# last version to support <wine-7.1 and <nvidia-drivers-510
-
-MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-inherit 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)
- subprojects/{SPIRV,Vulkan}-Headers
- subprojects/dxil-spirv
- subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
- )
-else
- HASH_VKD3D=3e5aab6fb3e18f81a71b339be4cb5cdf55140980 # match tag on bumps
- HASH_DXIL=b537bbb91bccdbc695cb7e5211d608f8d1c205bd
- HASH_SPIRV=ae217c17809fadb232ec94b29304b4afcd417bb4
- HASH_VULKAN=83e1a9ed8ce289cebb1c02c8167d663dc1befb24
- 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
- -> ${PN}-dxil-spirv-${HASH_DXIL::10}.tar.gz
- https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
- -> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
- https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
- -> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
- KEYWORDS="-* amd64 x86"
-fi
-
-DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"
-HOMEPAGE="https://github.com/HansKristian-Work/vkd3d-proton/"
-
-LICENSE="LGPL-2.1+ Apache-2.0 MIT"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw debug extras"
-
-BDEPEND="
- dev-util/glslang
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.6-wow64-setup.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local tool=-w64-mingw32-g++
- for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
- if ! type -P ${tool} >/dev/null; then
- eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
- eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
- use abi_x86_32 && use abi_x86_64 &&
- eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
- die "USE=crossdev-mingw is enabled, but ${tool} was not found"
- elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
- eerror "${PN} requires GCC to be built with --enable-threads=posix"
- eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
- die "USE=crossdev-mingw is enabled, but ${tool} does not use POSIX threads"
- fi
- done
- tool=-w64-mingw32-widl
- for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
- if ! type -P widl >/dev/null && ! type -P ${tool} >/dev/null; then
- eerror "With USE=crossdev-mingw, you need to provide the widl compiler by either"
- eerror "building crossdev mingw64-runtime with USE=tools or installing wine."
- die "USE=crossdev-mingw is set but neither widl nor ${tool} were found"
- fi
- done
- fi
-}
-
-src_prepare() {
- if [[ ${PV} != 9999 ]]; then
- rmdir subprojects/{{SPIRV,Vulkan}-Headers,dxil-spirv} || die
- mv ../dxil-spirv-${HASH_DXIL} subprojects/dxil-spirv || die
- mv ../SPIRV-Headers-${HASH_SPIRV} subprojects/SPIRV-Headers || die
- mv ../Vulkan-Headers-${HASH_VULKAN} subprojects/Vulkan-Headers || die
- ln -s ../../../SPIRV-Headers/include \
- subprojects/dxil-spirv/third_party/spirv-headers || die
- fi
-
- default
-
- sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_vkd3d_proton.sh || die
-
- if [[ ${PV} != 9999 ]]; then
- # 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
- fi
-}
-
-src_configure() {
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # random segfaults been reported with LTO in some games, filter as
- # a safety (note that optimizing this further won't really help
- # performance, GPU does the actual work)
- filter-lto
-
- # -mavx and mingw-gcc do not mix safely here
- # https://github.com/doitsujin/dxvk/issues/4746#issuecomment-2708869202
- append-flags -mno-avx
-
- if [[ ${CHOST} != *-mingw* ]]; then
- if [[ ! -v MINGW_BYPASS ]]; then
- unset AR CC CXX RC STRIP WIDL
- filter-flags '-fuse-ld=*'
- filter-flags '-mfunction-return=thunk*' #878849
-
- # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
- # strip-unsupported-flags miss these during compile-only tests
- # (primarily done for 23.0 profiles' -z, not full coverage)
- filter-flags '-Wl,-z,*' #928038
- fi
-
- CHOST_amd64=x86_64-w64-mingw32
- CHOST_x86=i686-w64-mingw32
- CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
-
- # preferring meson eclass' cross file over upstream's but, unlike
- # dxvk, we lose static options in the process (from build-win*.txt)
- append-ldflags -static -static-libgcc -static-libstdc++
-
- strip-unsupported-flags
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
- # unset again so meson eclass will set ${CHOST}-gcc + others
- use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX STRIP WIDL
-
- # prefer ${CHOST}'s widl (mingw) over wine's as used by upstream if
- # possible, but eclasses don't handle that so setup machine files
- local widl=$(tc-getPROG WIDL widl)
- use amd64 && [[ ${widl} == widl && ${ABI} == x86 ]] && widl="widl','-m32"
- printf "[binaries]\nwidl = ['${widl}']\n" > "${T}"/widl.${ABI}.ini || die
-
- local emesonargs=(
- --prefix="${EPREFIX}"/usr/lib/${PN}
- --{bin,lib}dir=x${ABI: -2}
- --{cross,native}-file="${T}"/widl.${ABI}.ini
- $(meson_use {,enable_}extras)
- $(meson_use debug enable_trace)
- $(usev !debug --strip) # portage won't strip .dll, so allow it here
- -Denable_tests=false # needs wine/vulkan and is intended for manual use
- )
-
- meson_src_configure
-}
-
-multilib_src_install_all() {
- dobin setup_vkd3d_proton.sh
- einstalldocs
-
- # unnecesasry files, see package-release.sh
- rm "${ED}"/usr/lib/${PN}/x*/libvkd3d-proton-utils-3.dll || die
- find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_postinst() {
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- elog "To enable ${PN} on a wine prefix, you can run the following command:"
- elog
- elog " WINEPREFIX=/path/to/prefix setup_vkd3d_proton.sh install --symlink"
- elog
- elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
- fi
-}
diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-3.0b.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-3.0b.ebuild
deleted file mode 100644
index 6e37e8e0e560..000000000000
--- a/app-emulation/vkd3d-proton/vkd3d-proton-3.0b.ebuild
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright 2022-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-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"
-else
- # tarball is same as upstream except for including git submodules
- SRC_URI="https://distfiles.gentoo.org/pub/dev/ionen@gentoo.org/${P}.tar.xz"
- KEYWORDS="-* amd64 x86"
-fi
-
-DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"
-HOMEPAGE="https://github.com/HansKristian-Work/vkd3d-proton/"
-
-LICENSE="LGPL-2.1+ Apache-2.0 MIT"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw debug extras +strip"
-
-BDEPEND="
- dev-util/glslang
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.6-wow64-setup.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local tool=-w64-mingw32-g++
- for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
- if ! type -P ${tool} >/dev/null; then
- eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
- eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
- use abi_x86_32 && use abi_x86_64 &&
- eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
- die "USE=crossdev-mingw is enabled, but ${tool} was not found"
- elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
- eerror "${PN} requires GCC to be built with --enable-threads=posix"
- eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
- die "USE=crossdev-mingw is enabled, but ${tool} does not use POSIX threads"
- fi
- done
- tool=-w64-mingw32-widl
- for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
- if ! type -P widl >/dev/null && ! type -P ${tool} >/dev/null; then
- eerror "With USE=crossdev-mingw, you need to provide the widl compiler by either"
- eerror "building crossdev mingw64-runtime with USE=tools or installing wine."
- die "USE=crossdev-mingw is set but neither widl nor ${tool} were found"
- fi
- done
- fi
-}
-
-src_prepare() {
- 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=3.0b
- local tag_hash=21a49c975df83a7c5e7c0a68b5c1fb58f23df7c1
- [[ ${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@/${tag_hash::15}/" vkd3d_build.h.in || die
- sed -i "s/@VCS_TAG@/${tag_hash::7}/" vkd3d_version.h.in || die
- fi
-}
-
-src_configure() {
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # random segfaults been reported with LTO in some games, filter as
- # a safety (note that optimizing this further won't really help
- # performance, GPU does the actual work)
- filter-lto
-
- # -mavx and mingw-gcc do not mix safely here
- # https://github.com/doitsujin/dxvk/issues/4746#issuecomment-2708869202
- append-flags -mno-avx
-
- if [[ ${CHOST} != *-mingw* ]]; then
- if [[ ! -v MINGW_BYPASS ]]; then
- unset AR CC CXX RC STRIP WIDL
- filter-flags '-fuse-ld=*'
- filter-flags '-mfunction-return=thunk*' #878849
-
- # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
- # strip-unsupported-flags miss these during compile-only tests
- # (primarily done for 23.0 profiles' -z, not full coverage)
- filter-flags '-Wl,-z,*' #928038
- fi
-
- CHOST_amd64=x86_64-w64-mingw32
- CHOST_x86=i686-w64-mingw32
- CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
-
- strip-unsupported-flags
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
- # unset again so meson eclass will set ${CHOST}-gcc + others
- use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX STRIP WIDL
-
- # prefer ${CHOST}'s widl (mingw) over wine's as used by upstream if
- # possible, but eclasses don't handle that so setup machine files
- local widl=$(tc-getPROG WIDL widl)
- use amd64 && [[ ${widl} == widl && ${ABI} == x86 ]] && widl="widl','-m32"
- printf "[binaries]\nwidl = ['${widl}']\n" > "${T}"/widl.${ABI}.ini || die
-
- local emesonargs=(
- --prefix="${EPREFIX}"/usr/lib/${PN}
- --{bin,lib}dir=x${ABI: -2}
- --{cross,native}-file="${T}"/widl.${ABI}.ini
- $(meson_use {,enable_}extras)
- $(meson_use debug enable_trace)
- $(usev strip --strip) # portage won't strip .dll, so allow it here
- -Denable_tests=false # needs wine/vulkan and is intended for manual use
- )
-
- meson_src_configure
-}
-
-multilib_src_install_all() {
- dobin setup_vkd3d_proton.sh
- einstalldocs
-
- find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_postinst() {
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- elog "To enable ${PN} on a wine prefix, you can run the following command:"
- elog
- elog " WINEPREFIX=/path/to/prefix setup_vkd3d_proton.sh install --symlink"
- elog
- elog "Should also ensure that >=app-emulation/dxvk-2.1's dxgi.dll is available"
- elog "on it, not meant to function independently even if only using d3d12."
- elog
- elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
- fi
-
- if ver_replacing -lt 2.7; then
- elog
- elog ">=${PN}-2.7 requires drivers and Wine to support vulkan-1.3, meaning:"
- elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
- fi
-
- if ver_replacing -lt 2.9; then
- elog
- elog ">=${PN}-2.9 has a new file to install (d3d12core.dll), old Wine prefixes that"
- elog "relied on '--symlink' may need updates by using the setup_vkd3d_proton.sh."
- elog
- elog "Furthermore, it may not function properly if >=app-emulation/dxvk-2.1's"
- elog "dxgi.dll is not available on that prefix (even if only using d3d12)."
- fi
-}