diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-26 03:04:32 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-26 03:04:32 -0500 |
| commit | 8a7e9bb6193b9b54ffb149bdf92c9689a3798e00 (patch) | |
| tree | a65a4cafeec5fa345fbaad47d0c3892cbb3bd183 /app-emulation | |
| parent | a2d754850b88dddfc90152e4eaf858d6907b5201 (diff) | |
| download | baldeagleos-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/Manifest | 6 | ||||
| -rw-r--r-- | app-emulation/dxvk/dxvk-2.3.1-r1.ebuild | 187 | ||||
| -rw-r--r-- | app-emulation/dxvk/dxvk-2.4.1.ebuild | 178 | ||||
| -rw-r--r-- | app-emulation/dxvk/dxvk-2.6.2.ebuild | 177 | ||||
| -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.ebuild | 48 | ||||
| -rw-r--r-- | app-emulation/dxvk/files/dxvk-2.3.1-gcc14.patch | 7 | ||||
| -rw-r--r-- | app-emulation/vkd3d-proton/Manifest | 12 | ||||
| -rw-r--r-- | app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild | 205 | ||||
| -rw-r--r-- | app-emulation/vkd3d-proton/vkd3d-proton-2.13.ebuild | 205 | ||||
| -rw-r--r-- | app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild | 184 | ||||
| -rw-r--r-- | app-emulation/vkd3d-proton/vkd3d-proton-3.0b.ebuild | 171 |
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 -} |
