public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2024-05-07 14:28 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2024-05-07 14:28 UTC (permalink / raw
  To: gentoo-commits

commit:     f332e277f645dcb01fbd08f6edadfa904fb7a4a5
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May  7 12:18:20 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May  7 14:23:05 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f332e277

app-emulation/vkd3d-proton: drop 2.10, 2.11.1

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

 app-emulation/vkd3d-proton/Manifest                |   7 -
 .../vkd3d-proton/vkd3d-proton-2.10.ebuild          | 207 ---------------------
 .../vkd3d-proton/vkd3d-proton-2.11.1.ebuild        | 201 --------------------
 3 files changed, 415 deletions(-)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index d78dcf075d92..816f990db156 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,15 +1,8 @@
 DIST dxil-spirv-b03d68d6ed30e87a3bcef9a861fa3c6b4429e5cc.tar.gz 915224 BLAKE2B 137f4b187300261d922ecc66542c5b38e6fa825cbb4e9adb43a7ca15ea9b968e24111bcaf9142782a44a6a7abb342a4ccfbd863af3c01287936e47b6162b7139 SHA512 890c0a0e638b9bffc9ce2cee871c60a2a552d691e60ad6ffa087dfae988e559151b7025e025e4346d1389b7d8f39f8b9bf93e43c7427c883662c1d6c86ff9b1a
 DIST spirv-headers-8b246ff75c6615ba4532fe4fde20f1be090c3764.tar.gz 472513 BLAKE2B f1ad7e11c306c62509655eb41d74efc5fb88688780d006c6944844e964b339baa000f70e115c4df2947e882c9ac33186e301b31138c38fe5f997f7af7260f521 SHA512 fe1d9d70b217b194c92dd397bca386ce8452bc5ec3967d64a257b3a531386fe6a6ecb5e9ed8ab5bc5a2707c5378f02f05809d6d197dcfb3f87cd33304c3b1959
-DIST vkd3d-proton-2.10.tar.gz 1839493 BLAKE2B 0dd3716bd986a78d8616fdfbe80833379bc93778a8cd599b8874b4bd620a3d5fa2d7ac342305db6acf3bb6025ac7b4ff138b49a30f34fa86f7af3ebb09903100 SHA512 84e9ebf84ac5294baf6d03e1291d7f3c4a004d6dd9da0450319e785827a635b70377855092d750b6c26492d369018585d7ec3cf46ebefc603751e13578bfe333
-DIST vkd3d-proton-2.11.1.tar.gz 1978301 BLAKE2B ede48d1895d2e8bc7f6e5971e6f7c95cc0403a3dad0dc3bdc6e19ecf6f282cd02c8c81371af8499e40d6ef9c055acabd90c8e65cd8b1360bded223864ccc0502 SHA512 91abd9bb854fe701db6e0d8c0a28e630ca23829676e2f74fa1bcd52801c1afef91456355e30a1c8fe27ee282ddf45dab40f28134be1e07f2cb07557112d3fee6
 DIST vkd3d-proton-2.12.tar.gz 2109289 BLAKE2B 805298efa2f49a82dcc4b989856fb24469a1de9a1d175d5844be3e72187d14f3454ced52bcd65f557ec6776fda00112f4b9849dd48679e10aadf277d82b928ca SHA512 fbd4102fc9917a8e7c28edcaa500c26352a0652a008da453108cd21325ef2c757b5c0842a50e2e5ea6efcacdabe86b2ce570647313d0036967a135b01850fbe8
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
-DIST vkd3d-proton-dxil-spirv-9044a31d22.tar.gz 876292 BLAKE2B dd55bc2b8125c3ec4639dcb4daa1b17e64824e6abb1e7ca102b2332535a9e5ad5a5af8959cc89cfd11f839ba90ded4614eb22dd5bdbd9b60abd7340d633c1287 SHA512 26a51c9bf7d55e77191d72642d20e98ceee0ffcf359646771cd20de093c670eeff082b80dc868a3e60de0ffb2ec0e0cd1276a39c13238a18282d5cb5a2059602
 DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
-DIST vkd3d-proton-dxil-spirv-d6ffa30abf.tar.gz 783875 BLAKE2B 971a183c84142a4a00858d85c88f48d0c2dd6c4cc7576811c958c03d7f2e8cacb54cf518fa5f3dc0d2e0da681f3a15ab8e7d35ef7bb6df0e5b429e99ccdc9b75 SHA512 68452e28a88b8437ac81479ff2562322de759aafb1e6ac253f84fd43f1d4eb3c677e54da320e5cfc2f569fe15ca7578c0c4af8dc699f51baf597b4796fdd0167
-DIST vkd3d-proton-spirv-headers-1d31a10040.tar.gz 445679 BLAKE2B 3dac88269df92428fd93ca187eb417ec0156ff0b24200daf85526aaa92c30ba8743102764e20c47d783ed0704fa690c1bf60944ef81bbdd296890dde5fb9fcaa SHA512 2536619cd7854954892dbb5ab5cd97e4e95fe3f5c121c4b2022426ae734fc20c1ebadbae1da7689f5ca18397075c54e4f16ad525b8ee873c4b0ffdc07aaacc03
-DIST vkd3d-proton-spirv-headers-aa331ab0ff.tar.gz 448200 BLAKE2B 435e3ce169f44a00181a664a6cb2f3e45e22b3d4ec033d27fb2b54564b4fcc4274ac170f373daddf9ba0bd421b3d50fc87442c15345dae24ec131f4257b33f30 SHA512 1cd6043974daa4cd71138be629544d10944064af8e5b1a5a64e746922edd0d583050ec3b036ef304dd67a689c65541b5cb375d80f26ab3c9314653169cc5aac8
 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 vkd3d-proton-vulkan-headers-a0c76b4ef7.tar.gz 2072604 BLAKE2B 324fe6cc9b803ba5dfa38a3c97d7573cb138f8e0619c0748a096f1a13eb8b608d5a780cb071f3727b0912005a0ab1bc5fd4f1a335ee74d00b44876dfe422f433 SHA512 6f447fef01946849c925634a7caf793e69f3aec52d8de2fa77fe8f5f7675c831fb54a1852cf3326e3909ce43a6f2970dd60c6976ac5d9459ef7bac62583b7ba9
 DIST vulkan-headers-f030d9dd8ca297b84b10330cee87f72acc3b0aab.tar.gz 2255357 BLAKE2B 07cfa8ccdd26966116e7c35e0d350be94936469f2b9af77c84b8c61495b6ba76813047b5d26bba1fabd44a8f35396b32b6ad32c3b93b0b1a818ce9ed45f93db2 SHA512 6adf81d16d07710322b7c92a0e0436ee33be94d55116e3c460eabb4196a180f8c7b481c19a84a8bbea4e98dda6cf63ff2876f196348921a0c1d9c8c1005cd521

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
deleted file mode 100644
index a8a7ca34700f..000000000000
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 2022-2024 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 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=88e4f300cc0b5b6f0880c1233d562cf506b546fb # match tag on bumps
-	HASH_DXIL=d6ffa30abfc0fd3dd569af4a4efc9bc9df918d2a
-	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
-	HASH_SPIRV_DXIL=aa331ab0ffcb3a67021caa1a0c1c9017712f2f31
-	HASH_VULKAN=a0c76b4ef76e219483755ff61dce6b67ff79f24b
-	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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
-			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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 +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 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
-
-		# dxil and vkd3d's spirv headers currently mismatch and incompatible
-		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
-		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
-			subprojects/dxil-spirv/third_party/spirv-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 with mingw-gcc has a history of obscure issues and
-	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
-	# crashes with -march=skylake >=wine-8.10, similar issues with
-	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-	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 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."
-	elif [[ ${REPLACING_VERSIONS##* } ]]; then
-		if ver_test ${REPLACING_VERSIONS##* } -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_test ${REPLACING_VERSIONS##* } -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
-	fi
-}

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
deleted file mode 100644
index 9665ed5de725..000000000000
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright 2022-2024 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 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=105b5b77c9a34fd336b5c604e3c7a6cc48f39c3a # match tag on bumps
-	HASH_DXIL=9044a31d22afff1d75d07886e5096daf5f1ebed8
-	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
-	HASH_SPIRV_DXIL=aa331ab0ffcb3a67021caa1a0c1c9017712f2f31
-	HASH_VULKAN=a0c76b4ef76e219483755ff61dce6b67ff79f24b
-	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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
-			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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 +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
-
-		# dxil and vkd3d's spirv headers currently mismatch and incompatible
-		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
-		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
-			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 with mingw-gcc has a history of obscure issues and
-	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
-	# crashes with -march=skylake >=wine-8.10, similar issues with
-	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-	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."
-	elif [[ ${REPLACING_VERSIONS##* } ]]; then
-		if ver_test ${REPLACING_VERSIONS##* } -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_test ${REPLACING_VERSIONS##* } -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
-	fi
-}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2024-06-21 17:00 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2024-06-21 17:00 UTC (permalink / raw
  To: gentoo-commits

commit:     932ac7463f54ee56f509566f19dbdf041577c70d
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 21 16:15:54 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Jun 21 17:00:36 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=932ac746

app-emulation/vkd3d-proton: add 2.13

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

 app-emulation/vkd3d-proton/Manifest                |   4 +
 .../vkd3d-proton/vkd3d-proton-2.13.ebuild          | 207 +++++++++++++++++++++
 2 files changed, 211 insertions(+)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index 816f990db156..af457bb87331 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,8 +1,12 @@
+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 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.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
 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-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.13.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.13.ebuild
new file mode 100644
index 000000000000..e7c3fe59c99d
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.13.ebuild
@@ -0,0 +1,207 @@
+# Copyright 2022-2024 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 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 with mingw-gcc has a history of obscure issues and
+	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+	# crashes with -march=skylake >=wine-8.10, similar issues with
+	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+	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."
+	elif [[ ${REPLACING_VERSIONS##* } ]]; then
+		if ver_test ${REPLACING_VERSIONS##* } -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_test ${REPLACING_VERSIONS##* } -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
+	fi
+}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2024-05-22  3:32 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2024-05-22  3:32 UTC (permalink / raw
  To: gentoo-commits

commit:     f554c759cafd698a570f271c9bc036fcec483e9f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed May 22 02:11:13 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed May 22 03:30:58 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f554c759

Revert "app-emulation/vkd3d-proton: add workaround for gcc14 ICE w/ mingw"

This reverts commit b7d87db08fa3899fd607a2f0d8137a35241b446f.

Fixing in mingw64-toolchain instead, *could* keep the workaround
longer for those that didn't update but likely doesn't affect many.

Bug: https://bugs.gentoo.org/932319
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild   | 3 ---
 app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild | 3 ---
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild   | 3 ---
 3 files changed, 9 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
index 718bdcf5d876..b2632b34036a 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
@@ -125,9 +125,6 @@ src_configure() {
 	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
 	append-flags -mno-avx
 
-	# gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
-	append-flags -fomit-frame-pointer
-
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
index b1acedbf8fef..9a41d28143b1 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
@@ -116,9 +116,6 @@ src_configure() {
 	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
 	append-flags -mno-avx
 
-	# gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
-	append-flags -fomit-frame-pointer
-
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 392e5e9c4273..12ec38649be1 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -125,9 +125,6 @@ src_configure() {
 	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
 	append-flags -mno-avx
 
-	# gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
-	append-flags -fomit-frame-pointer
-
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2024-05-21  3:01 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2024-05-21  3:01 UTC (permalink / raw
  To: gentoo-commits

commit:     b7d87db08fa3899fd607a2f0d8137a35241b446f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 21 02:24:03 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May 21 02:58:15 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7d87db0

app-emulation/vkd3d-proton: add workaround for gcc14 ICE w/ mingw

Bug: https://bugs.gentoo.org/932319
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild   | 3 +++
 app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild | 3 +++
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild   | 3 +++
 3 files changed, 9 insertions(+)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
index b2632b34036a..718bdcf5d876 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
@@ -125,6 +125,9 @@ src_configure() {
 	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
 	append-flags -mno-avx
 
+	# gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
+	append-flags -fomit-frame-pointer
+
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
index 9a41d28143b1..b1acedbf8fef 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
@@ -116,6 +116,9 @@ src_configure() {
 	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
 	append-flags -mno-avx
 
+	# gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
+	append-flags -fomit-frame-pointer
+
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 12ec38649be1..392e5e9c4273 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -125,6 +125,9 @@ src_configure() {
 	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
 	append-flags -mno-avx
 
+	# gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
+	append-flags -fomit-frame-pointer
+
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2024-04-25 20:40 Sam James
  0 siblings, 0 replies; 55+ messages in thread
From: Sam James @ 2024-04-25 20:40 UTC (permalink / raw
  To: gentoo-commits

commit:     26c205fd9f446a328767db45da0e92a90ae0ad59
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 25 20:40:14 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Apr 25 20:40:14 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=26c205fd

app-emulation/vkd3d-proton: Stabilize 2.12 amd64, #930681

Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
index caaf0038f806..b2632b34036a 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
@@ -35,7 +35,7 @@ else
 		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
 			-> vulkan-headers-${HASH_VULKAN}.tar.gz
 	"
-	KEYWORDS="-* ~amd64 x86"
+	KEYWORDS="-* amd64 x86"
 fi
 
 DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2024-04-25 20:40 Sam James
  0 siblings, 0 replies; 55+ messages in thread
From: Sam James @ 2024-04-25 20:40 UTC (permalink / raw
  To: gentoo-commits

commit:     a495d4acdbf328d26e8816780e15b20cc42184f0
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 25 20:40:13 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Apr 25 20:40:13 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a495d4ac

app-emulation/vkd3d-proton: Stabilize 2.12 x86, #930681

Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
index 98a5935850ad..caaf0038f806 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
@@ -35,7 +35,7 @@ else
 		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
 			-> vulkan-headers-${HASH_VULKAN}.tar.gz
 	"
-	KEYWORDS="-* ~amd64 ~x86"
+	KEYWORDS="-* ~amd64 x86"
 fi
 
 DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2024-03-28 10:10 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2024-03-28 10:10 UTC (permalink / raw
  To: gentoo-commits

commit:     2c034d2d179a986b37b232221ac24cf64580fff6
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 28 10:05:01 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Mar 28 10:10:06 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c034d2d

app-emulation/vkd3d-proton: filter -Wl,-z,* ... for C(XX)FLAGS

strip-unsupported-flags handles this fine in LDFLAGS, but -Wl,*
are no-ops during compile-only tests (thus not stripped) and then
if a package compiles and links anything at same time it fails.

This used not to be a big problem but now that 23.0 profiles
do -Wl,-z,pack-relative-relocs (mingw ld has no -z) this is
hitting bashrc-mv users that tend to do CFLAGS="${LDFLAGS}"
by default. Tempting to ignore it because of how wrong it is,
but well.

An alternate route could be to eventually have strip-flags
and/or strip-unsupported-flags remove -Wl,* from non-LDFLAGS
given this could affect more than mingw (e.g. switching to
bfd when there is a lld-only option).

Bug: https://bugs.gentoo.org/928038
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild   | 5 +++++
 app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild | 5 +++++
 app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild   | 5 +++++
 app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild | 5 +++++
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild   | 5 +++++
 5 files changed, 25 insertions(+)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
index d62c6a6a6518..a8a7ca34700f 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
@@ -126,6 +126,11 @@ src_configure() {
 			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

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
index dca027f8359a..9665ed5de725 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
@@ -124,6 +124,11 @@ src_configure() {
 			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

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
index 1190df8cfcb2..98a5935850ad 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
@@ -130,6 +130,11 @@ src_configure() {
 			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

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
index 32e103ce091f..9a41d28143b1 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
@@ -121,6 +121,11 @@ src_configure() {
 			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

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 5f2131de62c5..12ec38649be1 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -130,6 +130,11 @@ src_configure() {
 			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


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2024-03-27 16:45 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2024-03-27 16:45 UTC (permalink / raw
  To: gentoo-commits

commit:     be99a32ec48a71a63610960ecb026c9e7b80e46c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 27 16:41:42 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Mar 27 16:42:18 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=be99a32e

app-emulation/vkd3d-proton: mark as LTO unsafe

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

 app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild   | 5 +++++
 app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild | 5 +++++
 app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild   | 5 +++++
 app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild | 5 +++++
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild   | 5 +++++
 5 files changed, 25 insertions(+)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
index fb54dd38775d..d62c6a6a6518 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
@@ -110,6 +110,11 @@ src_prepare() {
 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 with mingw-gcc has a history of obscure issues and
 	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
 	# crashes with -march=skylake >=wine-8.10, similar issues with

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
index 1eed493adf7a..dca027f8359a 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
@@ -108,6 +108,11 @@ src_prepare() {
 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 with mingw-gcc has a history of obscure issues and
 	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
 	# crashes with -march=skylake >=wine-8.10, similar issues with

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
index c107c315e595..1190df8cfcb2 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
@@ -114,6 +114,11 @@ src_prepare() {
 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 with mingw-gcc has a history of obscure issues and
 	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
 	# crashes with -march=skylake >=wine-8.10, similar issues with

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
index 912055248d4b..32e103ce091f 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
@@ -105,6 +105,11 @@ src_prepare() {
 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 with mingw-gcc has a history of obscure issues and
 	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
 	# crashes with -march=skylake >=wine-8.10, similar issues with

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 3279df434dc9..5f2131de62c5 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -114,6 +114,11 @@ src_prepare() {
 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 with mingw-gcc has a history of obscure issues and
 	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
 	# crashes with -march=skylake >=wine-8.10, similar issues with


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2024-03-24 18:39 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2024-03-24 18:39 UTC (permalink / raw
  To: gentoo-commits

commit:     6da4ec59b0cea1506aebfdde8d5d526a78a792b9
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 24 18:18:55 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Mar 24 18:37:35 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6da4ec59

app-emulation/vkd3d-proton: remove old -fstack-protector workaround

mingw64-*-11 been gone for a while now.

Was originally thinking to add the same workaround as mingw64-toolchain
for -Wl,-z,* but meson does not need this. So isntead cleaning this up.

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

 app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild   | 8 +-------
 app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild | 6 ------
 app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild   | 6 ------
 app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild | 8 +-------
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild   | 6 ------
 5 files changed, 2 insertions(+), 32 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
index e25d27adcaa5..fb54dd38775d 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -121,12 +121,6 @@ src_configure() {
 			unset AR CC CXX RC STRIP WIDL
 			filter-flags '-fuse-ld=*'
 			filter-flags '-mfunction-return=thunk*' #878849
-			if has_version '<dev-util/mingw64-toolchain-11' ||
-				{ use crossdev-mingw &&
-					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
-			then
-				filter-flags '-fstack-protector*' #870136
-			fi
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
index f57151b989e2..1eed493adf7a 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
@@ -119,12 +119,6 @@ src_configure() {
 			unset AR CC CXX RC STRIP WIDL
 			filter-flags '-fuse-ld=*'
 			filter-flags '-mfunction-return=thunk*' #878849
-			if has_version '<dev-util/mingw64-toolchain-11' ||
-				{ use crossdev-mingw &&
-					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
-			then
-				filter-flags '-fstack-protector*' #870136
-			fi
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
index 594f707e519e..c107c315e595 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
@@ -125,12 +125,6 @@ src_configure() {
 			unset AR CC CXX RC STRIP WIDL
 			filter-flags '-fuse-ld=*'
 			filter-flags '-mfunction-return=thunk*' #878849
-			if has_version '<dev-util/mingw64-toolchain-11' ||
-				{ use crossdev-mingw &&
-					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
-			then
-				filter-flags '-fstack-protector*' #870136
-			fi
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
index b728f3d9a94f..912055248d4b 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -116,12 +116,6 @@ src_configure() {
 			unset AR CC CXX RC STRIP WIDL
 			filter-flags '-fuse-ld=*'
 			filter-flags '-mfunction-return=thunk*' #878849
-			if has_version '<dev-util/mingw64-toolchain-11' ||
-				{ use crossdev-mingw &&
-					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
-			then
-				filter-flags '-fstack-protector*' #870136
-			fi
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index f84149c6054e..3279df434dc9 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -125,12 +125,6 @@ src_configure() {
 			unset AR CC CXX RC STRIP WIDL
 			filter-flags '-fuse-ld=*'
 			filter-flags '-mfunction-return=thunk*' #878849
-			if has_version '<dev-util/mingw64-toolchain-11' ||
-				{ use crossdev-mingw &&
-					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
-			then
-				filter-flags '-fstack-protector*' #870136
-			fi
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2024-03-15 20:12 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2024-03-15 20:12 UTC (permalink / raw
  To: gentoo-commits

commit:     feeb2e671e5ad3d14408611f5b1ed6070cab7060
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 15 20:09:23 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Mar 15 20:11:24 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=feeb2e67

app-emulation/vkd3d-proton: sync live

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

 .../vkd3d-proton/vkd3d-proton-9999.ebuild          | 32 +++++++++++++---------
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index ac8d07ab3508..f84149c6054e 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -18,22 +18,23 @@ if [[ ${PV} == 9999 ]]; then
 		subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
 	)
 else
-	HASH_VKD3D=eb4b411734f8de04912c4a950f407f25a92f35ab # match tag on bumps
-	HASH_DXIL=fc4df6ce3aa7deffa764847c6e59f8df63c7b4b6
-	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
-	HASH_SPIRV_DXIL=aa331ab0ffcb3a67021caa1a0c1c9017712f2f31
-	HASH_VULKAN=a0c76b4ef76e219483755ff61dce6b67ff79f24b
+	HASH_VKD3D= # match tag on bumps
+	HASH_DXIL=
+	HASH_SPIRV=
+	HASH_SPIRV_DXIL=
+	HASH_VULKAN=
 	SRC_URI="
 		https://github.com/HansKristian-Work/vkd3d-proton/archive/refs/tags/v${PV}.tar.gz
 			-> ${P}.tar.gz
 		https://github.com/HansKristian-Work/dxil-spirv/archive/${HASH_DXIL}.tar.gz
-			-> ${PN}-dxil-spirv-${HASH_DXIL::10}.tar.gz
+			-> dxil-spirv-${HASH_DXIL}.tar.gz
 		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
-			-> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
+			-> spirv-headers-${HASH_SPIRV}.tar.gz
 		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
-			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::10}.tar.gz
+			-> spirv-headers-${HASH_SPIRV_DXIL}.tar.gz
 		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
-			-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
+			-> vulkan-headers-${HASH_VULKAN}.tar.gz
+	"
 	KEYWORDS="-* ~amd64 ~x86"
 fi
 
@@ -88,10 +89,15 @@ src_prepare() {
 		mv ../SPIRV-Headers-${HASH_SPIRV} khronos/SPIRV-Headers || die
 		mv ../Vulkan-Headers-${HASH_VULKAN} khronos/Vulkan-Headers || die
 
-		# dxil and vkd3d's spirv headers currently mismatch and incompatible
 		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
-		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
-			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


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2024-03-15 20:12 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2024-03-15 20:12 UTC (permalink / raw
  To: gentoo-commits

commit:     d0b624d6dfae176b671a9a3f6876c527302ce3fd
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 15 20:07:22 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Mar 15 20:11:23 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d0b624d6

app-emulation/vkd3d-proton: add 2.12

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

 app-emulation/vkd3d-proton/Manifest                |   4 +
 .../vkd3d-proton/vkd3d-proton-2.12.ebuild          | 203 +++++++++++++++++++++
 2 files changed, 207 insertions(+)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index afaafec0c534..d78dcf075d92 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,5 +1,8 @@
+DIST dxil-spirv-b03d68d6ed30e87a3bcef9a861fa3c6b4429e5cc.tar.gz 915224 BLAKE2B 137f4b187300261d922ecc66542c5b38e6fa825cbb4e9adb43a7ca15ea9b968e24111bcaf9142782a44a6a7abb342a4ccfbd863af3c01287936e47b6162b7139 SHA512 890c0a0e638b9bffc9ce2cee871c60a2a552d691e60ad6ffa087dfae988e559151b7025e025e4346d1389b7d8f39f8b9bf93e43c7427c883662c1d6c86ff9b1a
+DIST spirv-headers-8b246ff75c6615ba4532fe4fde20f1be090c3764.tar.gz 472513 BLAKE2B f1ad7e11c306c62509655eb41d74efc5fb88688780d006c6944844e964b339baa000f70e115c4df2947e882c9ac33186e301b31138c38fe5f997f7af7260f521 SHA512 fe1d9d70b217b194c92dd397bca386ce8452bc5ec3967d64a257b3a531386fe6a6ecb5e9ed8ab5bc5a2707c5378f02f05809d6d197dcfb3f87cd33304c3b1959
 DIST vkd3d-proton-2.10.tar.gz 1839493 BLAKE2B 0dd3716bd986a78d8616fdfbe80833379bc93778a8cd599b8874b4bd620a3d5fa2d7ac342305db6acf3bb6025ac7b4ff138b49a30f34fa86f7af3ebb09903100 SHA512 84e9ebf84ac5294baf6d03e1291d7f3c4a004d6dd9da0450319e785827a635b70377855092d750b6c26492d369018585d7ec3cf46ebefc603751e13578bfe333
 DIST vkd3d-proton-2.11.1.tar.gz 1978301 BLAKE2B ede48d1895d2e8bc7f6e5971e6f7c95cc0403a3dad0dc3bdc6e19ecf6f282cd02c8c81371af8499e40d6ef9c055acabd90c8e65cd8b1360bded223864ccc0502 SHA512 91abd9bb854fe701db6e0d8c0a28e630ca23829676e2f74fa1bcd52801c1afef91456355e30a1c8fe27ee282ddf45dab40f28134be1e07f2cb07557112d3fee6
+DIST vkd3d-proton-2.12.tar.gz 2109289 BLAKE2B 805298efa2f49a82dcc4b989856fb24469a1de9a1d175d5844be3e72187d14f3454ced52bcd65f557ec6776fda00112f4b9849dd48679e10aadf277d82b928ca SHA512 fbd4102fc9917a8e7c28edcaa500c26352a0652a008da453108cd21325ef2c757b5c0842a50e2e5ea6efcacdabe86b2ce570647313d0036967a135b01850fbe8
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
 DIST vkd3d-proton-dxil-spirv-9044a31d22.tar.gz 876292 BLAKE2B dd55bc2b8125c3ec4639dcb4daa1b17e64824e6abb1e7ca102b2332535a9e5ad5a5af8959cc89cfd11f839ba90ded4614eb22dd5bdbd9b60abd7340d633c1287 SHA512 26a51c9bf7d55e77191d72642d20e98ceee0ffcf359646771cd20de093c670eeff082b80dc868a3e60de0ffb2ec0e0cd1276a39c13238a18282d5cb5a2059602
 DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
@@ -9,3 +12,4 @@ DIST vkd3d-proton-spirv-headers-aa331ab0ff.tar.gz 448200 BLAKE2B 435e3ce169f44a0
 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 vkd3d-proton-vulkan-headers-a0c76b4ef7.tar.gz 2072604 BLAKE2B 324fe6cc9b803ba5dfa38a3c97d7573cb138f8e0619c0748a096f1a13eb8b608d5a780cb071f3727b0912005a0ab1bc5fd4f1a335ee74d00b44876dfe422f433 SHA512 6f447fef01946849c925634a7caf793e69f3aec52d8de2fa77fe8f5f7675c831fb54a1852cf3326e3909ce43a6f2970dd60c6976ac5d9459ef7bac62583b7ba9
+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
new file mode 100644
index 000000000000..594f707e519e
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
@@ -0,0 +1,203 @@
+# Copyright 2022-2024 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 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}
+
+	# -mavx with mingw-gcc has a history of obscure issues and
+	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+	# crashes with -march=skylake >=wine-8.10, similar issues with
+	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+	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
+			if has_version '<dev-util/mingw64-toolchain-11' ||
+				{ use crossdev-mingw &&
+					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
+			then
+				filter-flags '-fstack-protector*' #870136
+			fi
+		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."
+	elif [[ ${REPLACING_VERSIONS##* } ]]; then
+		if ver_test ${REPLACING_VERSIONS##* } -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_test ${REPLACING_VERSIONS##* } -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
+	fi
+}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2024-01-05  5:19 Arthur Zamarin
  0 siblings, 0 replies; 55+ messages in thread
From: Arthur Zamarin @ 2024-01-05  5:19 UTC (permalink / raw
  To: gentoo-commits

commit:     b28487df91bc789b559fb7adac2fe1d413886640
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  5 05:19:27 2024 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Jan  5 05:19:27 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b28487df

app-emulation/vkd3d-proton: Stabilize 2.11.1 x86, #921362

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
index 2b91113df2fc..03fba29a0a3c 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -34,7 +34,7 @@ else
 			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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"
+	KEYWORDS="-* ~amd64 x86"
 fi
 
 DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2024-01-05  5:19 Arthur Zamarin
  0 siblings, 0 replies; 55+ messages in thread
From: Arthur Zamarin @ 2024-01-05  5:19 UTC (permalink / raw
  To: gentoo-commits

commit:     fade3f004076a17b07176cd27cbdc964880ea72c
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  5 05:19:28 2024 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Jan  5 05:19:28 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fade3f00

app-emulation/vkd3d-proton: Stabilize 2.11.1 amd64, #921362

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
index 03fba29a0a3c..f57151b989e2 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
@@ -34,7 +34,7 @@ else
 			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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"
+	KEYWORDS="-* amd64 x86"
 fi
 
 DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-12-15 16:09 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-12-15 16:09 UTC (permalink / raw
  To: gentoo-commits

commit:     09961e0804626c578009dc2cf6688ca18cbd5edc
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 15 16:07:11 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Dec 15 16:07:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=09961e08

app-emulation/vkd3d-proton: add 2.11.1

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

 app-emulation/vkd3d-proton/Manifest                |   2 +
 .../vkd3d-proton/vkd3d-proton-2.11.1.ebuild        | 197 +++++++++++++++++++++
 2 files changed, 199 insertions(+)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index 9c8a0f2dbae5..82385933dc37 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,7 +1,9 @@
 DIST vkd3d-proton-2.10.tar.gz 1839493 BLAKE2B 0dd3716bd986a78d8616fdfbe80833379bc93778a8cd599b8874b4bd620a3d5fa2d7ac342305db6acf3bb6025ac7b4ff138b49a30f34fa86f7af3ebb09903100 SHA512 84e9ebf84ac5294baf6d03e1291d7f3c4a004d6dd9da0450319e785827a635b70377855092d750b6c26492d369018585d7ec3cf46ebefc603751e13578bfe333
+DIST vkd3d-proton-2.11.1.tar.gz 1978301 BLAKE2B ede48d1895d2e8bc7f6e5971e6f7c95cc0403a3dad0dc3bdc6e19ecf6f282cd02c8c81371af8499e40d6ef9c055acabd90c8e65cd8b1360bded223864ccc0502 SHA512 91abd9bb854fe701db6e0d8c0a28e630ca23829676e2f74fa1bcd52801c1afef91456355e30a1c8fe27ee282ddf45dab40f28134be1e07f2cb07557112d3fee6
 DIST vkd3d-proton-2.11.tar.gz 1963984 BLAKE2B 30832bc58f37827444fac96e6801dde49f40ce9c474298868659eea03fd72a64fcbc6f679af9203868057fdc17ccf909289fc4e8c8cdd15b7d95ed559ecd08d1 SHA512 43ff2b0d551d70185b9a0b7e6a377432c01a794699a0810cc397379a260f746134cc0d74b1a938038834d5d0cdd48a54251db7b26f50ca4fcd1b4dfbf101217e
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
 DIST vkd3d-proton-2.9.tar.gz 1534562 BLAKE2B c2fd0d7ede7eae9192c32d2756abb7601324a220391a85e6fad2b8c2786d2bf4870cefb5f1bdec5fe7197d941fd25296a283fad49ab7c95bad37a457118f9d47 SHA512 65cab81045d151a2ee8ff755d02138daf6581c491d273773d61847efa2520d4c456de0c564eb4fe4dfbdd1f7b5b2a0177766497815d04f03845dadd0857fb483
+DIST vkd3d-proton-dxil-spirv-9044a31d22.tar.gz 876292 BLAKE2B dd55bc2b8125c3ec4639dcb4daa1b17e64824e6abb1e7ca102b2332535a9e5ad5a5af8959cc89cfd11f839ba90ded4614eb22dd5bdbd9b60abd7340d633c1287 SHA512 26a51c9bf7d55e77191d72642d20e98ceee0ffcf359646771cd20de093c670eeff082b80dc868a3e60de0ffb2ec0e0cd1276a39c13238a18282d5cb5a2059602
 DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
 DIST vkd3d-proton-dxil-spirv-d6ffa30abf.tar.gz 783875 BLAKE2B 971a183c84142a4a00858d85c88f48d0c2dd6c4cc7576811c958c03d7f2e8cacb54cf518fa5f3dc0d2e0da681f3a15ab8e7d35ef7bb6df0e5b429e99ccdc9b75 SHA512 68452e28a88b8437ac81479ff2562322de759aafb1e6ac253f84fd43f1d4eb3c677e54da320e5cfc2f569fe15ca7578c0c4af8dc699f51baf597b4796fdd0167
 DIST vkd3d-proton-dxil-spirv-f20a0fb4e9.tar.gz 727867 BLAKE2B cad4db07fc8d92d2d33ff534483b809abe0a85b98184ceae850331b1287b5c4fa86a233a68faa55e6a05fbb05741ea0d9a20250d27312a2e83175b0c5dd76dad SHA512 76d181d7326902d5eceb21d0d971cac7fccf9541b367a00ad72c2e7645262aff3d5cc707994f6ed1c75b9dc8ace240d3c4861f9f08fa622851c6be0a4b144f93

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
new file mode 100644
index 000000000000..2b91113df2fc
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.1.ebuild
@@ -0,0 +1,197 @@
+# Copyright 2022-2023 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 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=105b5b77c9a34fd336b5c604e3c7a6cc48f39c3a # match tag on bumps
+	HASH_DXIL=9044a31d22afff1d75d07886e5096daf5f1ebed8
+	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
+	HASH_SPIRV_DXIL=aa331ab0ffcb3a67021caa1a0c1c9017712f2f31
+	HASH_VULKAN=a0c76b4ef76e219483755ff61dce6b67ff79f24b
+	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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
+			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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 +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
+
+		# dxil and vkd3d's spirv headers currently mismatch and incompatible
+		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
+		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
+			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}
+
+	# -mavx with mingw-gcc has a history of obscure issues and
+	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+	# crashes with -march=skylake >=wine-8.10, similar issues with
+	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+	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
+			if has_version '<dev-util/mingw64-toolchain-11' ||
+				{ use crossdev-mingw &&
+					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
+			then
+				filter-flags '-fstack-protector*' #870136
+			fi
+		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."
+	elif [[ ${REPLACING_VERSIONS##* } ]]; then
+		if ver_test ${REPLACING_VERSIONS##* } -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_test ${REPLACING_VERSIONS##* } -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
+	fi
+}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-12-15 16:09 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-12-15 16:09 UTC (permalink / raw
  To: gentoo-commits

commit:     85294dcbf23c245a803ce77f469e28244f3fb369
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 15 16:09:09 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Dec 15 16:09:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85294dcb

app-emulation/vkd3d-proton: drop 2.9-r1

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

 app-emulation/vkd3d-proton/Manifest                |   3 -
 .../vkd3d-proton/vkd3d-proton-2.9-r1.ebuild        | 203 ---------------------
 2 files changed, 206 deletions(-)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index 82385933dc37..4f6c1d222b10 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -2,15 +2,12 @@ DIST vkd3d-proton-2.10.tar.gz 1839493 BLAKE2B 0dd3716bd986a78d8616fdfbe80833379b
 DIST vkd3d-proton-2.11.1.tar.gz 1978301 BLAKE2B ede48d1895d2e8bc7f6e5971e6f7c95cc0403a3dad0dc3bdc6e19ecf6f282cd02c8c81371af8499e40d6ef9c055acabd90c8e65cd8b1360bded223864ccc0502 SHA512 91abd9bb854fe701db6e0d8c0a28e630ca23829676e2f74fa1bcd52801c1afef91456355e30a1c8fe27ee282ddf45dab40f28134be1e07f2cb07557112d3fee6
 DIST vkd3d-proton-2.11.tar.gz 1963984 BLAKE2B 30832bc58f37827444fac96e6801dde49f40ce9c474298868659eea03fd72a64fcbc6f679af9203868057fdc17ccf909289fc4e8c8cdd15b7d95ed559ecd08d1 SHA512 43ff2b0d551d70185b9a0b7e6a377432c01a794699a0810cc397379a260f746134cc0d74b1a938038834d5d0cdd48a54251db7b26f50ca4fcd1b4dfbf101217e
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
-DIST vkd3d-proton-2.9.tar.gz 1534562 BLAKE2B c2fd0d7ede7eae9192c32d2756abb7601324a220391a85e6fad2b8c2786d2bf4870cefb5f1bdec5fe7197d941fd25296a283fad49ab7c95bad37a457118f9d47 SHA512 65cab81045d151a2ee8ff755d02138daf6581c491d273773d61847efa2520d4c456de0c564eb4fe4dfbdd1f7b5b2a0177766497815d04f03845dadd0857fb483
 DIST vkd3d-proton-dxil-spirv-9044a31d22.tar.gz 876292 BLAKE2B dd55bc2b8125c3ec4639dcb4daa1b17e64824e6abb1e7ca102b2332535a9e5ad5a5af8959cc89cfd11f839ba90ded4614eb22dd5bdbd9b60abd7340d633c1287 SHA512 26a51c9bf7d55e77191d72642d20e98ceee0ffcf359646771cd20de093c670eeff082b80dc868a3e60de0ffb2ec0e0cd1276a39c13238a18282d5cb5a2059602
 DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
 DIST vkd3d-proton-dxil-spirv-d6ffa30abf.tar.gz 783875 BLAKE2B 971a183c84142a4a00858d85c88f48d0c2dd6c4cc7576811c958c03d7f2e8cacb54cf518fa5f3dc0d2e0da681f3a15ab8e7d35ef7bb6df0e5b429e99ccdc9b75 SHA512 68452e28a88b8437ac81479ff2562322de759aafb1e6ac253f84fd43f1d4eb3c677e54da320e5cfc2f569fe15ca7578c0c4af8dc699f51baf597b4796fdd0167
-DIST vkd3d-proton-dxil-spirv-f20a0fb4e9.tar.gz 727867 BLAKE2B cad4db07fc8d92d2d33ff534483b809abe0a85b98184ceae850331b1287b5c4fa86a233a68faa55e6a05fbb05741ea0d9a20250d27312a2e83175b0c5dd76dad SHA512 76d181d7326902d5eceb21d0d971cac7fccf9541b367a00ad72c2e7645262aff3d5cc707994f6ed1c75b9dc8ace240d3c4861f9f08fa622851c6be0a4b144f93
 DIST vkd3d-proton-dxil-spirv-fc4df6ce3a.tar.gz 874759 BLAKE2B c5126336850e9869bf185c59d809c3142c7aa83dab363c966c3126c5d69487d58c07e89d5bd34194838455fa3b7929fe4b1f483019733f0e79c3c623cdc82b93 SHA512 0bd8865a5fad63e59b32b63a738b9b7b03075f36c7812fc40cd459ca9d57427b17972ebfb4f8fd0e0aa0e3054e2777e25b9b2965c454708931d7fb43d643b75f
 DIST vkd3d-proton-spirv-headers-1d31a10040.tar.gz 445679 BLAKE2B 3dac88269df92428fd93ca187eb417ec0156ff0b24200daf85526aaa92c30ba8743102764e20c47d783ed0704fa690c1bf60944ef81bbdd296890dde5fb9fcaa SHA512 2536619cd7854954892dbb5ab5cd97e4e95fe3f5c121c4b2022426ae734fc20c1ebadbae1da7689f5ca18397075c54e4f16ad525b8ee873c4b0ffdc07aaacc03
 DIST vkd3d-proton-spirv-headers-aa331ab0ff.tar.gz 448200 BLAKE2B 435e3ce169f44a00181a664a6cb2f3e45e22b3d4ec033d27fb2b54564b4fcc4274ac170f373daddf9ba0bd421b3d50fc87442c15345dae24ec131f4257b33f30 SHA512 1cd6043974daa4cd71138be629544d10944064af8e5b1a5a64e746922edd0d583050ec3b036ef304dd67a689c65541b5cb375d80f26ab3c9314653169cc5aac8
 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 vkd3d-proton-vulkan-headers-a0c76b4ef7.tar.gz 2072604 BLAKE2B 324fe6cc9b803ba5dfa38a3c97d7573cb138f8e0619c0748a096f1a13eb8b608d5a780cb071f3727b0912005a0ab1bc5fd4f1a335ee74d00b44876dfe422f433 SHA512 6f447fef01946849c925634a7caf793e69f3aec52d8de2fa77fe8f5f7675c831fb54a1852cf3326e3909ce43a6f2970dd60c6976ac5d9459ef7bac62583b7ba9
-DIST vkd3d-proton-vulkan-headers-bd6443d28f.tar.gz 1827419 BLAKE2B 911ef9d8039c052742a26784f800826af3f3da0d24026198540eceebb798990089eddefb518bf92ae50b039fa04477dc3256367593ed77852d90a332f9c4d0d5 SHA512 20e722bc5918af6c5ebeb6599d0f7f09821a3045d014f1c178ba8e038bdb4ace11a6ae261c75b38a0098cffff9bbfe4a518a541699575fbf642f13a73ca0faca

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.9-r1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.9-r1.ebuild
deleted file mode 100644
index cf5467c6fde5..000000000000
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.9-r1.ebuild
+++ /dev/null
@@ -1,203 +0,0 @@
-# Copyright 2022-2023 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 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=6365efeba253807beecaed0eaa963295522c6b70 # match tag on bumps
-	HASH_DXIL=f20a0fb4e984a83743baa9d863eb7b26228bcca3
-	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
-	HASH_SPIRV_DXIL=aa331ab0ffcb3a67021caa1a0c1c9017712f2f31
-	HASH_VULKAN=bd6443d28f2ebecedfb839b52d612011ba623d14
-	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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
-			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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
-
-		# dxil and vkd3d's spirv headers currently mismatch and incompatible
-		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
-		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
-			subprojects/dxil-spirv/third_party/spirv-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}
-
-	# -mavx with mingw-gcc has a history of obscure issues and
-	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
-	# crashes with -march=skylake >=wine-8.10, similar issues with
-	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-	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
-			if has_version '<dev-util/mingw64-toolchain-11' ||
-				{ use crossdev-mingw &&
-					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
-			then
-				filter-flags '-fstack-protector*' #870136
-			fi
-		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
-
-	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."
-	elif [[ ${REPLACING_VERSIONS##* } ]]; then
-		if ver_test ${REPLACING_VERSIONS##* } -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_test ${REPLACING_VERSIONS##* } -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
-	fi
-}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-12-15 10:10 Michał Górny
  0 siblings, 0 replies; 55+ messages in thread
From: Michał Górny @ 2023-12-15 10:10 UTC (permalink / raw
  To: gentoo-commits

commit:     e01c782d4f6db8ccbf6806373f804797f01cef62
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 15 10:10:04 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Dec 15 10:10:04 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e01c782d

app-emulation/vkd3d-proton: Stabilize 2.11 x86, #919892

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.11.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.ebuild
index 6b76390725cb..ff0016c1ff36 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.ebuild
@@ -34,7 +34,7 @@ else
 			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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"
+	KEYWORDS="-* amd64 x86"
 fi
 
 DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-12-14 21:46 Sam James
  0 siblings, 0 replies; 55+ messages in thread
From: Sam James @ 2023-12-14 21:46 UTC (permalink / raw
  To: gentoo-commits

commit:     ddfc023777da1fdd0e65883da1a1183f6a8c0a4d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 14 21:46:37 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 14 21:46:37 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ddfc0237

app-emulation/vkd3d-proton: Stabilize 2.11 amd64, #919892

Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.11.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.ebuild
index ac8d07ab3508..6b76390725cb 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.ebuild
@@ -34,7 +34,7 @@ else
 			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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"
+	KEYWORDS="-* amd64 ~x86"
 fi
 
 DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-11-24 17:01 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-11-24 17:01 UTC (permalink / raw
  To: gentoo-commits

commit:     f432b1c21926a3f0d166015c8a71fa80f251a225
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 24 16:58:36 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Nov 24 17:00:51 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f432b1c2

app-emulation/vkd3d-proton: sync live

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

 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 573700be0e89..ac8d07ab3508 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -18,11 +18,11 @@ if [[ ${PV} == 9999 ]]; then
 		subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
 	)
 else
-	HASH_VKD3D=6365efeba253807beecaed0eaa963295522c6b70 # match tag on bumps
-	HASH_DXIL=f20a0fb4e984a83743baa9d863eb7b26228bcca3
+	HASH_VKD3D=eb4b411734f8de04912c4a950f407f25a92f35ab # match tag on bumps
+	HASH_DXIL=fc4df6ce3aa7deffa764847c6e59f8df63c7b4b6
 	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
 	HASH_SPIRV_DXIL=aa331ab0ffcb3a67021caa1a0c1c9017712f2f31
-	HASH_VULKAN=bd6443d28f2ebecedfb839b52d612011ba623d14
+	HASH_VULKAN=a0c76b4ef76e219483755ff61dce6b67ff79f24b
 	SRC_URI="
 		https://github.com/HansKristian-Work/vkd3d-proton/archive/refs/tags/v${PV}.tar.gz
 			-> ${P}.tar.gz
@@ -83,7 +83,7 @@ pkg_pretend() {
 
 src_prepare() {
 	if [[ ${PV} != 9999 ]]; then
-		rmdir subprojects/{{SPIRV,Vulkan}-Headers,dxil-spirv} || die
+		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


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-11-24 17:01 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-11-24 17:01 UTC (permalink / raw
  To: gentoo-commits

commit:     f202c76c219447b53030d9175a17dc39e53d9f50
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 24 16:56:38 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Nov 24 17:00:51 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f202c76c

app-emulation/vkd3d-proton: add 2.11

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

 app-emulation/vkd3d-proton/Manifest                |   2 +
 .../vkd3d-proton/vkd3d-proton-2.11.ebuild          | 197 +++++++++++++++++++++
 2 files changed, 199 insertions(+)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index 144ef319dd53..9c8a0f2dbae5 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,9 +1,11 @@
 DIST vkd3d-proton-2.10.tar.gz 1839493 BLAKE2B 0dd3716bd986a78d8616fdfbe80833379bc93778a8cd599b8874b4bd620a3d5fa2d7ac342305db6acf3bb6025ac7b4ff138b49a30f34fa86f7af3ebb09903100 SHA512 84e9ebf84ac5294baf6d03e1291d7f3c4a004d6dd9da0450319e785827a635b70377855092d750b6c26492d369018585d7ec3cf46ebefc603751e13578bfe333
+DIST vkd3d-proton-2.11.tar.gz 1963984 BLAKE2B 30832bc58f37827444fac96e6801dde49f40ce9c474298868659eea03fd72a64fcbc6f679af9203868057fdc17ccf909289fc4e8c8cdd15b7d95ed559ecd08d1 SHA512 43ff2b0d551d70185b9a0b7e6a377432c01a794699a0810cc397379a260f746134cc0d74b1a938038834d5d0cdd48a54251db7b26f50ca4fcd1b4dfbf101217e
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
 DIST vkd3d-proton-2.9.tar.gz 1534562 BLAKE2B c2fd0d7ede7eae9192c32d2756abb7601324a220391a85e6fad2b8c2786d2bf4870cefb5f1bdec5fe7197d941fd25296a283fad49ab7c95bad37a457118f9d47 SHA512 65cab81045d151a2ee8ff755d02138daf6581c491d273773d61847efa2520d4c456de0c564eb4fe4dfbdd1f7b5b2a0177766497815d04f03845dadd0857fb483
 DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
 DIST vkd3d-proton-dxil-spirv-d6ffa30abf.tar.gz 783875 BLAKE2B 971a183c84142a4a00858d85c88f48d0c2dd6c4cc7576811c958c03d7f2e8cacb54cf518fa5f3dc0d2e0da681f3a15ab8e7d35ef7bb6df0e5b429e99ccdc9b75 SHA512 68452e28a88b8437ac81479ff2562322de759aafb1e6ac253f84fd43f1d4eb3c677e54da320e5cfc2f569fe15ca7578c0c4af8dc699f51baf597b4796fdd0167
 DIST vkd3d-proton-dxil-spirv-f20a0fb4e9.tar.gz 727867 BLAKE2B cad4db07fc8d92d2d33ff534483b809abe0a85b98184ceae850331b1287b5c4fa86a233a68faa55e6a05fbb05741ea0d9a20250d27312a2e83175b0c5dd76dad SHA512 76d181d7326902d5eceb21d0d971cac7fccf9541b367a00ad72c2e7645262aff3d5cc707994f6ed1c75b9dc8ace240d3c4861f9f08fa622851c6be0a4b144f93
+DIST vkd3d-proton-dxil-spirv-fc4df6ce3a.tar.gz 874759 BLAKE2B c5126336850e9869bf185c59d809c3142c7aa83dab363c966c3126c5d69487d58c07e89d5bd34194838455fa3b7929fe4b1f483019733f0e79c3c623cdc82b93 SHA512 0bd8865a5fad63e59b32b63a738b9b7b03075f36c7812fc40cd459ca9d57427b17972ebfb4f8fd0e0aa0e3054e2777e25b9b2965c454708931d7fb43d643b75f
 DIST vkd3d-proton-spirv-headers-1d31a10040.tar.gz 445679 BLAKE2B 3dac88269df92428fd93ca187eb417ec0156ff0b24200daf85526aaa92c30ba8743102764e20c47d783ed0704fa690c1bf60944ef81bbdd296890dde5fb9fcaa SHA512 2536619cd7854954892dbb5ab5cd97e4e95fe3f5c121c4b2022426ae734fc20c1ebadbae1da7689f5ca18397075c54e4f16ad525b8ee873c4b0ffdc07aaacc03
 DIST vkd3d-proton-spirv-headers-aa331ab0ff.tar.gz 448200 BLAKE2B 435e3ce169f44a00181a664a6cb2f3e45e22b3d4ec033d27fb2b54564b4fcc4274ac170f373daddf9ba0bd421b3d50fc87442c15345dae24ec131f4257b33f30 SHA512 1cd6043974daa4cd71138be629544d10944064af8e5b1a5a64e746922edd0d583050ec3b036ef304dd67a689c65541b5cb375d80f26ab3c9314653169cc5aac8
 DIST vkd3d-proton-spirv-headers-ae217c1780.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b9c69757d7c2257ce2fe1bc6be308341f3189766f120994e4920bc738b737d9eefc299359dab568fb8809782e3663dd589c0e4d13aecb8873a SHA512 02cf1d63b29e48ef0efe489eb32237ba2f9f4bf58a182b00dc96aab18faba94de79283398e9e945cd81130f83fff228c59b04e496716ea9ccc148a5f4465282c

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.11.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.ebuild
new file mode 100644
index 000000000000..ac8d07ab3508
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.11.ebuild
@@ -0,0 +1,197 @@
+# Copyright 2022-2023 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 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=eb4b411734f8de04912c4a950f407f25a92f35ab # match tag on bumps
+	HASH_DXIL=fc4df6ce3aa7deffa764847c6e59f8df63c7b4b6
+	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
+	HASH_SPIRV_DXIL=aa331ab0ffcb3a67021caa1a0c1c9017712f2f31
+	HASH_VULKAN=a0c76b4ef76e219483755ff61dce6b67ff79f24b
+	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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
+			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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 +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
+
+		# dxil and vkd3d's spirv headers currently mismatch and incompatible
+		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
+		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
+			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}
+
+	# -mavx with mingw-gcc has a history of obscure issues and
+	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+	# crashes with -march=skylake >=wine-8.10, similar issues with
+	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+	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
+			if has_version '<dev-util/mingw64-toolchain-11' ||
+				{ use crossdev-mingw &&
+					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
+			then
+				filter-flags '-fstack-protector*' #870136
+			fi
+		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."
+	elif [[ ${REPLACING_VERSIONS##* } ]]; then
+		if ver_test ${REPLACING_VERSIONS##* } -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_test ${REPLACING_VERSIONS##* } -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
+	fi
+}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-11-17  5:14 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-11-17  5:14 UTC (permalink / raw
  To: gentoo-commits

commit:     c4e8357dc253dc1de4e3116e919c26ee13fc1fc3
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 17 05:11:56 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Nov 17 05:13:42 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4e8357d

app-emulation/vkd3d-proton: update live

wrt static, these are now passed unconditionally for windows platform.

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

 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 490163e3132b..573700be0e89 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then
 	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
+		khronos/{SPIRV,Vulkan}-Headers
 		subprojects/dxil-spirv
 		subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
 	)
@@ -85,15 +85,13 @@ 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
+		mv ../SPIRV-Headers-${HASH_SPIRV} khronos/SPIRV-Headers || die
+		mv ../Vulkan-Headers-${HASH_VULKAN} khronos/Vulkan-Headers || die
 
 		# dxil and vkd3d's spirv headers currently mismatch and incompatible
 		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
 		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
 			subprojects/dxil-spirv/third_party/spirv-headers || die
-#		ln -s ../../../SPIRV-Headers/include \
-#			subprojects/dxil-spirv/third_party/spirv-headers || die
 	fi
 
 	default
@@ -133,10 +131,6 @@ src_configure() {
 		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
 


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-10-01 18:07 Arthur Zamarin
  0 siblings, 0 replies; 55+ messages in thread
From: Arthur Zamarin @ 2023-10-01 18:07 UTC (permalink / raw
  To: gentoo-commits

commit:     12b43659e7bd64ff995cd1f860aee4efcfd373ae
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sun Oct  1 18:07:19 2023 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sun Oct  1 18:07:19 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12b43659

app-emulation/vkd3d-proton: Stabilize 2.10 amd64, #915003

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
index e290854b3408..98920bf895cd 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
@@ -34,7 +34,7 @@ else
 			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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"
+	KEYWORDS="-* amd64 ~x86"
 fi
 
 DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-10-01 18:07 Arthur Zamarin
  0 siblings, 0 replies; 55+ messages in thread
From: Arthur Zamarin @ 2023-10-01 18:07 UTC (permalink / raw
  To: gentoo-commits

commit:     4728933338be9dc559744748c5566bc074b1dd6f
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sun Oct  1 18:07:19 2023 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sun Oct  1 18:07:19 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47289333

app-emulation/vkd3d-proton: Stabilize 2.10 x86, #915003

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
index 98920bf895cd..e25d27adcaa5 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
@@ -34,7 +34,7 @@ else
 			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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"
+	KEYWORDS="-* amd64 x86"
 fi
 
 DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-09-11 14:59 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-09-11 14:59 UTC (permalink / raw
  To: gentoo-commits

commit:     2845d866905786817c2ca9d342e53a34567f3dbe
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 11 14:45:12 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Sep 11 14:58:07 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2845d866

app-emulation/vkd3d-proton: add 2.10 (starfield edition)

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

 app-emulation/vkd3d-proton/Manifest                |   3 +
 .../vkd3d-proton/vkd3d-proton-2.10.ebuild          | 203 +++++++++++++++++++++
 2 files changed, 206 insertions(+)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index 6db3e1fd743d..144ef319dd53 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,9 +1,12 @@
+DIST vkd3d-proton-2.10.tar.gz 1839493 BLAKE2B 0dd3716bd986a78d8616fdfbe80833379bc93778a8cd599b8874b4bd620a3d5fa2d7ac342305db6acf3bb6025ac7b4ff138b49a30f34fa86f7af3ebb09903100 SHA512 84e9ebf84ac5294baf6d03e1291d7f3c4a004d6dd9da0450319e785827a635b70377855092d750b6c26492d369018585d7ec3cf46ebefc603751e13578bfe333
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
 DIST vkd3d-proton-2.9.tar.gz 1534562 BLAKE2B c2fd0d7ede7eae9192c32d2756abb7601324a220391a85e6fad2b8c2786d2bf4870cefb5f1bdec5fe7197d941fd25296a283fad49ab7c95bad37a457118f9d47 SHA512 65cab81045d151a2ee8ff755d02138daf6581c491d273773d61847efa2520d4c456de0c564eb4fe4dfbdd1f7b5b2a0177766497815d04f03845dadd0857fb483
 DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
+DIST vkd3d-proton-dxil-spirv-d6ffa30abf.tar.gz 783875 BLAKE2B 971a183c84142a4a00858d85c88f48d0c2dd6c4cc7576811c958c03d7f2e8cacb54cf518fa5f3dc0d2e0da681f3a15ab8e7d35ef7bb6df0e5b429e99ccdc9b75 SHA512 68452e28a88b8437ac81479ff2562322de759aafb1e6ac253f84fd43f1d4eb3c677e54da320e5cfc2f569fe15ca7578c0c4af8dc699f51baf597b4796fdd0167
 DIST vkd3d-proton-dxil-spirv-f20a0fb4e9.tar.gz 727867 BLAKE2B cad4db07fc8d92d2d33ff534483b809abe0a85b98184ceae850331b1287b5c4fa86a233a68faa55e6a05fbb05741ea0d9a20250d27312a2e83175b0c5dd76dad SHA512 76d181d7326902d5eceb21d0d971cac7fccf9541b367a00ad72c2e7645262aff3d5cc707994f6ed1c75b9dc8ace240d3c4861f9f08fa622851c6be0a4b144f93
 DIST vkd3d-proton-spirv-headers-1d31a10040.tar.gz 445679 BLAKE2B 3dac88269df92428fd93ca187eb417ec0156ff0b24200daf85526aaa92c30ba8743102764e20c47d783ed0704fa690c1bf60944ef81bbdd296890dde5fb9fcaa SHA512 2536619cd7854954892dbb5ab5cd97e4e95fe3f5c121c4b2022426ae734fc20c1ebadbae1da7689f5ca18397075c54e4f16ad525b8ee873c4b0ffdc07aaacc03
 DIST vkd3d-proton-spirv-headers-aa331ab0ff.tar.gz 448200 BLAKE2B 435e3ce169f44a00181a664a6cb2f3e45e22b3d4ec033d27fb2b54564b4fcc4274ac170f373daddf9ba0bd421b3d50fc87442c15345dae24ec131f4257b33f30 SHA512 1cd6043974daa4cd71138be629544d10944064af8e5b1a5a64e746922edd0d583050ec3b036ef304dd67a689c65541b5cb375d80f26ab3c9314653169cc5aac8
 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 vkd3d-proton-vulkan-headers-a0c76b4ef7.tar.gz 2072604 BLAKE2B 324fe6cc9b803ba5dfa38a3c97d7573cb138f8e0619c0748a096f1a13eb8b608d5a780cb071f3727b0912005a0ab1bc5fd4f1a335ee74d00b44876dfe422f433 SHA512 6f447fef01946849c925634a7caf793e69f3aec52d8de2fa77fe8f5f7675c831fb54a1852cf3326e3909ce43a6f2970dd60c6976ac5d9459ef7bac62583b7ba9
 DIST vkd3d-proton-vulkan-headers-bd6443d28f.tar.gz 1827419 BLAKE2B 911ef9d8039c052742a26784f800826af3f3da0d24026198540eceebb798990089eddefb518bf92ae50b039fa04477dc3256367593ed77852d90a332f9c4d0d5 SHA512 20e722bc5918af6c5ebeb6599d0f7f09821a3045d014f1c178ba8e038bdb4ace11a6ae261c75b38a0098cffff9bbfe4a518a541699575fbf642f13a73ca0faca

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
new file mode 100644
index 000000000000..e290854b3408
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.10.ebuild
@@ -0,0 +1,203 @@
+# Copyright 2022-2023 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 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=88e4f300cc0b5b6f0880c1233d562cf506b546fb # match tag on bumps
+	HASH_DXIL=d6ffa30abfc0fd3dd569af4a4efc9bc9df918d2a
+	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
+	HASH_SPIRV_DXIL=aa331ab0ffcb3a67021caa1a0c1c9017712f2f31
+	HASH_VULKAN=a0c76b4ef76e219483755ff61dce6b67ff79f24b
+	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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
+			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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 +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 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
+
+		# dxil and vkd3d's spirv headers currently mismatch and incompatible
+		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
+		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
+			subprojects/dxil-spirv/third_party/spirv-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}
+
+	# -mavx with mingw-gcc has a history of obscure issues and
+	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+	# crashes with -march=skylake >=wine-8.10, similar issues with
+	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+	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
+			if has_version '<dev-util/mingw64-toolchain-11' ||
+				{ use crossdev-mingw &&
+					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
+			then
+				filter-flags '-fstack-protector*' #870136
+			fi
+		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 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."
+	elif [[ ${REPLACING_VERSIONS##* } ]]; then
+		if ver_test ${REPLACING_VERSIONS##* } -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_test ${REPLACING_VERSIONS##* } -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
+	fi
+}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-08-15 20:22 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-08-15 20:22 UTC (permalink / raw
  To: gentoo-commits

commit:     42a1c59f7a3910526eca82ef2579066cb63b0c1e
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 15 19:52:33 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Aug 15 20:14:30 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=42a1c59f

app-emulation/vkd3d-proton: drop 2.8

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

 app-emulation/vkd3d-proton/Manifest                |   4 -
 app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild | 189 ---------------------
 2 files changed, 193 deletions(-)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index 9dffeb452562..6db3e1fd743d 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,13 +1,9 @@
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
-DIST vkd3d-proton-2.8.tar.gz 1435183 BLAKE2B 8b265e6dac1dd0ed6377ea6bc0ecffa7eccb8360f890bf2c996395b9db90e132ede9bddf6e889a9302466cccdcd2000f1e7ad9ece740b797c44f081b7ca1bb98 SHA512 d708fe62d64487b4430862b93913ba45f2889268c5efb9b1dc69fd48a665fcffc06a7bb91afc13b06a35fd82005a3115dc85f1de74d65f6958fd6f0c02a54007
 DIST vkd3d-proton-2.9.tar.gz 1534562 BLAKE2B c2fd0d7ede7eae9192c32d2756abb7601324a220391a85e6fad2b8c2786d2bf4870cefb5f1bdec5fe7197d941fd25296a283fad49ab7c95bad37a457118f9d47 SHA512 65cab81045d151a2ee8ff755d02138daf6581c491d273773d61847efa2520d4c456de0c564eb4fe4dfbdd1f7b5b2a0177766497815d04f03845dadd0857fb483
 DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
-DIST vkd3d-proton-dxil-spirv-babf511d4c.tar.gz 695011 BLAKE2B 49e13065037edec80815b19907664d9681bc191303032db2e1678fbff5e144846c2ee267fdf5c1d4c31a1a30f2c14275f8e276a771253fabb8bbea8936be4eb4 SHA512 b310e4e856b4571ce13cce8539bd1640c7578b132558c009fcc04c24b4b10a86b620542891442dd81feaa8f6ad63d2d05021ca228d1c5f46eebe384fdb30f77e
 DIST vkd3d-proton-dxil-spirv-f20a0fb4e9.tar.gz 727867 BLAKE2B cad4db07fc8d92d2d33ff534483b809abe0a85b98184ceae850331b1287b5c4fa86a233a68faa55e6a05fbb05741ea0d9a20250d27312a2e83175b0c5dd76dad SHA512 76d181d7326902d5eceb21d0d971cac7fccf9541b367a00ad72c2e7645262aff3d5cc707994f6ed1c75b9dc8ace240d3c4861f9f08fa622851c6be0a4b144f93
 DIST vkd3d-proton-spirv-headers-1d31a10040.tar.gz 445679 BLAKE2B 3dac88269df92428fd93ca187eb417ec0156ff0b24200daf85526aaa92c30ba8743102764e20c47d783ed0704fa690c1bf60944ef81bbdd296890dde5fb9fcaa SHA512 2536619cd7854954892dbb5ab5cd97e4e95fe3f5c121c4b2022426ae734fc20c1ebadbae1da7689f5ca18397075c54e4f16ad525b8ee873c4b0ffdc07aaacc03
-DIST vkd3d-proton-spirv-headers-87d5b782be.tar.gz 439180 BLAKE2B 9c64a1b7aa408172bb57b38ca0e3d31221c7dfecfcd9afc77449c14e76f60f7436f1a54a794bf4959f4575f177e1024621c6ff696f7fb19b545877e0a527031c SHA512 d6ce02e53c259e508d1d72d81cc6aa6b3019e7ecd6a8878d81d8681d9734756f66c762ebd4b8b1d0f9fbb7a8f1f18d72aeb27c56822d810aca5a3e53c51c1ef6
 DIST vkd3d-proton-spirv-headers-aa331ab0ff.tar.gz 448200 BLAKE2B 435e3ce169f44a00181a664a6cb2f3e45e22b3d4ec033d27fb2b54564b4fcc4274ac170f373daddf9ba0bd421b3d50fc87442c15345dae24ec131f4257b33f30 SHA512 1cd6043974daa4cd71138be629544d10944064af8e5b1a5a64e746922edd0d583050ec3b036ef304dd67a689c65541b5cb375d80f26ab3c9314653169cc5aac8
 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 vkd3d-proton-vulkan-headers-b7a86d3b2b.tar.gz 1753074 BLAKE2B a2588e84edd09a04c3622a95310acc781432d6a962c69c1f5a709b65e2bfeb5196d9d217b0d261532c4b5c1424f13ff64d33728303c989fdbce3048741add486 SHA512 377ada7a9721c225067c6548475109cf4ad1f3d677b835fbe7a4bc7520621acd816cc59d4b75b23bc28f25891b556792cf853b98c0dfb915856774ff27eb6aba
 DIST vkd3d-proton-vulkan-headers-bd6443d28f.tar.gz 1827419 BLAKE2B 911ef9d8039c052742a26784f800826af3f3da0d24026198540eceebb798990089eddefb518bf92ae50b039fa04477dc3256367593ed77852d90a332f9c4d0d5 SHA512 20e722bc5918af6c5ebeb6599d0f7f09821a3045d014f1c178ba8e038bdb4ace11a6ae261c75b38a0098cffff9bbfe4a518a541699575fbf642f13a73ca0faca

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
deleted file mode 100644
index d9c77a55fbc2..000000000000
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
+++ /dev/null
@@ -1,189 +0,0 @@
-# Copyright 2022-2023 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 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=a0013b78db6271b5be3fa55ae0b30222d2fbf7c9 # match tag on bumps
-	HASH_DXIL=babf511d4cc7466b970dec82db35b5cacf6acfec
-	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
-	HASH_SPIRV_DXIL=87d5b782bec60822aa878941e6b13c0a9a954c9b
-	HASH_VULKAN=b7a86d3b2bf8fbe73fcd40df9ec62a5966e9db89
-	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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
-			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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}] )"
-
-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
-
-		# dxil and vkd3d's spirv headers currently mismatch and incompatible
-		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
-		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
-			subprojects/dxil-spirv/third_party/spirv-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}
-
-	# -mavx with mingw-gcc has a history of obscure issues and
-	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
-	# crashes with -march=skylake >=wine-8.10, similar issues with
-	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-	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
-			if has_version '<dev-util/mingw64-toolchain-11' ||
-				{ use crossdev-mingw &&
-					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
-			then
-				filter-flags '-fstack-protector*' #870136
-			fi
-		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
-
-	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
-
-	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
-		ver_test ${REPLACING_VERSIONS##* } -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
-}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-08-10 10:53 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-08-10 10:53 UTC (permalink / raw
  To: gentoo-commits

commit:     e27bf6d83fbe20575dc0aad769ccda823a1465c6
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 10 10:34:37 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Aug 10 10:35:03 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e27bf6d8

app-emulation/vkd3d-proton: allow abi_x86_32 on no-multilib profiles

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

 app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild  | 1 +
 app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild  | 1 +
 app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild  | 1 +
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 1 +
 4 files changed, 4 insertions(+)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
index 3c960bc15b97..b2963d7ca105 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
@@ -6,6 +6,7 @@ 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
 

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
index cd727dfb9b35..d9c77a55fbc2 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=8
 
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 inherit flag-o-matic meson-multilib toolchain-funcs
 

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
index e51d2c12d6be..025dbe03397b 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=8
 
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 inherit flag-o-matic meson-multilib toolchain-funcs
 

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 3aa61a026157..5c521dc6e224 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=8
 
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 inherit flag-o-matic meson-multilib toolchain-funcs
 


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-06-26 10:12 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-06-26 10:12 UTC (permalink / raw
  To: gentoo-commits

commit:     75a47c9ad60d5c50cd247a8c6771597f9d1d75a9
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 26 09:54:50 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jun 26 10:10:10 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75a47c9a

app-emulation/vkd3d-proton: import -mno-avx from dxvk's ebuild

Not known to have caused issues with vkd3d-proton in particular
(so skipping revbump), but believed to be too unsafe at the moment
and should use it at least for future rebuilds/bumps.

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

 app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild  | 6 ++++++
 app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild  | 6 ++++++
 app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild  | 6 ++++++
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 6 ++++++
 4 files changed, 24 insertions(+)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
index 2e3e5c86e2ce..3c960bc15b97 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
@@ -100,6 +100,12 @@ src_prepare() {
 src_configure() {
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
+	# -mavx with mingw-gcc has a history of obscure issues and
+	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+	# crashes with -march=skylake >=wine-8.10, similar issues with
+	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+	append-flags -mno-avx
+
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
index 9acb9d5109a0..cd727dfb9b35 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
@@ -105,6 +105,12 @@ src_prepare() {
 src_configure() {
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
+	# -mavx with mingw-gcc has a history of obscure issues and
+	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+	# crashes with -march=skylake >=wine-8.10, similar issues with
+	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+	append-flags -mno-avx
+
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
index 48d90c5020cc..e51d2c12d6be 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
@@ -105,6 +105,12 @@ src_prepare() {
 src_configure() {
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
+	# -mavx with mingw-gcc has a history of obscure issues and
+	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+	# crashes with -march=skylake >=wine-8.10, similar issues with
+	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+	append-flags -mno-avx
+
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 3b7c91df0a13..3aa61a026157 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -105,6 +105,12 @@ src_prepare() {
 src_configure() {
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
+	# -mavx with mingw-gcc has a history of obscure issues and
+	# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+	# crashes with -march=skylake >=wine-8.10, similar issues with
+	# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+	append-flags -mno-avx
+
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-06-08 12:24 Arthur Zamarin
  0 siblings, 0 replies; 55+ messages in thread
From: Arthur Zamarin @ 2023-06-08 12:24 UTC (permalink / raw
  To: gentoo-commits

commit:     2ddeb6fce14f0374974d5a79585ed77560b04545
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Thu Jun  8 12:24:11 2023 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Thu Jun  8 12:24:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ddeb6fc

app-emulation/vkd3d-proton: Stabilize 2.9 amd64, #908051

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
index 1c4f01ff4eb9..48d90c5020cc 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
@@ -33,7 +33,7 @@ else
 			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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"
+	KEYWORDS="-* amd64 x86"
 fi
 
 DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-06-08 12:23 Arthur Zamarin
  0 siblings, 0 replies; 55+ messages in thread
From: Arthur Zamarin @ 2023-06-08 12:23 UTC (permalink / raw
  To: gentoo-commits

commit:     71ea52b8a79a0d4a033514b7a3a1512a758aab5a
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Thu Jun  8 12:22:49 2023 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Thu Jun  8 12:22:49 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=71ea52b8

app-emulation/vkd3d-proton: Stabilize 2.9 x86, #908051

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
index acd48d75d28c..1c4f01ff4eb9 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
@@ -33,7 +33,7 @@ else
 			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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"
+	KEYWORDS="-* ~amd64 x86"
 fi
 
 DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-06-02  6:54 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-06-02  6:54 UTC (permalink / raw
  To: gentoo-commits

commit:     a20c66aeb8aad0ef76552b5ba33c0a5090657466
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  2 04:46:39 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Jun  2 06:53:33 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a20c66ae

app-emulation/vkd3d-proton: USE=-debug -> global USE=strip in live

Will update the old ebuilds eventually but given this triggers
a rebuild with --changed-use (default enabled), will wait till
a bump and maybe stable to give a chance for people to update.

Note that USE=debug is still used to enable tracing here, part
of why these should ideally be separate flags.

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

 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index acd48d75d28c..3b7c91df0a13 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -41,7 +41,7 @@ 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"
+IUSE="+abi_x86_32 crossdev-mingw debug extras +strip"
 
 BDEPEND="
 	dev-util/glslang
@@ -149,7 +149,7 @@ multilib_src_configure() {
 		--{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
+		$(usev strip --strip) # portage won't strip .dll, so allow it here
 		-Denable_tests=false # needs wine/vulkan and is intended for manual use
 	)
 


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-05-20  2:01 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-05-20  2:01 UTC (permalink / raw
  To: gentoo-commits

commit:     f93a6b88dfb05e5c3f1e2535d54fe608dcdb0e8c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat May 20 01:58:53 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat May 20 02:00:59 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f93a6b88

app-emulation/vkd3d-proton: mention dxgi.dll in the dxvk note

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

 app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild  | 8 ++++----
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
index b2b75de7c484..acd48d75d28c 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
@@ -169,8 +169,8 @@ pkg_postinst() {
 		elog
 		elog "	WINEPREFIX=/path/to/prefix setup_vkd3d_proton.sh install --symlink"
 		elog
-		elog "You should also ensure >=app-emulation/dxvk-2.1 is available on that"
-		elog "prefix, not meant to function independently even if only using d3d12."
+		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."
 	elif [[ ${REPLACING_VERSIONS##* } ]]; then
@@ -185,8 +185,8 @@ pkg_postinst() {
 			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 is not"
-			elog "available on that prefix (even if only using d3d12)."
+			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
 	fi
 }

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index b2b75de7c484..acd48d75d28c 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -169,8 +169,8 @@ pkg_postinst() {
 		elog
 		elog "	WINEPREFIX=/path/to/prefix setup_vkd3d_proton.sh install --symlink"
 		elog
-		elog "You should also ensure >=app-emulation/dxvk-2.1 is available on that"
-		elog "prefix, not meant to function independently even if only using d3d12."
+		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."
 	elif [[ ${REPLACING_VERSIONS##* } ]]; then
@@ -185,8 +185,8 @@ pkg_postinst() {
 			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 is not"
-			elog "available on that prefix (even if only using d3d12)."
+			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
 	fi
 }


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-05-20  1:52 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-05-20  1:52 UTC (permalink / raw
  To: gentoo-commits

commit:     ba60101ff0a143f0e3162933e74a5fbaadeaaea1
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat May 20 01:45:14 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat May 20 01:51:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba60101f

app-emulation/vkd3d-proton: drop 2.8_p20230510

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

 app-emulation/vkd3d-proton/Manifest                |   2 -
 .../vkd3d-proton/vkd3d-proton-2.8_p20230510.ebuild | 189 ---------------------
 2 files changed, 191 deletions(-)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index 90643bb79a09..9dffeb452562 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,8 +1,6 @@
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
 DIST vkd3d-proton-2.8.tar.gz 1435183 BLAKE2B 8b265e6dac1dd0ed6377ea6bc0ecffa7eccb8360f890bf2c996395b9db90e132ede9bddf6e889a9302466cccdcd2000f1e7ad9ece740b797c44f081b7ca1bb98 SHA512 d708fe62d64487b4430862b93913ba45f2889268c5efb9b1dc69fd48a665fcffc06a7bb91afc13b06a35fd82005a3115dc85f1de74d65f6958fd6f0c02a54007
-DIST vkd3d-proton-2.8_p20230510.tar.gz 1530900 BLAKE2B ae9ac7d46da117a09cf6e44411474e5de3dca2d7529f1c99ace55cd7566d41706b69ae5c0143d8f5b8b6b36a635cad03009f0c5fc4bed68a492a87dbb3eb7657 SHA512 0f11d1fdc8e87417e8a7adad6da6ce6c46dada2b333b3ff8c0b2289fb6eae4b0f8cf233f610e49d3a71106f5b77a51771ad2089fa2d9863744ddc03f1b07a42f
 DIST vkd3d-proton-2.9.tar.gz 1534562 BLAKE2B c2fd0d7ede7eae9192c32d2756abb7601324a220391a85e6fad2b8c2786d2bf4870cefb5f1bdec5fe7197d941fd25296a283fad49ab7c95bad37a457118f9d47 SHA512 65cab81045d151a2ee8ff755d02138daf6581c491d273773d61847efa2520d4c456de0c564eb4fe4dfbdd1f7b5b2a0177766497815d04f03845dadd0857fb483
-DIST vkd3d-proton-dxil-spirv-830106bc23.tar.gz 726639 BLAKE2B b3e4ce85f1b2ccde52f88a73ed26efff612348c14552a00cb9524ebfe538eb9b5adb04bf1fd82bb9610fe55235a48373a1ac6393fec1a8f2b3aecc1276a556dd SHA512 e2767a20bdeff4e04f137ba67b10d415e81a71e2e5de815ca08e0fb219b52df996a22bc3362dcae9f4a4c2272eaa5b2b63503502132e45510df904b895df63f7
 DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
 DIST vkd3d-proton-dxil-spirv-babf511d4c.tar.gz 695011 BLAKE2B 49e13065037edec80815b19907664d9681bc191303032db2e1678fbff5e144846c2ee267fdf5c1d4c31a1a30f2c14275f8e276a771253fabb8bbea8936be4eb4 SHA512 b310e4e856b4571ce13cce8539bd1640c7578b132558c009fcc04c24b4b10a86b620542891442dd81feaa8f6ad63d2d05021ca228d1c5f46eebe384fdb30f77e
 DIST vkd3d-proton-dxil-spirv-f20a0fb4e9.tar.gz 727867 BLAKE2B cad4db07fc8d92d2d33ff534483b809abe0a85b98184ceae850331b1287b5c4fa86a233a68faa55e6a05fbb05741ea0d9a20250d27312a2e83175b0c5dd76dad SHA512 76d181d7326902d5eceb21d0d971cac7fccf9541b367a00ad72c2e7645262aff3d5cc707994f6ed1c75b9dc8ace240d3c4861f9f08fa622851c6be0a4b144f93

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230510.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230510.ebuild
deleted file mode 100644
index 6ea8230b8f3d..000000000000
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230510.ebuild
+++ /dev/null
@@ -1,189 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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
-	# snapshot used for d3d11on12 for use with >=dxvk-2.2, scarcely tested
-	HASH_VKD3D=f125062ee1278ac8508ab5561e289ec4ce0f406e
-	HASH_DXIL=830106bc2393ba7e7af67863e1c7cfa856432ec5
-	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
-	HASH_SPIRV_DXIL=aa331ab0ffcb3a67021caa1a0c1c9017712f2f31
-	HASH_VULKAN=bd6443d28f2ebecedfb839b52d612011ba623d14
-	SRC_URI="
-		https://github.com/HansKristian-Work/vkd3d-proton/archive/${HASH_VKD3D}.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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
-			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::10}.tar.gz
-		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
-			-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
-	S="${WORKDIR}/${PN}-${HASH_VKD3D}"
-	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}] )"
-
-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
-
-		# dxil and vkd3d's spirv headers currently mismatch and incompatible
-		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
-		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
-			subprojects/dxil-spirv/third_party/spirv-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}
-
-	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
-			if has_version '<dev-util/mingw64-toolchain-11' ||
-				{ use crossdev-mingw &&
-					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
-			then
-				filter-flags '-fstack-protector*' #870136
-			fi
-		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
-
-	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."
-	elif [[ ${REPLACING_VERSIONS##* } ]]; then
-		if ver_test ${REPLACING_VERSIONS##* } -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_test ${REPLACING_VERSIONS##* } -lt 2.8_p20230510; then
-			elog
-			elog ">=${PN}-2.8_p20230510 has a new file to install (d3d12core.dll), old"
-			elog "Wine prefixes that relied on '--symlink' may need updates by using the"
-			elog "setup_vkd3d_proton.sh script again."
-		fi
-	fi
-}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-05-20  1:52 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-05-20  1:52 UTC (permalink / raw
  To: gentoo-commits

commit:     a1c51c44fd079edf86adba921ed20beeb7e58498
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat May 20 01:45:25 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat May 20 01:51:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1c51c44

app-emulation/vkd3d-proton: sync live

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

 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index efcc0a32656a..b2b75de7c484 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -17,8 +17,8 @@ if [[ ${PV} == 9999 ]]; then
 		subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
 	)
 else
-	HASH_VKD3D=f125062ee1278ac8508ab5561e289ec4ce0f406e # match tag on bumps
-	HASH_DXIL=830106bc2393ba7e7af67863e1c7cfa856432ec5
+	HASH_VKD3D=6365efeba253807beecaed0eaa963295522c6b70 # match tag on bumps
+	HASH_DXIL=f20a0fb4e984a83743baa9d863eb7b26228bcca3
 	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
 	HASH_SPIRV_DXIL=aa331ab0ffcb3a67021caa1a0c1c9017712f2f31
 	HASH_VULKAN=bd6443d28f2ebecedfb839b52d612011ba623d14
@@ -169,6 +169,9 @@ pkg_postinst() {
 		elog
 		elog "	WINEPREFIX=/path/to/prefix setup_vkd3d_proton.sh install --symlink"
 		elog
+		elog "You should also ensure >=app-emulation/dxvk-2.1 is available on that"
+		elog "prefix, not meant to function independently even if only using d3d12."
+		elog
 		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
 	elif [[ ${REPLACING_VERSIONS##* } ]]; then
 		if ver_test ${REPLACING_VERSIONS##* } -lt 2.7; then
@@ -177,11 +180,13 @@ pkg_postinst() {
 			elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
 		fi
 
-		if ver_test ${REPLACING_VERSIONS##* } -lt 2.8_p20230510; then
+		if ver_test ${REPLACING_VERSIONS##* } -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 ">=${PN}-2.8_p20230510 has a new file to install (d3d12core.dll), old"
-			elog "Wine prefixes that relied on '--symlink' may need updates by using the"
-			elog "setup_vkd3d_proton.sh script again."
+			elog "Furthermore, it may not function properly if >=app-emulation/dxvk-2.1 is not"
+			elog "available on that prefix (even if only using d3d12)."
 		fi
 	fi
 }


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-05-20  1:52 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-05-20  1:52 UTC (permalink / raw
  To: gentoo-commits

commit:     4d57ef24abd7ebc4abd04cc493ccc3d3f4218c8a
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat May 20 01:45:04 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat May 20 01:51:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d57ef24

app-emulation/vkd3d-proton: add 2.9

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

 app-emulation/vkd3d-proton/Manifest                |   2 +
 app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild | 192 +++++++++++++++++++++
 2 files changed, 194 insertions(+)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index 8e7363690ebe..90643bb79a09 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,9 +1,11 @@
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
 DIST vkd3d-proton-2.8.tar.gz 1435183 BLAKE2B 8b265e6dac1dd0ed6377ea6bc0ecffa7eccb8360f890bf2c996395b9db90e132ede9bddf6e889a9302466cccdcd2000f1e7ad9ece740b797c44f081b7ca1bb98 SHA512 d708fe62d64487b4430862b93913ba45f2889268c5efb9b1dc69fd48a665fcffc06a7bb91afc13b06a35fd82005a3115dc85f1de74d65f6958fd6f0c02a54007
 DIST vkd3d-proton-2.8_p20230510.tar.gz 1530900 BLAKE2B ae9ac7d46da117a09cf6e44411474e5de3dca2d7529f1c99ace55cd7566d41706b69ae5c0143d8f5b8b6b36a635cad03009f0c5fc4bed68a492a87dbb3eb7657 SHA512 0f11d1fdc8e87417e8a7adad6da6ce6c46dada2b333b3ff8c0b2289fb6eae4b0f8cf233f610e49d3a71106f5b77a51771ad2089fa2d9863744ddc03f1b07a42f
+DIST vkd3d-proton-2.9.tar.gz 1534562 BLAKE2B c2fd0d7ede7eae9192c32d2756abb7601324a220391a85e6fad2b8c2786d2bf4870cefb5f1bdec5fe7197d941fd25296a283fad49ab7c95bad37a457118f9d47 SHA512 65cab81045d151a2ee8ff755d02138daf6581c491d273773d61847efa2520d4c456de0c564eb4fe4dfbdd1f7b5b2a0177766497815d04f03845dadd0857fb483
 DIST vkd3d-proton-dxil-spirv-830106bc23.tar.gz 726639 BLAKE2B b3e4ce85f1b2ccde52f88a73ed26efff612348c14552a00cb9524ebfe538eb9b5adb04bf1fd82bb9610fe55235a48373a1ac6393fec1a8f2b3aecc1276a556dd SHA512 e2767a20bdeff4e04f137ba67b10d415e81a71e2e5de815ca08e0fb219b52df996a22bc3362dcae9f4a4c2272eaa5b2b63503502132e45510df904b895df63f7
 DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
 DIST vkd3d-proton-dxil-spirv-babf511d4c.tar.gz 695011 BLAKE2B 49e13065037edec80815b19907664d9681bc191303032db2e1678fbff5e144846c2ee267fdf5c1d4c31a1a30f2c14275f8e276a771253fabb8bbea8936be4eb4 SHA512 b310e4e856b4571ce13cce8539bd1640c7578b132558c009fcc04c24b4b10a86b620542891442dd81feaa8f6ad63d2d05021ca228d1c5f46eebe384fdb30f77e
+DIST vkd3d-proton-dxil-spirv-f20a0fb4e9.tar.gz 727867 BLAKE2B cad4db07fc8d92d2d33ff534483b809abe0a85b98184ceae850331b1287b5c4fa86a233a68faa55e6a05fbb05741ea0d9a20250d27312a2e83175b0c5dd76dad SHA512 76d181d7326902d5eceb21d0d971cac7fccf9541b367a00ad72c2e7645262aff3d5cc707994f6ed1c75b9dc8ace240d3c4861f9f08fa622851c6be0a4b144f93
 DIST vkd3d-proton-spirv-headers-1d31a10040.tar.gz 445679 BLAKE2B 3dac88269df92428fd93ca187eb417ec0156ff0b24200daf85526aaa92c30ba8743102764e20c47d783ed0704fa690c1bf60944ef81bbdd296890dde5fb9fcaa SHA512 2536619cd7854954892dbb5ab5cd97e4e95fe3f5c121c4b2022426ae734fc20c1ebadbae1da7689f5ca18397075c54e4f16ad525b8ee873c4b0ffdc07aaacc03
 DIST vkd3d-proton-spirv-headers-87d5b782be.tar.gz 439180 BLAKE2B 9c64a1b7aa408172bb57b38ca0e3d31221c7dfecfcd9afc77449c14e76f60f7436f1a54a794bf4959f4575f177e1024621c6ff696f7fb19b545877e0a527031c SHA512 d6ce02e53c259e508d1d72d81cc6aa6b3019e7ecd6a8878d81d8681d9734756f66c762ebd4b8b1d0f9fbb7a8f1f18d72aeb27c56822d810aca5a3e53c51c1ef6
 DIST vkd3d-proton-spirv-headers-aa331ab0ff.tar.gz 448200 BLAKE2B 435e3ce169f44a00181a664a6cb2f3e45e22b3d4ec033d27fb2b54564b4fcc4274ac170f373daddf9ba0bd421b3d50fc87442c15345dae24ec131f4257b33f30 SHA512 1cd6043974daa4cd71138be629544d10944064af8e5b1a5a64e746922edd0d583050ec3b036ef304dd67a689c65541b5cb375d80f26ab3c9314653169cc5aac8

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
new file mode 100644
index 000000000000..b2b75de7c484
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild
@@ -0,0 +1,192 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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=6365efeba253807beecaed0eaa963295522c6b70 # match tag on bumps
+	HASH_DXIL=f20a0fb4e984a83743baa9d863eb7b26228bcca3
+	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
+	HASH_SPIRV_DXIL=aa331ab0ffcb3a67021caa1a0c1c9017712f2f31
+	HASH_VULKAN=bd6443d28f2ebecedfb839b52d612011ba623d14
+	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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
+			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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}] )"
+
+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
+
+		# dxil and vkd3d's spirv headers currently mismatch and incompatible
+		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
+		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
+			subprojects/dxil-spirv/third_party/spirv-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}
+
+	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
+			if has_version '<dev-util/mingw64-toolchain-11' ||
+				{ use crossdev-mingw &&
+					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
+			then
+				filter-flags '-fstack-protector*' #870136
+			fi
+		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
+
+	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 "You should also ensure >=app-emulation/dxvk-2.1 is available on that"
+		elog "prefix, not meant to function independently even if only using d3d12."
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+	elif [[ ${REPLACING_VERSIONS##* } ]]; then
+		if ver_test ${REPLACING_VERSIONS##* } -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_test ${REPLACING_VERSIONS##* } -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 is not"
+			elog "available on that prefix (even if only using d3d12)."
+		fi
+	fi
+}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-05-12 11:59 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-05-12 11:59 UTC (permalink / raw
  To: gentoo-commits

commit:     ec8bab870a55a38329d9d635cef8dad1b27f257b
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri May 12 11:48:50 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri May 12 11:58:10 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec8bab87

app-emulation/vkd3d-proton: sync live

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

 .../vkd3d-proton/vkd3d-proton-9999.ebuild          | 29 +++++++++++++---------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index cb9a067747c6..efcc0a32656a 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -17,11 +17,11 @@ if [[ ${PV} == 9999 ]]; then
 		subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
 	)
 else
-	HASH_VKD3D=4df366172e025c23621c8df5a794de90de165d97 # match tag on bumps
-	HASH_DXIL=2166bc7ea0ceb2d7ff6d787d9b007f7eb7d4aaa8
-	HASH_SPIRV=ae217c17809fadb232ec94b29304b4afcd417bb4
-	HASH_SPIRV_DXIL=87d5b782bec60822aa878941e6b13c0a9a954c9b
-	HASH_VULKAN=5177b119bbdf463b7b909855a83230253c2d8b68
+	HASH_VKD3D=f125062ee1278ac8508ab5561e289ec4ce0f406e # match tag on bumps
+	HASH_DXIL=830106bc2393ba7e7af67863e1c7cfa856432ec5
+	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
+	HASH_SPIRV_DXIL=aa331ab0ffcb3a67021caa1a0c1c9017712f2f31
+	HASH_VULKAN=bd6443d28f2ebecedfb839b52d612011ba623d14
 	SRC_URI="
 		https://github.com/HansKristian-Work/vkd3d-proton/archive/refs/tags/v${PV}.tar.gz
 			-> ${P}.tar.gz
@@ -170,13 +170,18 @@ pkg_postinst() {
 		elog "	WINEPREFIX=/path/to/prefix setup_vkd3d_proton.sh install --symlink"
 		elog
 		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
-	fi
+	elif [[ ${REPLACING_VERSIONS##* } ]]; then
+		if ver_test ${REPLACING_VERSIONS##* } -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 [[ ! ${REPLACING_VERSIONS##* } ]] ||
-		ver_test ${REPLACING_VERSIONS##* } -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)"
+		if ver_test ${REPLACING_VERSIONS##* } -lt 2.8_p20230510; then
+			elog
+			elog ">=${PN}-2.8_p20230510 has a new file to install (d3d12core.dll), old"
+			elog "Wine prefixes that relied on '--symlink' may need updates by using the"
+			elog "setup_vkd3d_proton.sh script again."
+		fi
 	fi
 }


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-05-12 11:59 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-05-12 11:59 UTC (permalink / raw
  To: gentoo-commits

commit:     e4456bd60656bd8d6ef1686b6de7cf9ae69c3f15
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri May 12 11:12:00 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri May 12 11:58:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4456bd6

app-emulation/vkd3d-proton: add 2.8_p20230510

Trying a new snapshot, hopefully it works better than the last.
Done because a newer one is needed for d3d11on12 when using >=dxvk-2.2.

Note that this adds a new dx12core.dll and requires re-running the
setup script on old prefixes that were relying on symlinks to install
it (there is a postinst note about it as well).

Power users of dx12 are welcome to suggest better snapshots until
get an actual release (can experiment with -9999), mostly only doing
basic tests here. Not to say 2.8 or original vkd3d may not be the only
one that works with some games.

Bug: https://bugs.gentoo.org/904660
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/vkd3d-proton/Manifest                |   4 +
 .../vkd3d-proton/vkd3d-proton-2.8_p20230510.ebuild | 189 +++++++++++++++++++++
 2 files changed, 193 insertions(+)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index ff20d740ee09..071fbda3ebc6 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,12 +1,16 @@
 DIST vkd3d-proton-08909d9856.tar.gz 1424776 BLAKE2B cb29a927b28980283c96d9a1ac99ef98570b72edbec147314b2884e2d8c78c23b8b7cdab4530b9098e55a25801a9fad3e5a8ae48695b994c226d05fd380c905b SHA512 ca79dfccf638f65546f8654bbb3819b6b72e8a6fd2cf9c5d697444b91244e96d55d059c971afc6b0709c762575a27024862a482dc0159a58804f7d4072746660
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
 DIST vkd3d-proton-2.8.tar.gz 1435183 BLAKE2B 8b265e6dac1dd0ed6377ea6bc0ecffa7eccb8360f890bf2c996395b9db90e132ede9bddf6e889a9302466cccdcd2000f1e7ad9ece740b797c44f081b7ca1bb98 SHA512 d708fe62d64487b4430862b93913ba45f2889268c5efb9b1dc69fd48a665fcffc06a7bb91afc13b06a35fd82005a3115dc85f1de74d65f6958fd6f0c02a54007
+DIST vkd3d-proton-2.8_p20230510.tar.gz 1530900 BLAKE2B ae9ac7d46da117a09cf6e44411474e5de3dca2d7529f1c99ace55cd7566d41706b69ae5c0143d8f5b8b6b36a635cad03009f0c5fc4bed68a492a87dbb3eb7657 SHA512 0f11d1fdc8e87417e8a7adad6da6ce6c46dada2b333b3ff8c0b2289fb6eae4b0f8cf233f610e49d3a71106f5b77a51771ad2089fa2d9863744ddc03f1b07a42f
+DIST vkd3d-proton-dxil-spirv-830106bc23.tar.gz 726639 BLAKE2B b3e4ce85f1b2ccde52f88a73ed26efff612348c14552a00cb9524ebfe538eb9b5adb04bf1fd82bb9610fe55235a48373a1ac6393fec1a8f2b3aecc1276a556dd SHA512 e2767a20bdeff4e04f137ba67b10d415e81a71e2e5de815ca08e0fb219b52df996a22bc3362dcae9f4a4c2272eaa5b2b63503502132e45510df904b895df63f7
 DIST vkd3d-proton-dxil-spirv-9e2c26d15c.tar.gz 698285 BLAKE2B 034627322183771c67ac7f927f3883bb186ee1f17657e825f542331dcc4d907d65c764dd6e01603ac77d1205c92500be016a6f0df1e742b6e71f9a189d8287da SHA512 42e385f33b97444bf02a6f662094c256b5f92d5fd444fd3545a52b55aa30e23db2d794a62543de97baaf59cc4b6a1e8429d10b88c01c4bd0d71f5e086319b2d1
 DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
 DIST vkd3d-proton-dxil-spirv-babf511d4c.tar.gz 695011 BLAKE2B 49e13065037edec80815b19907664d9681bc191303032db2e1678fbff5e144846c2ee267fdf5c1d4c31a1a30f2c14275f8e276a771253fabb8bbea8936be4eb4 SHA512 b310e4e856b4571ce13cce8539bd1640c7578b132558c009fcc04c24b4b10a86b620542891442dd81feaa8f6ad63d2d05021ca228d1c5f46eebe384fdb30f77e
 DIST vkd3d-proton-spirv-headers-1d31a10040.tar.gz 445679 BLAKE2B 3dac88269df92428fd93ca187eb417ec0156ff0b24200daf85526aaa92c30ba8743102764e20c47d783ed0704fa690c1bf60944ef81bbdd296890dde5fb9fcaa SHA512 2536619cd7854954892dbb5ab5cd97e4e95fe3f5c121c4b2022426ae734fc20c1ebadbae1da7689f5ca18397075c54e4f16ad525b8ee873c4b0ffdc07aaacc03
 DIST vkd3d-proton-spirv-headers-87d5b782be.tar.gz 439180 BLAKE2B 9c64a1b7aa408172bb57b38ca0e3d31221c7dfecfcd9afc77449c14e76f60f7436f1a54a794bf4959f4575f177e1024621c6ff696f7fb19b545877e0a527031c SHA512 d6ce02e53c259e508d1d72d81cc6aa6b3019e7ecd6a8878d81d8681d9734756f66c762ebd4b8b1d0f9fbb7a8f1f18d72aeb27c56822d810aca5a3e53c51c1ef6
+DIST vkd3d-proton-spirv-headers-aa331ab0ff.tar.gz 448200 BLAKE2B 435e3ce169f44a00181a664a6cb2f3e45e22b3d4ec033d27fb2b54564b4fcc4274ac170f373daddf9ba0bd421b3d50fc87442c15345dae24ec131f4257b33f30 SHA512 1cd6043974daa4cd71138be629544d10944064af8e5b1a5a64e746922edd0d583050ec3b036ef304dd67a689c65541b5cb375d80f26ab3c9314653169cc5aac8
 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 vkd3d-proton-vulkan-headers-9f93cbe76a.tar.gz 1811251 BLAKE2B 6993e6e7301925a949a8ee18d7d0dec48adc8d4c66bb759929891241b64dd8f4bf4e563e86b40020123d5eced74b3ab02b86f3488b7d782c3cd4536079a3ddec SHA512 d0a157a560b58b676bbef115097423a4ab22928cd08a1010d2f3695bbf5fe3af79653b8db6ec00fa061ff46010749dc13526488f53cac6860af2a1918d873a19
 DIST vkd3d-proton-vulkan-headers-b7a86d3b2b.tar.gz 1753074 BLAKE2B a2588e84edd09a04c3622a95310acc781432d6a962c69c1f5a709b65e2bfeb5196d9d217b0d261532c4b5c1424f13ff64d33728303c989fdbce3048741add486 SHA512 377ada7a9721c225067c6548475109cf4ad1f3d677b835fbe7a4bc7520621acd816cc59d4b75b23bc28f25891b556792cf853b98c0dfb915856774ff27eb6aba
+DIST vkd3d-proton-vulkan-headers-bd6443d28f.tar.gz 1827419 BLAKE2B 911ef9d8039c052742a26784f800826af3f3da0d24026198540eceebb798990089eddefb518bf92ae50b039fa04477dc3256367593ed77852d90a332f9c4d0d5 SHA512 20e722bc5918af6c5ebeb6599d0f7f09821a3045d014f1c178ba8e038bdb4ace11a6ae261c75b38a0098cffff9bbfe4a518a541699575fbf642f13a73ca0faca

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230510.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230510.ebuild
new file mode 100644
index 000000000000..6ea8230b8f3d
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230510.ebuild
@@ -0,0 +1,189 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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
+	# snapshot used for d3d11on12 for use with >=dxvk-2.2, scarcely tested
+	HASH_VKD3D=f125062ee1278ac8508ab5561e289ec4ce0f406e
+	HASH_DXIL=830106bc2393ba7e7af67863e1c7cfa856432ec5
+	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
+	HASH_SPIRV_DXIL=aa331ab0ffcb3a67021caa1a0c1c9017712f2f31
+	HASH_VULKAN=bd6443d28f2ebecedfb839b52d612011ba623d14
+	SRC_URI="
+		https://github.com/HansKristian-Work/vkd3d-proton/archive/${HASH_VKD3D}.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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
+			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::10}.tar.gz
+		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+			-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
+	S="${WORKDIR}/${PN}-${HASH_VKD3D}"
+	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}] )"
+
+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
+
+		# dxil and vkd3d's spirv headers currently mismatch and incompatible
+		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
+		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
+			subprojects/dxil-spirv/third_party/spirv-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}
+
+	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
+			if has_version '<dev-util/mingw64-toolchain-11' ||
+				{ use crossdev-mingw &&
+					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
+			then
+				filter-flags '-fstack-protector*' #870136
+			fi
+		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
+
+	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."
+	elif [[ ${REPLACING_VERSIONS##* } ]]; then
+		if ver_test ${REPLACING_VERSIONS##* } -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_test ${REPLACING_VERSIONS##* } -lt 2.8_p20230510; then
+			elog
+			elog ">=${PN}-2.8_p20230510 has a new file to install (d3d12core.dll), old"
+			elog "Wine prefixes that relied on '--symlink' may need updates by using the"
+			elog "setup_vkd3d_proton.sh script again."
+		fi
+	fi
+}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-04-29  9:43 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-04-29  9:43 UTC (permalink / raw
  To: gentoo-commits

commit:     527d13170d519590c4fa3fd320d0c6a3bd5d88fc
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 29 09:14:28 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Apr 29 09:42:39 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=527d1317

app-emulation/vkd3d-proton: update flags filters

* -fstack-clash-protection (bug #758914): ICE was fixed, if still
  run into this then updating gcc to a newer _p* snapshot should
  sort it (alternatively, use released >=gcc-13.1.0)
* -fstack-protector* (bug #870136): mingw64-runtime-11.0.0 adds
  its own (partial) ssp support, allowing -D_FORTIFY_SOURCE=3 and
  -fstack-protector-strong without libssp. Using these to build
  Wine currently still leads to failure, but we can allow it here.

Bug: https://bugs.gentoo.org/758914
Bug: https://bugs.gentoo.org/870136
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild           | 10 +++++++---
 app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild           | 10 +++++++---
 app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230207.ebuild |  8 ++++++--
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild          | 10 +++++++---
 4 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
index 8ff79bbbd1ba..2e3e5c86e2ce 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -103,10 +103,14 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL
-			filter-flags '-fstack-clash-protection' #758914
-			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
 			filter-flags '-mfunction-return=thunk*' #878849
+			if has_version '<dev-util/mingw64-toolchain-11' ||
+				{ use crossdev-mingw &&
+					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
+			then
+				filter-flags '-fstack-protector*' #870136
+			fi
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
index 633364ef6384..9acb9d5109a0 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -108,10 +108,14 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL
-			filter-flags '-fstack-clash-protection' #758914
-			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
 			filter-flags '-mfunction-return=thunk*' #878849
+			if has_version '<dev-util/mingw64-toolchain-11' ||
+				{ use crossdev-mingw &&
+					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
+			then
+				filter-flags '-fstack-protector*' #870136
+			fi
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230207.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230207.ebuild
index 58f1162cda67..0365c48985cf 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230207.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230207.ebuild
@@ -109,10 +109,14 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL
-			filter-flags '-fstack-clash-protection' #758914
-			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
 			filter-flags '-mfunction-return=thunk*' #878849
+			if has_version '<dev-util/mingw64-toolchain-11' ||
+				{ use crossdev-mingw &&
+					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
+			then
+				filter-flags '-fstack-protector*' #870136
+			fi
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 55490ce310fc..cb9a067747c6 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -108,10 +108,14 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL
-			filter-flags '-fstack-clash-protection' #758914
-			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
 			filter-flags '-mfunction-return=thunk*' #878849
+			if has_version '<dev-util/mingw64-toolchain-11' ||
+				{ use crossdev-mingw &&
+					has_version "<cross-$(usex x86 i686 x86_64)-w64-mingw32/mingw64-runtime-11"; }
+			then
+				filter-flags '-fstack-protector*' #870136
+			fi
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2023-04-17 20:44 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2023-04-17 20:44 UTC (permalink / raw
  To: gentoo-commits

commit:     14140d6acf9c34b95f8e409b55a98084524283c7
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 17 19:33:22 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Apr 17 20:41:07 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14140d6a

app-emulation/vkd3d-proton: add 2.8_p20230207

This matches the version used by Proton-8.0.1c, providing
to match expectations of advertised proton bug fixes and
will only be kept until there's a new vkd3d-proton release.

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

 app-emulation/vkd3d-proton/Manifest                |   3 +
 .../vkd3d-proton/vkd3d-proton-2.8_p20230207.ebuild | 179 +++++++++++++++++++++
 2 files changed, 182 insertions(+)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index 27dd5d641096..ff20d740ee09 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,9 +1,12 @@
+DIST vkd3d-proton-08909d9856.tar.gz 1424776 BLAKE2B cb29a927b28980283c96d9a1ac99ef98570b72edbec147314b2884e2d8c78c23b8b7cdab4530b9098e55a25801a9fad3e5a8ae48695b994c226d05fd380c905b SHA512 ca79dfccf638f65546f8654bbb3819b6b72e8a6fd2cf9c5d697444b91244e96d55d059c971afc6b0709c762575a27024862a482dc0159a58804f7d4072746660
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
 DIST vkd3d-proton-2.8.tar.gz 1435183 BLAKE2B 8b265e6dac1dd0ed6377ea6bc0ecffa7eccb8360f890bf2c996395b9db90e132ede9bddf6e889a9302466cccdcd2000f1e7ad9ece740b797c44f081b7ca1bb98 SHA512 d708fe62d64487b4430862b93913ba45f2889268c5efb9b1dc69fd48a665fcffc06a7bb91afc13b06a35fd82005a3115dc85f1de74d65f6958fd6f0c02a54007
+DIST vkd3d-proton-dxil-spirv-9e2c26d15c.tar.gz 698285 BLAKE2B 034627322183771c67ac7f927f3883bb186ee1f17657e825f542331dcc4d907d65c764dd6e01603ac77d1205c92500be016a6f0df1e742b6e71f9a189d8287da SHA512 42e385f33b97444bf02a6f662094c256b5f92d5fd444fd3545a52b55aa30e23db2d794a62543de97baaf59cc4b6a1e8429d10b88c01c4bd0d71f5e086319b2d1
 DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
 DIST vkd3d-proton-dxil-spirv-babf511d4c.tar.gz 695011 BLAKE2B 49e13065037edec80815b19907664d9681bc191303032db2e1678fbff5e144846c2ee267fdf5c1d4c31a1a30f2c14275f8e276a771253fabb8bbea8936be4eb4 SHA512 b310e4e856b4571ce13cce8539bd1640c7578b132558c009fcc04c24b4b10a86b620542891442dd81feaa8f6ad63d2d05021ca228d1c5f46eebe384fdb30f77e
 DIST vkd3d-proton-spirv-headers-1d31a10040.tar.gz 445679 BLAKE2B 3dac88269df92428fd93ca187eb417ec0156ff0b24200daf85526aaa92c30ba8743102764e20c47d783ed0704fa690c1bf60944ef81bbdd296890dde5fb9fcaa SHA512 2536619cd7854954892dbb5ab5cd97e4e95fe3f5c121c4b2022426ae734fc20c1ebadbae1da7689f5ca18397075c54e4f16ad525b8ee873c4b0ffdc07aaacc03
 DIST vkd3d-proton-spirv-headers-87d5b782be.tar.gz 439180 BLAKE2B 9c64a1b7aa408172bb57b38ca0e3d31221c7dfecfcd9afc77449c14e76f60f7436f1a54a794bf4959f4575f177e1024621c6ff696f7fb19b545877e0a527031c SHA512 d6ce02e53c259e508d1d72d81cc6aa6b3019e7ecd6a8878d81d8681d9734756f66c762ebd4b8b1d0f9fbb7a8f1f18d72aeb27c56822d810aca5a3e53c51c1ef6
 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 vkd3d-proton-vulkan-headers-9f93cbe76a.tar.gz 1811251 BLAKE2B 6993e6e7301925a949a8ee18d7d0dec48adc8d4c66bb759929891241b64dd8f4bf4e563e86b40020123d5eced74b3ab02b86f3488b7d782c3cd4536079a3ddec SHA512 d0a157a560b58b676bbef115097423a4ab22928cd08a1010d2f3695bbf5fe3af79653b8db6ec00fa061ff46010749dc13526488f53cac6860af2a1918d873a19
 DIST vkd3d-proton-vulkan-headers-b7a86d3b2b.tar.gz 1753074 BLAKE2B a2588e84edd09a04c3622a95310acc781432d6a962c69c1f5a709b65e2bfeb5196d9d217b0d261532c4b5c1424f13ff64d33728303c989fdbce3048741add486 SHA512 377ada7a9721c225067c6548475109cf4ad1f3d677b835fbe7a4bc7520621acd816cc59d4b75b23bc28f25891b556792cf853b98c0dfb915856774ff27eb6aba

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230207.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230207.ebuild
new file mode 100644
index 000000000000..58f1162cda67
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230207.ebuild
@@ -0,0 +1,179 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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=08909d98565065994612e529feb0cad04e498a8e # matches proton-8.0.1c
+	HASH_DXIL=9e2c26d15c0eeac91fb8c6dda3aff8f6a602c0b6
+	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
+	HASH_SPIRV_DXIL=87d5b782bec60822aa878941e6b13c0a9a954c9b
+	HASH_VULKAN=9f93cbe76abe9f6cb4a36df10b08fa3b78ae0027
+	SRC_URI="
+		https://github.com/HansKristian-Work/vkd3d-proton/archive/${HASH_VKD3D}.tar.gz
+			-> ${PN}-${HASH_VKD3D::10}.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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
+			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::10}.tar.gz
+		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+			-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
+	S="${WORKDIR}/${PN}-${HASH_VKD3D}"
+	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}] )"
+
+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
+
+		# dxil and vkd3d's spirv headers currently mismatch and incompatible
+		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
+		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
+			subprojects/dxil-spirv/third_party/spirv-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}
+
+	if [[ ${CHOST} != *-mingw* ]]; then
+		if [[ ! -v MINGW_BYPASS ]]; then
+			unset AR CC CXX RC STRIP WIDL
+			filter-flags '-fstack-clash-protection' #758914
+			filter-flags '-fstack-protector*' #870136
+			filter-flags '-fuse-ld=*'
+			filter-flags '-mfunction-return=thunk*' #878849
+		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
+
+	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
+
+	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+		ver_test ${REPLACING_VERSIONS##* } -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
+}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-12-29 20:29 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-12-29 20:29 UTC (permalink / raw
  To: gentoo-commits

commit:     1fab5d5b11f7635448b7ffb7072c371f1e4a9409
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 29 17:10:44 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Dec 29 20:28:55 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fab5d5b

app-emulation/vkd3d-proton: stabilize 2.8 for amd64, x86

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

 app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
index 259d69f041ab..633364ef6384 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
@@ -33,7 +33,7 @@ else
 			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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"
+	KEYWORDS="-* amd64 x86"
 fi
 
 DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-12-19  7:23 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-12-19  7:23 UTC (permalink / raw
  To: gentoo-commits

commit:     696c4711166b357d19b43e6ad4fa214070e482ef
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 19 06:16:26 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Dec 19 07:11:32 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=696c4711

app-emulation/vkd3d-proton: drop 2.7

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

 app-emulation/vkd3d-proton/Manifest                |   3 -
 app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild | 178 ---------------------
 2 files changed, 181 deletions(-)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index 36a89ce3ba3f..27dd5d641096 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,12 +1,9 @@
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
-DIST vkd3d-proton-2.7.tar.gz 1403317 BLAKE2B 4ae975537ac1f39d38155b106aed3fa5542925f0980c23ad2fa8f1f9cf168b104311d14b7ba68a539fd92ab131cc878d8822ff23b551ca6ba9b3b86ac580f927 SHA512 a8d055dc7bc1ecdd7edcb5dafe304804cd516623f6771b786778a2ef6a0e7ebc4ba6ce53897b2ee830eb6dc39da16805c638f1db56444385febedd13276aed18
 DIST vkd3d-proton-2.8.tar.gz 1435183 BLAKE2B 8b265e6dac1dd0ed6377ea6bc0ecffa7eccb8360f890bf2c996395b9db90e132ede9bddf6e889a9302466cccdcd2000f1e7ad9ece740b797c44f081b7ca1bb98 SHA512 d708fe62d64487b4430862b93913ba45f2889268c5efb9b1dc69fd48a665fcffc06a7bb91afc13b06a35fd82005a3115dc85f1de74d65f6958fd6f0c02a54007
-DIST vkd3d-proton-dxil-spirv-2166bc7ea0.tar.gz 688874 BLAKE2B 746dc8232ca0130f2b693ab7b9d3d93a4c514eacc473fa5d6fa91580e9daac48e9a51e63e93d3907f95c980e922ad3599190740dc280ef2ba1c96a4aea975416 SHA512 0a3308a10d3afc636e55c44fc4f2f3d067b5b828a6a93f3832698faf9a6ee26d53d25ad7eb0cbd6074b29395d073422434d63dd55004ce64e0aaf73334e4f5cc
 DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
 DIST vkd3d-proton-dxil-spirv-babf511d4c.tar.gz 695011 BLAKE2B 49e13065037edec80815b19907664d9681bc191303032db2e1678fbff5e144846c2ee267fdf5c1d4c31a1a30f2c14275f8e276a771253fabb8bbea8936be4eb4 SHA512 b310e4e856b4571ce13cce8539bd1640c7578b132558c009fcc04c24b4b10a86b620542891442dd81feaa8f6ad63d2d05021ca228d1c5f46eebe384fdb30f77e
 DIST vkd3d-proton-spirv-headers-1d31a10040.tar.gz 445679 BLAKE2B 3dac88269df92428fd93ca187eb417ec0156ff0b24200daf85526aaa92c30ba8743102764e20c47d783ed0704fa690c1bf60944ef81bbdd296890dde5fb9fcaa SHA512 2536619cd7854954892dbb5ab5cd97e4e95fe3f5c121c4b2022426ae734fc20c1ebadbae1da7689f5ca18397075c54e4f16ad525b8ee873c4b0ffdc07aaacc03
 DIST vkd3d-proton-spirv-headers-87d5b782be.tar.gz 439180 BLAKE2B 9c64a1b7aa408172bb57b38ca0e3d31221c7dfecfcd9afc77449c14e76f60f7436f1a54a794bf4959f4575f177e1024621c6ff696f7fb19b545877e0a527031c SHA512 d6ce02e53c259e508d1d72d81cc6aa6b3019e7ecd6a8878d81d8681d9734756f66c762ebd4b8b1d0f9fbb7a8f1f18d72aeb27c56822d810aca5a3e53c51c1ef6
 DIST vkd3d-proton-spirv-headers-ae217c1780.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b9c69757d7c2257ce2fe1bc6be308341f3189766f120994e4920bc738b737d9eefc299359dab568fb8809782e3663dd589c0e4d13aecb8873a SHA512 02cf1d63b29e48ef0efe489eb32237ba2f9f4bf58a182b00dc96aab18faba94de79283398e9e945cd81130f83fff228c59b04e496716ea9ccc148a5f4465282c
-DIST vkd3d-proton-vulkan-headers-5177b119bb.tar.gz 1588963 BLAKE2B 3e973c9fc1fd8c8f725fbe8dbd67ca451aa7ffbb202d2395f3b26bbad9cb4e9e39514c7c78825be7ca122ccd5b434adb0b3fcce25cb7fff7c831dcc5909bbdc3 SHA512 3848e5b14f73dda60f133d396742a9a2aa2fc3914b8cbd8bde90e392437398321865ade63e81ec99a83af20a42424cf2c6d06e4dda0d7323486d59fbc4504a3b
 DIST vkd3d-proton-vulkan-headers-83e1a9ed8c.tar.gz 1299014 BLAKE2B 0b1e635aaa6eebec3525b13698a064e0e5b8a78829a772cbe9e1890148059bf396bc5c830e8d6ee3070a3343775991642565283994c65acfa0d82a91590b7d84 SHA512 ecb2158cad55edb4ba069383668f3b311a2f6aa6777b5b7ed94795d454622426ee34fee52b13c97d2f07b5b2f965815ee61a0203b76a0b0d2c708a4786d06b96
 DIST vkd3d-proton-vulkan-headers-b7a86d3b2b.tar.gz 1753074 BLAKE2B a2588e84edd09a04c3622a95310acc781432d6a962c69c1f5a709b65e2bfeb5196d9d217b0d261532c4b5c1424f13ff64d33728303c989fdbce3048741add486 SHA512 377ada7a9721c225067c6548475109cf4ad1f3d677b835fbe7a4bc7520621acd816cc59d4b75b23bc28f25891b556792cf853b98c0dfb915856774ff27eb6aba

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
deleted file mode 100644
index 7e1f9bfd1240..000000000000
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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=4df366172e025c23621c8df5a794de90de165d97 # match tag on bumps
-	HASH_DXIL=2166bc7ea0ceb2d7ff6d787d9b007f7eb7d4aaa8
-	HASH_SPIRV=ae217c17809fadb232ec94b29304b4afcd417bb4
-	HASH_SPIRV_DXIL=87d5b782bec60822aa878941e6b13c0a9a954c9b
-	HASH_VULKAN=5177b119bbdf463b7b909855a83230253c2d8b68
-	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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
-			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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}] )"
-
-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
-
-		# dxil and vkd3d's spirv headers currently mismatch and incompatible
-		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
-		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
-			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}
-
-	if [[ ${CHOST} != *-mingw* ]]; then
-		if [[ ! -v MINGW_BYPASS ]]; then
-			unset AR CC CXX RC STRIP WIDL
-			filter-flags '-fstack-clash-protection' #758914
-			filter-flags '-fstack-protector*' #870136
-			filter-flags '-fuse-ld=*'
-			filter-flags '-mfunction-return=thunk*' #878849
-		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
-
-	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
-		ver_test ${REPLACING_VERSIONS##* } -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
-}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-12-15 21:32 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-12-15 21:32 UTC (permalink / raw
  To: gentoo-commits

commit:     c569bef7b7fc0cc6cc29077b4f46d3fbbb67edfe
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 15 21:25:34 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Dec 15 21:29:31 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c569bef7

app-emulation/vkd3d-proton: add ebuild comment about keeping 2.6

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

 app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
index 168166ea70aa..8ff79bbbd1ba 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
@@ -3,6 +3,9 @@
 
 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_COMPAT=( abi_x86_{32,64} )
 inherit flag-o-matic meson-multilib toolchain-funcs
 


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-12-15 21:23 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-12-15 21:23 UTC (permalink / raw
  To: gentoo-commits

commit:     0d598d1e4042bdefea18c4b602e266ea18f697c7
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 15 21:15:42 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Dec 15 21:21:05 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0d598d1e

app-emulation/vkd3d-proton: add 2.8

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

 app-emulation/vkd3d-proton/Manifest                |   4 +
 app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild | 178 +++++++++++++++++++++
 2 files changed, 182 insertions(+)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index 28b6a2f9df1c..36a89ce3ba3f 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,8 +1,12 @@
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
 DIST vkd3d-proton-2.7.tar.gz 1403317 BLAKE2B 4ae975537ac1f39d38155b106aed3fa5542925f0980c23ad2fa8f1f9cf168b104311d14b7ba68a539fd92ab131cc878d8822ff23b551ca6ba9b3b86ac580f927 SHA512 a8d055dc7bc1ecdd7edcb5dafe304804cd516623f6771b786778a2ef6a0e7ebc4ba6ce53897b2ee830eb6dc39da16805c638f1db56444385febedd13276aed18
+DIST vkd3d-proton-2.8.tar.gz 1435183 BLAKE2B 8b265e6dac1dd0ed6377ea6bc0ecffa7eccb8360f890bf2c996395b9db90e132ede9bddf6e889a9302466cccdcd2000f1e7ad9ece740b797c44f081b7ca1bb98 SHA512 d708fe62d64487b4430862b93913ba45f2889268c5efb9b1dc69fd48a665fcffc06a7bb91afc13b06a35fd82005a3115dc85f1de74d65f6958fd6f0c02a54007
 DIST vkd3d-proton-dxil-spirv-2166bc7ea0.tar.gz 688874 BLAKE2B 746dc8232ca0130f2b693ab7b9d3d93a4c514eacc473fa5d6fa91580e9daac48e9a51e63e93d3907f95c980e922ad3599190740dc280ef2ba1c96a4aea975416 SHA512 0a3308a10d3afc636e55c44fc4f2f3d067b5b828a6a93f3832698faf9a6ee26d53d25ad7eb0cbd6074b29395d073422434d63dd55004ce64e0aaf73334e4f5cc
 DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
+DIST vkd3d-proton-dxil-spirv-babf511d4c.tar.gz 695011 BLAKE2B 49e13065037edec80815b19907664d9681bc191303032db2e1678fbff5e144846c2ee267fdf5c1d4c31a1a30f2c14275f8e276a771253fabb8bbea8936be4eb4 SHA512 b310e4e856b4571ce13cce8539bd1640c7578b132558c009fcc04c24b4b10a86b620542891442dd81feaa8f6ad63d2d05021ca228d1c5f46eebe384fdb30f77e
+DIST vkd3d-proton-spirv-headers-1d31a10040.tar.gz 445679 BLAKE2B 3dac88269df92428fd93ca187eb417ec0156ff0b24200daf85526aaa92c30ba8743102764e20c47d783ed0704fa690c1bf60944ef81bbdd296890dde5fb9fcaa SHA512 2536619cd7854954892dbb5ab5cd97e4e95fe3f5c121c4b2022426ae734fc20c1ebadbae1da7689f5ca18397075c54e4f16ad525b8ee873c4b0ffdc07aaacc03
 DIST vkd3d-proton-spirv-headers-87d5b782be.tar.gz 439180 BLAKE2B 9c64a1b7aa408172bb57b38ca0e3d31221c7dfecfcd9afc77449c14e76f60f7436f1a54a794bf4959f4575f177e1024621c6ff696f7fb19b545877e0a527031c SHA512 d6ce02e53c259e508d1d72d81cc6aa6b3019e7ecd6a8878d81d8681d9734756f66c762ebd4b8b1d0f9fbb7a8f1f18d72aeb27c56822d810aca5a3e53c51c1ef6
 DIST vkd3d-proton-spirv-headers-ae217c1780.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b9c69757d7c2257ce2fe1bc6be308341f3189766f120994e4920bc738b737d9eefc299359dab568fb8809782e3663dd589c0e4d13aecb8873a SHA512 02cf1d63b29e48ef0efe489eb32237ba2f9f4bf58a182b00dc96aab18faba94de79283398e9e945cd81130f83fff228c59b04e496716ea9ccc148a5f4465282c
 DIST vkd3d-proton-vulkan-headers-5177b119bb.tar.gz 1588963 BLAKE2B 3e973c9fc1fd8c8f725fbe8dbd67ca451aa7ffbb202d2395f3b26bbad9cb4e9e39514c7c78825be7ca122ccd5b434adb0b3fcce25cb7fff7c831dcc5909bbdc3 SHA512 3848e5b14f73dda60f133d396742a9a2aa2fc3914b8cbd8bde90e392437398321865ade63e81ec99a83af20a42424cf2c6d06e4dda0d7323486d59fbc4504a3b
 DIST vkd3d-proton-vulkan-headers-83e1a9ed8c.tar.gz 1299014 BLAKE2B 0b1e635aaa6eebec3525b13698a064e0e5b8a78829a772cbe9e1890148059bf396bc5c830e8d6ee3070a3343775991642565283994c65acfa0d82a91590b7d84 SHA512 ecb2158cad55edb4ba069383668f3b311a2f6aa6777b5b7ed94795d454622426ee34fee52b13c97d2f07b5b2f965815ee61a0203b76a0b0d2c708a4786d06b96
+DIST vkd3d-proton-vulkan-headers-b7a86d3b2b.tar.gz 1753074 BLAKE2B a2588e84edd09a04c3622a95310acc781432d6a962c69c1f5a709b65e2bfeb5196d9d217b0d261532c4b5c1424f13ff64d33728303c989fdbce3048741add486 SHA512 377ada7a9721c225067c6548475109cf4ad1f3d677b835fbe7a4bc7520621acd816cc59d4b75b23bc28f25891b556792cf853b98c0dfb915856774ff27eb6aba

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
new file mode 100644
index 000000000000..259d69f041ab
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild
@@ -0,0 +1,178 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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=a0013b78db6271b5be3fa55ae0b30222d2fbf7c9 # match tag on bumps
+	HASH_DXIL=babf511d4cc7466b970dec82db35b5cacf6acfec
+	HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
+	HASH_SPIRV_DXIL=87d5b782bec60822aa878941e6b13c0a9a954c9b
+	HASH_VULKAN=b7a86d3b2bf8fbe73fcd40df9ec62a5966e9db89
+	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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
+			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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}] )"
+
+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
+
+		# dxil and vkd3d's spirv headers currently mismatch and incompatible
+		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
+		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
+			subprojects/dxil-spirv/third_party/spirv-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}
+
+	if [[ ${CHOST} != *-mingw* ]]; then
+		if [[ ! -v MINGW_BYPASS ]]; then
+			unset AR CC CXX RC STRIP WIDL
+			filter-flags '-fstack-clash-protection' #758914
+			filter-flags '-fstack-protector*' #870136
+			filter-flags '-fuse-ld=*'
+			filter-flags '-mfunction-return=thunk*' #878849
+		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
+
+	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
+
+	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+		ver_test ${REPLACING_VERSIONS##* } -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
+}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-12-02  3:18 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-12-02  3:18 UTC (permalink / raw
  To: gentoo-commits

commit:     3d4ab1b1e2d20ef2ea7b5d1017966190ece889d2
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  1 16:18:24 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Dec  2 03:13:58 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d4ab1b1

app-emulation/vkd3d-proton: stabilize 2.7 for amd64, x86

No real reason to keep this ~arch only, and will be
convenient for stable Wine users.

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

 app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
index 1ab788816702..7e1f9bfd1240 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
@@ -33,7 +33,7 @@ else
 			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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"
+	KEYWORDS="-* amd64 x86"
 fi
 
 DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-12-02  3:18 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-12-02  3:18 UTC (permalink / raw
  To: gentoo-commits

commit:     1c12e88038e8750fe42e66d994702564a4caecd4
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  1 16:15:58 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Dec  2 03:13:59 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1c12e880

app-emulation/vkd3d-proton: stabilize 2.6 for amd64, x86

Will not keep it forever, but stabilizing this older version as
well given 2.7 requires more recent vulkan drivers to function.

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

 app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
index 82d718762f30..168166ea70aa 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
@@ -30,7 +30,7 @@ else
 			-> ${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"
+	KEYWORDS="-* amd64 x86"
 fi
 
 DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-12-02  3:18 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-12-02  3:18 UTC (permalink / raw
  To: gentoo-commits

commit:     ffe3363fa68d3549cd449a9fe720a323392d3b48
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  1 23:59:29 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Dec  2 03:13:58 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ffe3363f

app-emulation/vkd3d-proton: show similar support warning as dxvk-2.0

Unsure if it's exact same requirements (not as well documented),
but 2.7 is definitely not usable with nvidia-drivers:0/470 while
2.6 still works.

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

 app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild  | 8 ++++++++
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 8 ++++++++
 2 files changed, 16 insertions(+)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
index 8aabe093f400..1ab788816702 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
@@ -167,4 +167,12 @@ pkg_postinst() {
 		elog
 		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
 	fi
+
+	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+		ver_test ${REPLACING_VERSIONS##* } -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
 }

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 6c6b0e82479d..55490ce310fc 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -167,4 +167,12 @@ pkg_postinst() {
 		elog
 		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
 	fi
+
+	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+		ver_test ${REPLACING_VERSIONS##* } -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
 }


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-11-29 11:44 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-11-29 11:44 UTC (permalink / raw
  To: gentoo-commits

commit:     50c08b4ea43e8d638a05bec7049a7e0cf8efa946
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 29 11:37:31 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Nov 29 11:43:17 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50c08b4e

app-emulation/vkd3d-proton: update live

Thanks-to: Akash Paul <paul007-dev <AT> outlook.com>
Closes: https://github.com/gentoo/gentoo/pull/28472
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 9bdbc904dc8e..6c6b0e82479d 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -23,11 +23,16 @@ else
 	HASH_SPIRV_DXIL=87d5b782bec60822aa878941e6b13c0a9a954c9b
 	HASH_VULKAN=5177b119bbdf463b7b909855a83230253c2d8b68
 	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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz -> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::10}.tar.gz
-		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz -> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
+		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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
+			-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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
 
@@ -151,8 +156,6 @@ 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
 }
 


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-11-10 23:50 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-11-10 23:50 UTC (permalink / raw
  To: gentoo-commits

commit:     1500006042572b18ca066cb6a816609c22ce90a0
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 10 23:34:58 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Nov 10 23:48:26 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15000060

app-emulation/vkd3d-proton: cleanup wine check

Does not really feel useful, ultimately this can be used in
many ways (including custom wines, or perhaps not even wine)
and trying to check does not mean much.

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

 app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild  | 7 -------
 app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild  | 7 -------
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 7 -------
 3 files changed, 21 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
index e1fb77d5a968..fad3b13cc6c6 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
@@ -157,11 +157,4 @@ pkg_postinst() {
 		elog
 		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
 	fi
-
-	# don't try to keep wine-*[vulkan] in RDEPEND, but still give a warning
-	local wine
-	for wine in app-emulation/wine-{vanilla,staging}; do
-		has_version ${wine} && ! has_version "${wine}[vulkan]" &&
-			ewarn "${wine} was not built with USE=vulkan, ${PN} will not be usable with it"
-	done
 }

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
index c811046e551a..5a33b6e7850c 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
@@ -162,11 +162,4 @@ pkg_postinst() {
 		elog
 		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
 	fi
-
-	# don't try to keep wine-*[vulkan] in RDEPEND, but still give a warning
-	local wine
-	for wine in app-emulation/wine-{vanilla,staging}; do
-		has_version ${wine} && ! has_version "${wine}[vulkan]" &&
-			ewarn "${wine} was not built with USE=vulkan, ${PN} will not be usable with it"
-	done
 }

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 43ceb602df36..9bdbc904dc8e 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -164,11 +164,4 @@ pkg_postinst() {
 		elog
 		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
 	fi
-
-	# don't try to keep wine-*[vulkan] in RDEPEND, but still give a warning
-	local wine
-	for wine in app-emulation/wine-{vanilla,staging}; do
-		has_version ${wine} && ! has_version "${wine}[vulkan]" &&
-			ewarn "${wine} was not built with USE=vulkan, ${PN} will not be usable with it"
-	done
 }


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-10-31  0:54 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-10-31  0:54 UTC (permalink / raw
  To: gentoo-commits

commit:     42b1fb27605a377bf5fb0fc51523a0b6ddaf3938
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 31 00:43:14 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Oct 31 00:47:49 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=42b1fb27

app-emulation/vkd3d-proton: filter -mfunction-return=thunk for mingw

Unfortunately mingw doesn't play well with many security/mitigation
flags. May need to consider a mingw.eclass if keep adding more of
these to every ebuilds using it.

Bug: https://bugs.gentoo.org/878849
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild  | 1 +
 app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild  | 1 +
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 1 +
 3 files changed, 3 insertions(+)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
index 28c3a4f0432a..e1fb77d5a968 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
@@ -99,6 +99,7 @@ src_configure() {
 			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
+			filter-flags '-mfunction-return=thunk*' #878849
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
index 05601ba66fda..c811046e551a 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
@@ -104,6 +104,7 @@ src_configure() {
 			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
+			filter-flags '-mfunction-return=thunk*' #878849
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index c03df3dfc0ee..43ceb602df36 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -106,6 +106,7 @@ src_configure() {
 			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
+			filter-flags '-mfunction-return=thunk*' #878849
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-10-27 19:20 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-10-27 19:20 UTC (permalink / raw
  To: gentoo-commits

commit:     a11214d21b3d5855038eeaabf7756ba711ce6345
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 27 18:53:54 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Oct 27 19:16:27 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a11214d2

app-emulation/vkd3d-proton: sync live+2.6 with 2.7

Just a bit of tidy'ing, still worked fine.

2.6 had a bit of a mixup with tarball names and wanted to
sort these out given will be kept for some time still.

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

 app-emulation/vkd3d-proton/Manifest                |  5 ++-
 app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild | 30 ++++++++---------
 .../vkd3d-proton/vkd3d-proton-9999.ebuild          | 39 +++++++++++++---------
 3 files changed, 40 insertions(+), 34 deletions(-)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index 88788b1ed50b..28b6a2f9df1c 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,9 +1,8 @@
-DIST vkd3d-proton-2.6-dxil-spirv.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
-DIST vkd3d-proton-2.6-spirv-headers.tar.gz 1299014 BLAKE2B 0b1e635aaa6eebec3525b13698a064e0e5b8a78829a772cbe9e1890148059bf396bc5c830e8d6ee3070a3343775991642565283994c65acfa0d82a91590b7d84 SHA512 ecb2158cad55edb4ba069383668f3b311a2f6aa6777b5b7ed94795d454622426ee34fee52b13c97d2f07b5b2f965815ee61a0203b76a0b0d2c708a4786d06b96
-DIST vkd3d-proton-2.6-vulkan-headers.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b9c69757d7c2257ce2fe1bc6be308341f3189766f120994e4920bc738b737d9eefc299359dab568fb8809782e3663dd589c0e4d13aecb8873a SHA512 02cf1d63b29e48ef0efe489eb32237ba2f9f4bf58a182b00dc96aab18faba94de79283398e9e945cd81130f83fff228c59b04e496716ea9ccc148a5f4465282c
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
 DIST vkd3d-proton-2.7.tar.gz 1403317 BLAKE2B 4ae975537ac1f39d38155b106aed3fa5542925f0980c23ad2fa8f1f9cf168b104311d14b7ba68a539fd92ab131cc878d8822ff23b551ca6ba9b3b86ac580f927 SHA512 a8d055dc7bc1ecdd7edcb5dafe304804cd516623f6771b786778a2ef6a0e7ebc4ba6ce53897b2ee830eb6dc39da16805c638f1db56444385febedd13276aed18
 DIST vkd3d-proton-dxil-spirv-2166bc7ea0.tar.gz 688874 BLAKE2B 746dc8232ca0130f2b693ab7b9d3d93a4c514eacc473fa5d6fa91580e9daac48e9a51e63e93d3907f95c980e922ad3599190740dc280ef2ba1c96a4aea975416 SHA512 0a3308a10d3afc636e55c44fc4f2f3d067b5b828a6a93f3832698faf9a6ee26d53d25ad7eb0cbd6074b29395d073422434d63dd55004ce64e0aaf73334e4f5cc
+DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
 DIST vkd3d-proton-spirv-headers-87d5b782be.tar.gz 439180 BLAKE2B 9c64a1b7aa408172bb57b38ca0e3d31221c7dfecfcd9afc77449c14e76f60f7436f1a54a794bf4959f4575f177e1024621c6ff696f7fb19b545877e0a527031c SHA512 d6ce02e53c259e508d1d72d81cc6aa6b3019e7ecd6a8878d81d8681d9734756f66c762ebd4b8b1d0f9fbb7a8f1f18d72aeb27c56822d810aca5a3e53c51c1ef6
 DIST vkd3d-proton-spirv-headers-ae217c1780.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b9c69757d7c2257ce2fe1bc6be308341f3189766f120994e4920bc738b737d9eefc299359dab568fb8809782e3663dd589c0e4d13aecb8873a SHA512 02cf1d63b29e48ef0efe489eb32237ba2f9f4bf58a182b00dc96aab18faba94de79283398e9e945cd81130f83fff228c59b04e496716ea9ccc148a5f4465282c
 DIST vkd3d-proton-vulkan-headers-5177b119bb.tar.gz 1588963 BLAKE2B 3e973c9fc1fd8c8f725fbe8dbd67ca451aa7ffbb202d2395f3b26bbad9cb4e9e39514c7c78825be7ca122ccd5b434adb0b3fcce25cb7fff7c831dcc5909bbdc3 SHA512 3848e5b14f73dda60f133d396742a9a2aa2fc3914b8cbd8bde90e392437398321865ade63e81ec99a83af20a42424cf2c6d06e4dda0d7323486d59fbc4504a3b
+DIST vkd3d-proton-vulkan-headers-83e1a9ed8c.tar.gz 1299014 BLAKE2B 0b1e635aaa6eebec3525b13698a064e0e5b8a78829a772cbe9e1890148059bf396bc5c830e8d6ee3070a3343775991642565283994c65acfa0d82a91590b7d84 SHA512 ecb2158cad55edb4ba069383668f3b311a2f6aa6777b5b7ed94795d454622426ee34fee52b13c97d2f07b5b2f965815ee61a0203b76a0b0d2c708a4786d06b96

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
index 3f1242ee79f8..28c3a4f0432a 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
@@ -17,15 +17,15 @@ if [[ ${PV} == 9999 ]]; then
 		subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
 	)
 else
-	VKD3D_HASH=3e5aab6fb3e18f81a71b339be4cb5cdf55140980 # match tag on bumps
-	DXIL_HASH=b537bbb91bccdbc695cb7e5211d608f8d1c205bd
-	SPIRV_HASH=ae217c17809fadb232ec94b29304b4afcd417bb4
-	VULKAN_HASH=83e1a9ed8ce289cebb1c02c8167d663dc1befb24
+	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/${DXIL_HASH}.tar.gz -> ${P}-dxil-spirv.tar.gz
-		https://github.com/KhronosGroup/SPIRV-Headers/archive/${SPIRV_HASH}.tar.gz -> ${P}-vulkan-headers.tar.gz
-		https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HASH}.tar.gz -> ${P}-spirv-headers.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
 
@@ -51,11 +51,11 @@ pkg_pretend() {
 				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"
+				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 set but ${tool} does not use POSIX threads"
+				die "USE=crossdev-mingw is enabled, but ${tool} does not use POSIX threads"
 			fi
 		done
 		tool=-w64-mingw32-widl
@@ -72,9 +72,9 @@ pkg_pretend() {
 src_prepare() {
 	if [[ ${PV} != 9999 ]]; then
 		rmdir subprojects/{{SPIRV,Vulkan}-Headers,dxil-spirv} || die
-		mv ../dxil-spirv-${DXIL_HASH} subprojects/dxil-spirv || die
-		mv ../SPIRV-Headers-${SPIRV_HASH} subprojects/SPIRV-Headers || die
-		mv ../Vulkan-Headers-${VULKAN_HASH} subprojects/Vulkan-Headers || 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
@@ -85,8 +85,8 @@ src_prepare() {
 
 	if [[ ${PV} != 9999 ]]; then
 		# without .git, meson sets vkd3d_build as 0x${PV} leading to failure
-		sed -i "s/@VCS_TAG@/${VKD3D_HASH::15}/" vkd3d_build.h.in || die
-		sed -i "s/@VCS_TAG@/${VKD3D_HASH::7}/" vkd3d_version.h.in || die
+		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
 }
 
@@ -160,7 +160,7 @@ pkg_postinst() {
 	# don't try to keep wine-*[vulkan] in RDEPEND, but still give a warning
 	local wine
 	for wine in app-emulation/wine-{vanilla,staging}; do
-		has_version ${wine} && ! has_version ${wine}[vulkan] &&
+		has_version ${wine} && ! has_version "${wine}[vulkan]" &&
 			ewarn "${wine} was not built with USE=vulkan, ${PN} will not be usable with it"
 	done
 }

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 3f1242ee79f8..c03df3dfc0ee 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -17,15 +17,17 @@ if [[ ${PV} == 9999 ]]; then
 		subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
 	)
 else
-	VKD3D_HASH=3e5aab6fb3e18f81a71b339be4cb5cdf55140980 # match tag on bumps
-	DXIL_HASH=b537bbb91bccdbc695cb7e5211d608f8d1c205bd
-	SPIRV_HASH=ae217c17809fadb232ec94b29304b4afcd417bb4
-	VULKAN_HASH=83e1a9ed8ce289cebb1c02c8167d663dc1befb24
+	HASH_VKD3D=4df366172e025c23621c8df5a794de90de165d97 # match tag on bumps
+	HASH_DXIL=2166bc7ea0ceb2d7ff6d787d9b007f7eb7d4aaa8
+	HASH_SPIRV=ae217c17809fadb232ec94b29304b4afcd417bb4
+	HASH_SPIRV_DXIL=87d5b782bec60822aa878941e6b13c0a9a954c9b
+	HASH_VULKAN=5177b119bbdf463b7b909855a83230253c2d8b68
 	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/${DXIL_HASH}.tar.gz -> ${P}-dxil-spirv.tar.gz
-		https://github.com/KhronosGroup/SPIRV-Headers/archive/${SPIRV_HASH}.tar.gz -> ${P}-vulkan-headers.tar.gz
-		https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HASH}.tar.gz -> ${P}-spirv-headers.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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz -> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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
 
@@ -51,11 +53,11 @@ pkg_pretend() {
 				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"
+				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 set but ${tool} does not use POSIX threads"
+				die "USE=crossdev-mingw is enabled, but ${tool} does not use POSIX threads"
 			fi
 		done
 		tool=-w64-mingw32-widl
@@ -72,11 +74,16 @@ pkg_pretend() {
 src_prepare() {
 	if [[ ${PV} != 9999 ]]; then
 		rmdir subprojects/{{SPIRV,Vulkan}-Headers,dxil-spirv} || die
-		mv ../dxil-spirv-${DXIL_HASH} subprojects/dxil-spirv || die
-		mv ../SPIRV-Headers-${SPIRV_HASH} subprojects/SPIRV-Headers || die
-		mv ../Vulkan-Headers-${VULKAN_HASH} subprojects/Vulkan-Headers || die
-		ln -s ../../../SPIRV-Headers/include \
+		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
+
+		# dxil and vkd3d's spirv headers currently mismatch and incompatible
+		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
+		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
 			subprojects/dxil-spirv/third_party/spirv-headers || die
+#		ln -s ../../../SPIRV-Headers/include \
+#			subprojects/dxil-spirv/third_party/spirv-headers || die
 	fi
 
 	default
@@ -85,8 +92,8 @@ src_prepare() {
 
 	if [[ ${PV} != 9999 ]]; then
 		# without .git, meson sets vkd3d_build as 0x${PV} leading to failure
-		sed -i "s/@VCS_TAG@/${VKD3D_HASH::15}/" vkd3d_build.h.in || die
-		sed -i "s/@VCS_TAG@/${VKD3D_HASH::7}/" vkd3d_version.h.in || die
+		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
 }
 
@@ -160,7 +167,7 @@ pkg_postinst() {
 	# don't try to keep wine-*[vulkan] in RDEPEND, but still give a warning
 	local wine
 	for wine in app-emulation/wine-{vanilla,staging}; do
-		has_version ${wine} && ! has_version ${wine}[vulkan] &&
+		has_version ${wine} && ! has_version "${wine}[vulkan]" &&
 			ewarn "${wine} was not built with USE=vulkan, ${PN} will not be usable with it"
 	done
 }


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-10-27 19:20 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-10-27 19:20 UTC (permalink / raw
  To: gentoo-commits

commit:     ac63fcdd63b6631336873222b2e8a88533af5c40
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 27 18:43:51 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Oct 27 19:14:02 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac63fcdd

app-emulation/vkd3d-proton: add 2.7

Note that this needs more recent mesa (22.x) or nvidia-drivers
(>=515 should be fine) to work, and stable Proton is sticking
to 2.6 because of that (2.6 will be kept for as long as it does)

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

 app-emulation/vkd3d-proton/Manifest                |   5 +
 app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild | 171 +++++++++++++++++++++
 2 files changed, 176 insertions(+)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index d0abe731bac6..88788b1ed50b 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -2,3 +2,8 @@ DIST vkd3d-proton-2.6-dxil-spirv.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b42
 DIST vkd3d-proton-2.6-spirv-headers.tar.gz 1299014 BLAKE2B 0b1e635aaa6eebec3525b13698a064e0e5b8a78829a772cbe9e1890148059bf396bc5c830e8d6ee3070a3343775991642565283994c65acfa0d82a91590b7d84 SHA512 ecb2158cad55edb4ba069383668f3b311a2f6aa6777b5b7ed94795d454622426ee34fee52b13c97d2f07b5b2f965815ee61a0203b76a0b0d2c708a4786d06b96
 DIST vkd3d-proton-2.6-vulkan-headers.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b9c69757d7c2257ce2fe1bc6be308341f3189766f120994e4920bc738b737d9eefc299359dab568fb8809782e3663dd589c0e4d13aecb8873a SHA512 02cf1d63b29e48ef0efe489eb32237ba2f9f4bf58a182b00dc96aab18faba94de79283398e9e945cd81130f83fff228c59b04e496716ea9ccc148a5f4465282c
 DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
+DIST vkd3d-proton-2.7.tar.gz 1403317 BLAKE2B 4ae975537ac1f39d38155b106aed3fa5542925f0980c23ad2fa8f1f9cf168b104311d14b7ba68a539fd92ab131cc878d8822ff23b551ca6ba9b3b86ac580f927 SHA512 a8d055dc7bc1ecdd7edcb5dafe304804cd516623f6771b786778a2ef6a0e7ebc4ba6ce53897b2ee830eb6dc39da16805c638f1db56444385febedd13276aed18
+DIST vkd3d-proton-dxil-spirv-2166bc7ea0.tar.gz 688874 BLAKE2B 746dc8232ca0130f2b693ab7b9d3d93a4c514eacc473fa5d6fa91580e9daac48e9a51e63e93d3907f95c980e922ad3599190740dc280ef2ba1c96a4aea975416 SHA512 0a3308a10d3afc636e55c44fc4f2f3d067b5b828a6a93f3832698faf9a6ee26d53d25ad7eb0cbd6074b29395d073422434d63dd55004ce64e0aaf73334e4f5cc
+DIST vkd3d-proton-spirv-headers-87d5b782be.tar.gz 439180 BLAKE2B 9c64a1b7aa408172bb57b38ca0e3d31221c7dfecfcd9afc77449c14e76f60f7436f1a54a794bf4959f4575f177e1024621c6ff696f7fb19b545877e0a527031c SHA512 d6ce02e53c259e508d1d72d81cc6aa6b3019e7ecd6a8878d81d8681d9734756f66c762ebd4b8b1d0f9fbb7a8f1f18d72aeb27c56822d810aca5a3e53c51c1ef6
+DIST vkd3d-proton-spirv-headers-ae217c1780.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b9c69757d7c2257ce2fe1bc6be308341f3189766f120994e4920bc738b737d9eefc299359dab568fb8809782e3663dd589c0e4d13aecb8873a SHA512 02cf1d63b29e48ef0efe489eb32237ba2f9f4bf58a182b00dc96aab18faba94de79283398e9e945cd81130f83fff228c59b04e496716ea9ccc148a5f4465282c
+DIST vkd3d-proton-vulkan-headers-5177b119bb.tar.gz 1588963 BLAKE2B 3e973c9fc1fd8c8f725fbe8dbd67ca451aa7ffbb202d2395f3b26bbad9cb4e9e39514c7c78825be7ca122ccd5b434adb0b3fcce25cb7fff7c831dcc5909bbdc3 SHA512 3848e5b14f73dda60f133d396742a9a2aa2fc3914b8cbd8bde90e392437398321865ade63e81ec99a83af20a42424cf2c6d06e4dda0d7323486d59fbc4504a3b

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
new file mode 100644
index 000000000000..05601ba66fda
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.7.ebuild
@@ -0,0 +1,171 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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=4df366172e025c23621c8df5a794de90de165d97 # match tag on bumps
+	HASH_DXIL=2166bc7ea0ceb2d7ff6d787d9b007f7eb7d4aaa8
+	HASH_SPIRV=ae217c17809fadb232ec94b29304b4afcd417bb4
+	HASH_SPIRV_DXIL=87d5b782bec60822aa878941e6b13c0a9a954c9b
+	HASH_VULKAN=5177b119bbdf463b7b909855a83230253c2d8b68
+	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/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz -> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::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}] )"
+
+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
+
+		# dxil and vkd3d's spirv headers currently mismatch and incompatible
+		rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
+		mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
+			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}
+
+	if [[ ${CHOST} != *-mingw* ]]; then
+		if [[ ! -v MINGW_BYPASS ]]; then
+			unset AR CC CXX RC STRIP WIDL
+			filter-flags '-fstack-clash-protection' #758914
+			filter-flags '-fstack-protector*' #870136
+			filter-flags '-fuse-ld=*'
+		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
+
+	# don't try to keep wine-*[vulkan] in RDEPEND, but still give a warning
+	local wine
+	for wine in app-emulation/wine-{vanilla,staging}; do
+		has_version ${wine} && ! has_version "${wine}[vulkan]" &&
+			ewarn "${wine} was not built with USE=vulkan, ${PN} will not be usable with it"
+	done
+}


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-10-23  7:20 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-10-23  7:20 UTC (permalink / raw
  To: gentoo-commits

commit:     4db7f4b4a6e01072a93ada1cb0118db7e5e1e5c7
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 23 07:15:02 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Oct 23 07:20:03 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4db7f4b4

app-emulation/vkd3d-proton: filter -fstack-clash-protection

Bug: https://bugs.gentoo.org/758914
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild  | 1 +
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 1 +
 2 files changed, 2 insertions(+)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
index 118d81a120cd..3f1242ee79f8 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
@@ -96,6 +96,7 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL
+			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
 		fi

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 118d81a120cd..3f1242ee79f8 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -96,6 +96,7 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL
+			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
 		fi


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-09-14 23:11 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-09-14 23:11 UTC (permalink / raw
  To: gentoo-commits

commit:     9b737b60cb2aea0ce025a04b07247a702396b93b
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 14 22:29:54 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Sep 14 23:10:18 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b737b60

app-emulation/vkd3d-proton: filter ssp for mingw

Bug: https://bugs.gentoo.org/870136
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild  | 1 +
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 1 +
 2 files changed, 2 insertions(+)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
index 237c309402ea..118d81a120cd 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
@@ -96,6 +96,7 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL
+			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
 		fi
 

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 237c309402ea..118d81a120cd 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -96,6 +96,7 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP WIDL
+			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
 		fi
 


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-07-16 17:03 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-07-16 17:03 UTC (permalink / raw
  To: gentoo-commits

commit:     d327f1dd4369a20c5ad4baca54d87b7faabbbfc8
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 16 15:41:18 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Jul 16 16:56:35 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d327f1dd

app-emulation/vkd3d-proton: filter -fuse-ld for mingw

flag-o-matic is looking at respecting -fuse-ld for test-flags-CCLD,
which is good but don't want this when doing the user-unexpected
switch to mingw toolchain (filtering feels more solid either way).

Users can use MINGW_BYPASS=1 if really need full control.

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

 app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild  | 5 ++++-
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
index 664241e57d2e..237c309402ea 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
@@ -94,7 +94,10 @@ src_configure() {
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
 	if [[ ${CHOST} != *-mingw* ]]; then
-		[[ ! -v MINGW_BYPASS ]] && unset AR CC CXX STRIP WIDL
+		if [[ ! -v MINGW_BYPASS ]]; then
+			unset AR CC CXX RC STRIP WIDL
+			filter-flags '-fuse-ld=*'
+		fi
 
 		CHOST_amd64=x86_64-w64-mingw32
 		CHOST_x86=i686-w64-mingw32

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 664241e57d2e..237c309402ea 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -94,7 +94,10 @@ src_configure() {
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
 	if [[ ${CHOST} != *-mingw* ]]; then
-		[[ ! -v MINGW_BYPASS ]] && unset AR CC CXX STRIP WIDL
+		if [[ ! -v MINGW_BYPASS ]]; then
+			unset AR CC CXX RC STRIP WIDL
+			filter-flags '-fuse-ld=*'
+		fi
 
 		CHOST_amd64=x86_64-w64-mingw32
 		CHOST_x86=i686-w64-mingw32


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-06-28  7:46 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-06-28  7:46 UTC (permalink / raw
  To: gentoo-commits

commit:     314fd7aaa1d8225c95860f9a462d3d541f7df501
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 28 07:26:42 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Jun 28 07:42:06 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=314fd7aa

app-emulation/vkd3d-proton: change bits check method

Unlikely, but old could fail if "amd64=86" is in the environment.
Plus vkd3d-proton wants 86 (not 32 unlike dxvk), so can just get
it from ABI.

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

 app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild  | 2 +-
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
index 14ead4c9f1e1..664241e57d2e 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
@@ -123,7 +123,7 @@ multilib_src_configure() {
 
 	local emesonargs=(
 		--prefix="${EPREFIX}"/usr/lib/${PN}
-		--{bin,lib}dir=x$((${ABI#x}==86?86:64))
+		--{bin,lib}dir=x${ABI: -2}
 		--{cross,native}-file="${T}"/widl.${ABI}.ini
 		$(meson_use {,enable_}extras)
 		$(meson_use debug enable_trace)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 14ead4c9f1e1..664241e57d2e 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -123,7 +123,7 @@ multilib_src_configure() {
 
 	local emesonargs=(
 		--prefix="${EPREFIX}"/usr/lib/${PN}
-		--{bin,lib}dir=x$((${ABI#x}==86?86:64))
+		--{bin,lib}dir=x${ABI: -2}
 		--{cross,native}-file="${T}"/widl.${ABI}.ini
 		$(meson_use {,enable_}extras)
 		$(meson_use debug enable_trace)


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-05-14  2:23 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-05-14  2:23 UTC (permalink / raw
  To: gentoo-commits

commit:     4a814d75f9321004b29d64e9e2a229f12cf1a041
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat May 14 02:10:48 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat May 14 02:21:58 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4a814d75

app-emulation/vkd3d-proton: add bypass for crossdev checks / unset

Unset is needed given CC is not expected to be a cross-compiler
but, if users know what they are doing, leave a way (MINGW_BYPASS=1).

If e.g. llvm-mingw is ever officially supported, may need a mingw
eclass to juggle toolchains properly and instruct about them.

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

 app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild  | 6 +++---
 app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
index 68245c3ef796..14ead4c9f1e1 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
@@ -43,7 +43,7 @@ BDEPEND="
 pkg_pretend() {
 	[[ ${MERGE_TYPE} == binary ]] && return
 
-	if use crossdev-mingw; then
+	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
@@ -94,7 +94,7 @@ src_configure() {
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
 	if [[ ${CHOST} != *-mingw* ]]; then
-		unset AR CC CXX STRIP WIDL # likely unusable unless CHOST is mingw
+		[[ ! -v MINGW_BYPASS ]] && unset AR CC CXX STRIP WIDL
 
 		CHOST_amd64=x86_64-w64-mingw32
 		CHOST_x86=i686-w64-mingw32
@@ -113,7 +113,7 @@ 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 && unset AR CC CXX STRIP WIDL
+	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

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
index 68245c3ef796..14ead4c9f1e1 100644
--- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -43,7 +43,7 @@ BDEPEND="
 pkg_pretend() {
 	[[ ${MERGE_TYPE} == binary ]] && return
 
-	if use crossdev-mingw; then
+	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
@@ -94,7 +94,7 @@ src_configure() {
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
 	if [[ ${CHOST} != *-mingw* ]]; then
-		unset AR CC CXX STRIP WIDL # likely unusable unless CHOST is mingw
+		[[ ! -v MINGW_BYPASS ]] && unset AR CC CXX STRIP WIDL
 
 		CHOST_amd64=x86_64-w64-mingw32
 		CHOST_x86=i686-w64-mingw32
@@ -113,7 +113,7 @@ 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 && unset AR CC CXX STRIP WIDL
+	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


^ permalink raw reply related	[flat|nested] 55+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/
@ 2022-05-13  2:48 Ionen Wolkens
  0 siblings, 0 replies; 55+ messages in thread
From: Ionen Wolkens @ 2022-05-13  2:48 UTC (permalink / raw
  To: gentoo-commits

commit:     abece420ad88b7e34917d74b9253024606f3cc16
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 10 07:37:03 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri May 13 02:29:29 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=abece420

app-emulation/vkd3d-proton: new package, add 2.6 + live

Complement to app-emulation/dxvk that's setup very similarly.
Contains a lot of improvements over regular vkd3d for Proton
but (like dxvk) can be used by any Wine.

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

 app-emulation/vkd3d-proton/Manifest                |   4 +
 app-emulation/vkd3d-proton/metadata.xml            |  18 +++
 app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild | 161 +++++++++++++++++++++
 .../vkd3d-proton/vkd3d-proton-9999.ebuild          | 161 +++++++++++++++++++++
 4 files changed, 344 insertions(+)

diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
new file mode 100644
index 000000000000..d0abe731bac6
--- /dev/null
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -0,0 +1,4 @@
+DIST vkd3d-proton-2.6-dxil-spirv.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
+DIST vkd3d-proton-2.6-spirv-headers.tar.gz 1299014 BLAKE2B 0b1e635aaa6eebec3525b13698a064e0e5b8a78829a772cbe9e1890148059bf396bc5c830e8d6ee3070a3343775991642565283994c65acfa0d82a91590b7d84 SHA512 ecb2158cad55edb4ba069383668f3b311a2f6aa6777b5b7ed94795d454622426ee34fee52b13c97d2f07b5b2f965815ee61a0203b76a0b0d2c708a4786d06b96
+DIST vkd3d-proton-2.6-vulkan-headers.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b9c69757d7c2257ce2fe1bc6be308341f3189766f120994e4920bc738b737d9eefc299359dab568fb8809782e3663dd589c0e4d13aecb8873a SHA512 02cf1d63b29e48ef0efe489eb32237ba2f9f4bf58a182b00dc96aab18faba94de79283398e9e945cd81130f83fff228c59b04e496716ea9ccc148a5f4465282c
+DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1

diff --git a/app-emulation/vkd3d-proton/metadata.xml b/app-emulation/vkd3d-proton/metadata.xml
new file mode 100644
index 000000000000..65a03f88f50d
--- /dev/null
+++ b/app-emulation/vkd3d-proton/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>ionen@gentoo.org</email>
+		<name>Ionen Wolkens</name>
+	</maintainer>
+	<use>
+		<flag name="crossdev-mingw">
+			Use <pkg>sys-devel/crossdev</pkg> for the toolchain rather than
+			<pkg>dev-util/mingw64-toolchain</pkg> (requires manual setting up)
+		</flag>
+		<flag name="extras">Install extra tools and demos in /usr/lib/vkd3d-proton</flag>
+	</use>
+	<upstream>
+		<remote-id type="github">HansKristian-Work/vkd3d-proton</remote-id>
+	</upstream>
+</pkgmetadata>

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
new file mode 100644
index 000000000000..68245c3ef796
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild
@@ -0,0 +1,161 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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
+	VKD3D_HASH=3e5aab6fb3e18f81a71b339be4cb5cdf55140980 # match tag on bumps
+	DXIL_HASH=b537bbb91bccdbc695cb7e5211d608f8d1c205bd
+	SPIRV_HASH=ae217c17809fadb232ec94b29304b4afcd417bb4
+	VULKAN_HASH=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/${DXIL_HASH}.tar.gz -> ${P}-dxil-spirv.tar.gz
+		https://github.com/KhronosGroup/SPIRV-Headers/archive/${SPIRV_HASH}.tar.gz -> ${P}-vulkan-headers.tar.gz
+		https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HASH}.tar.gz -> ${P}-spirv-headers.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}] )"
+
+pkg_pretend() {
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	if use crossdev-mingw; 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
+		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-${DXIL_HASH} subprojects/dxil-spirv || die
+		mv ../SPIRV-Headers-${SPIRV_HASH} subprojects/SPIRV-Headers || die
+		mv ../Vulkan-Headers-${VULKAN_HASH} 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@/${VKD3D_HASH::15}/" vkd3d_build.h.in || die
+		sed -i "s/@VCS_TAG@/${VKD3D_HASH::7}/" vkd3d_version.h.in || die
+	fi
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	if [[ ${CHOST} != *-mingw* ]]; then
+		unset AR CC CXX STRIP WIDL # likely unusable unless CHOST is mingw
+
+		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 && 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#x}==86?86:64))
+		--{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
+
+	# don't try to keep wine-*[vulkan] in RDEPEND, but still give a warning
+	local wine
+	for wine in app-emulation/wine-{vanilla,staging}; do
+		has_version ${wine} && ! has_version ${wine}[vulkan] &&
+			ewarn "${wine} was not built with USE=vulkan, ${PN} will not be usable with it"
+	done
+}

diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
new file mode 100644
index 000000000000..68245c3ef796
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -0,0 +1,161 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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
+	VKD3D_HASH=3e5aab6fb3e18f81a71b339be4cb5cdf55140980 # match tag on bumps
+	DXIL_HASH=b537bbb91bccdbc695cb7e5211d608f8d1c205bd
+	SPIRV_HASH=ae217c17809fadb232ec94b29304b4afcd417bb4
+	VULKAN_HASH=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/${DXIL_HASH}.tar.gz -> ${P}-dxil-spirv.tar.gz
+		https://github.com/KhronosGroup/SPIRV-Headers/archive/${SPIRV_HASH}.tar.gz -> ${P}-vulkan-headers.tar.gz
+		https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HASH}.tar.gz -> ${P}-spirv-headers.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}] )"
+
+pkg_pretend() {
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	if use crossdev-mingw; 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
+		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-${DXIL_HASH} subprojects/dxil-spirv || die
+		mv ../SPIRV-Headers-${SPIRV_HASH} subprojects/SPIRV-Headers || die
+		mv ../Vulkan-Headers-${VULKAN_HASH} 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@/${VKD3D_HASH::15}/" vkd3d_build.h.in || die
+		sed -i "s/@VCS_TAG@/${VKD3D_HASH::7}/" vkd3d_version.h.in || die
+	fi
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	if [[ ${CHOST} != *-mingw* ]]; then
+		unset AR CC CXX STRIP WIDL # likely unusable unless CHOST is mingw
+
+		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 && 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#x}==86?86:64))
+		--{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
+
+	# don't try to keep wine-*[vulkan] in RDEPEND, but still give a warning
+	local wine
+	for wine in app-emulation/wine-{vanilla,staging}; do
+		has_version ${wine} && ! has_version ${wine}[vulkan] &&
+			ewarn "${wine} was not built with USE=vulkan, ${PN} will not be usable with it"
+	done
+}


^ permalink raw reply related	[flat|nested] 55+ messages in thread

end of thread, other threads:[~2024-06-21 17:00 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-07 14:28 [gentoo-commits] repo/gentoo:master commit in: app-emulation/vkd3d-proton/ Ionen Wolkens
  -- strict thread matches above, loose matches on Subject: below --
2024-06-21 17:00 Ionen Wolkens
2024-05-22  3:32 Ionen Wolkens
2024-05-21  3:01 Ionen Wolkens
2024-04-25 20:40 Sam James
2024-04-25 20:40 Sam James
2024-03-28 10:10 Ionen Wolkens
2024-03-27 16:45 Ionen Wolkens
2024-03-24 18:39 Ionen Wolkens
2024-03-15 20:12 Ionen Wolkens
2024-03-15 20:12 Ionen Wolkens
2024-01-05  5:19 Arthur Zamarin
2024-01-05  5:19 Arthur Zamarin
2023-12-15 16:09 Ionen Wolkens
2023-12-15 16:09 Ionen Wolkens
2023-12-15 10:10 Michał Górny
2023-12-14 21:46 Sam James
2023-11-24 17:01 Ionen Wolkens
2023-11-24 17:01 Ionen Wolkens
2023-11-17  5:14 Ionen Wolkens
2023-10-01 18:07 Arthur Zamarin
2023-10-01 18:07 Arthur Zamarin
2023-09-11 14:59 Ionen Wolkens
2023-08-15 20:22 Ionen Wolkens
2023-08-10 10:53 Ionen Wolkens
2023-06-26 10:12 Ionen Wolkens
2023-06-08 12:24 Arthur Zamarin
2023-06-08 12:23 Arthur Zamarin
2023-06-02  6:54 Ionen Wolkens
2023-05-20  2:01 Ionen Wolkens
2023-05-20  1:52 Ionen Wolkens
2023-05-20  1:52 Ionen Wolkens
2023-05-20  1:52 Ionen Wolkens
2023-05-12 11:59 Ionen Wolkens
2023-05-12 11:59 Ionen Wolkens
2023-04-29  9:43 Ionen Wolkens
2023-04-17 20:44 Ionen Wolkens
2022-12-29 20:29 Ionen Wolkens
2022-12-19  7:23 Ionen Wolkens
2022-12-15 21:32 Ionen Wolkens
2022-12-15 21:23 Ionen Wolkens
2022-12-02  3:18 Ionen Wolkens
2022-12-02  3:18 Ionen Wolkens
2022-12-02  3:18 Ionen Wolkens
2022-11-29 11:44 Ionen Wolkens
2022-11-10 23:50 Ionen Wolkens
2022-10-31  0:54 Ionen Wolkens
2022-10-27 19:20 Ionen Wolkens
2022-10-27 19:20 Ionen Wolkens
2022-10-23  7:20 Ionen Wolkens
2022-09-14 23:11 Ionen Wolkens
2022-07-16 17:03 Ionen Wolkens
2022-06-28  7:46 Ionen Wolkens
2022-05-14  2:23 Ionen Wolkens
2022-05-13  2:48 Ionen Wolkens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox