public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-05-13  2:48 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-05-13  2:48 UTC (permalink / raw
  To: gentoo-commits

commit:     b458663e8d42a6932d1be1664324fcd707e28b04
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat May  7 04:39:10 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=b458663e

app-emulation/dxvk: new package, add 1.10.1 + live

Many want to build this, but crossdev requirement made it unsuitable
for ::gentoo. Now, mingw64-toolchain is there to remedy this and so
let's add it. crossdev can still be used if USE=crossdev-mingw

Note that unlike most overlays, this intentionally does not modify
config.cpp and then installs dxvk.conf as a documentation example.
Use the intended ${PWD}/dxvk.conf or DXVK_CONFIG_FILE env var.
Paths are also different (using lib64 is not necessary and
requires workarounds), so may need to update WINEPREFIX symlinks.

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

 app-emulation/dxvk/Manifest           |   1 +
 app-emulation/dxvk/dxvk-1.10.1.ebuild | 120 ++++++++++++++++++++++++++++++++++
 app-emulation/dxvk/dxvk-9999.ebuild   | 120 ++++++++++++++++++++++++++++++++++
 app-emulation/dxvk/metadata.xml       |  21 ++++++
 4 files changed, 262 insertions(+)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
new file mode 100644
index 000000000000..c26971ce4b08
--- /dev/null
+++ b/app-emulation/dxvk/Manifest
@@ -0,0 +1 @@
+DIST dxvk-1.10.1.tar.gz 1188138 BLAKE2B e4c5c5052de3f0976581317b9e6de148735198d2545e961ed4540be8660fbba0bcd30f81a1b55f032a1e00e226993d1ab3e4017b104f2829bf37d2ee4fc4420a SHA512 8fd34d9f14a7013cdc1957f63bf60feb19748fddc1cd6ec40cf271005f636de62965efb42ddf2598dad3e37a4f59a870bf769387b2534db93451d1ea6aa65410

diff --git a/app-emulation/dxvk/dxvk-1.10.1.ebuild b/app-emulation/dxvk/dxvk-1.10.1.ebuild
new file mode 100644
index 000000000000..d48b3cc7cc2a
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-1.10.1.ebuild
@@ -0,0 +1,120 @@
+# 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
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+else
+	SRC_URI="https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+LICENSE="ZLIB"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
+REQUIRED_USE="
+	|| ( d3d9 d3d10 d3d11 dxgi )
+	d3d10? ( d3d11 )
+	dxgi? ( d3d11 )"
+
+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
+	fi
+}
+
+src_prepare() {
+	default
+
+	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# AVX has a history of causing issues with this package, disable for safety
+	# https://github.com/Tk-Glitch/PKGBUILDS/issues/515
+	append-flags -mno-avx
+
+	if [[ ${CHOST} != *-mingw* ]]; then
+		unset AR CC CXX RC STRIP # likely unusable unless CHOST is mingw
+
+		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 && unset AR CC CXX RC STRIP
+
+	local emesonargs=(
+		--prefix="${EPREFIX}"/usr/lib/${PN}
+		--{bin,lib}dir=x$((${ABI#x}==86?32:64))
+		$(meson_use {,enable_}d3d9)
+		$(meson_use {,enable_}d3d10)
+		$(meson_use {,enable_}d3d11)
+		$(meson_use {,enable_}dxgi)
+		$(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_dxvk.sh
+	dodoc README.md dxvk.conf
+
+	find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+	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/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
new file mode 100644
index 000000000000..d48b3cc7cc2a
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -0,0 +1,120 @@
+# 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
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+else
+	SRC_URI="https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+LICENSE="ZLIB"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
+REQUIRED_USE="
+	|| ( d3d9 d3d10 d3d11 dxgi )
+	d3d10? ( d3d11 )
+	dxgi? ( d3d11 )"
+
+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
+	fi
+}
+
+src_prepare() {
+	default
+
+	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# AVX has a history of causing issues with this package, disable for safety
+	# https://github.com/Tk-Glitch/PKGBUILDS/issues/515
+	append-flags -mno-avx
+
+	if [[ ${CHOST} != *-mingw* ]]; then
+		unset AR CC CXX RC STRIP # likely unusable unless CHOST is mingw
+
+		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 && unset AR CC CXX RC STRIP
+
+	local emesonargs=(
+		--prefix="${EPREFIX}"/usr/lib/${PN}
+		--{bin,lib}dir=x$((${ABI#x}==86?32:64))
+		$(meson_use {,enable_}d3d9)
+		$(meson_use {,enable_}d3d10)
+		$(meson_use {,enable_}d3d11)
+		$(meson_use {,enable_}dxgi)
+		$(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_dxvk.sh
+	dodoc README.md dxvk.conf
+
+	find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+	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/dxvk/metadata.xml b/app-emulation/dxvk/metadata.xml
new file mode 100644
index 000000000000..84811f271d8e
--- /dev/null
+++ b/app-emulation/dxvk/metadata.xml
@@ -0,0 +1,21 @@
+<?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="d3d9">Enable support for DirectX 9 (d3d9.dll)</flag>
+		<flag name="d3d10">Enable support for DirectX 10 (d3d10.dll)</flag>
+		<flag name="d3d11">Enable support for DirectX 11 (d3d11.dll)</flag>
+		<flag name="dxgi">Enable support for the DirectX Graphics Infrastructure (dxgi.dll)</flag>
+	</use>
+	<upstream>
+		<remote-id type="github">doitsujin/dxvk</remote-id>
+	</upstream>
+</pkgmetadata>


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-05-14  2:23 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-05-14  2:23 UTC (permalink / raw
  To: gentoo-commits

commit:     9905d05f9b9851c11bd2e0922b79df6f5db3033d
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat May 14 02:04:43 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat May 14 02:21:57 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9905d05f

app-emulation/dxvk: 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/dxvk/dxvk-1.10.1.ebuild | 6 +++---
 app-emulation/dxvk/dxvk-9999.ebuild   | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-1.10.1.ebuild b/app-emulation/dxvk/dxvk-1.10.1.ebuild
index d48b3cc7cc2a..7d293dd8f8ea 100644
--- a/app-emulation/dxvk/dxvk-1.10.1.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.1.ebuild
@@ -32,7 +32,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
@@ -64,7 +64,7 @@ src_configure() {
 	append-flags -mno-avx
 
 	if [[ ${CHOST} != *-mingw* ]]; then
-		unset AR CC CXX RC STRIP # likely unusable unless CHOST is mingw
+		[[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
 
 		CHOST_amd64=x86_64-w64-mingw32
 		CHOST_x86=i686-w64-mingw32
@@ -79,7 +79,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 RC STRIP
+	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
 
 	local emesonargs=(
 		--prefix="${EPREFIX}"/usr/lib/${PN}

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index d48b3cc7cc2a..7d293dd8f8ea 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -32,7 +32,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
@@ -64,7 +64,7 @@ src_configure() {
 	append-flags -mno-avx
 
 	if [[ ${CHOST} != *-mingw* ]]; then
-		unset AR CC CXX RC STRIP # likely unusable unless CHOST is mingw
+		[[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
 
 		CHOST_amd64=x86_64-w64-mingw32
 		CHOST_x86=i686-w64-mingw32
@@ -79,7 +79,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 RC STRIP
+	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
 
 	local emesonargs=(
 		--prefix="${EPREFIX}"/usr/lib/${PN}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-05-17  4:21 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-05-17  4:21 UTC (permalink / raw
  To: gentoo-commits

commit:     3f6a6d4b239cef61e4a839a377e2ce67bef5471f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 17 03:46:00 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May 17 04:15:53 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3f6a6d4b

app-emulation/dxvk: give note about overlay differences

Just a courtesy until this version settles in, been in overlays for
a long time and switching back & forth can give a poor experience.

Similar applies to vkd3d-proton but it's less known and overlays
only had live ebuilds.

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

 app-emulation/dxvk/dxvk-1.10.1.ebuild | 14 ++++++++++++++
 app-emulation/dxvk/dxvk-9999.ebuild   | 14 ++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/app-emulation/dxvk/dxvk-1.10.1.ebuild b/app-emulation/dxvk/dxvk-1.10.1.ebuild
index 7d293dd8f8ea..d0bfdb15b8ca 100644
--- a/app-emulation/dxvk/dxvk-1.10.1.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.1.ebuild
@@ -102,6 +102,10 @@ multilib_src_install_all() {
 	find "${ED}" -type f -name '*.a' -delete || die
 }
 
+pkg_preinst() {
+	[[ -e /usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+}
+
 pkg_postinst() {
 	if [[ ! ${REPLACING_VERSIONS} ]]; then
 		elog "To enable ${PN} on a wine prefix, you can run the following command:"
@@ -109,6 +113,16 @@ pkg_postinst() {
 		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
 		elog
 		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+	elif [[ -v DXVK_HAD_OVERLAY ]]; then
+		# temporary warning until this version is more widely used
+		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
+		elog "If you were using symbolic links in wine prefixes it may be necessary to"
+		elog "refresh them by re-running the command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
+		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
 	fi
 
 	# don't try to keep wine-*[vulkan] in RDEPEND, but still give a warning

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 7d293dd8f8ea..d0bfdb15b8ca 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -102,6 +102,10 @@ multilib_src_install_all() {
 	find "${ED}" -type f -name '*.a' -delete || die
 }
 
+pkg_preinst() {
+	[[ -e /usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+}
+
 pkg_postinst() {
 	if [[ ! ${REPLACING_VERSIONS} ]]; then
 		elog "To enable ${PN} on a wine prefix, you can run the following command:"
@@ -109,6 +113,16 @@ pkg_postinst() {
 		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
 		elog
 		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+	elif [[ -v DXVK_HAD_OVERLAY ]]; then
+		# temporary warning until this version is more widely used
+		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
+		elog "If you were using symbolic links in wine prefixes it may be necessary to"
+		elog "refresh them by re-running the command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
+		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
 	fi
 
 	# don't try to keep wine-*[vulkan] in RDEPEND, but still give a warning


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-06-28  7:46 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-06-28  7:46 UTC (permalink / raw
  To: gentoo-commits

commit:     a513b2ee9a1b73cd6a513b37f6a2a54a5f7cb6ef
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 28 07:22:46 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=a513b2ee

app-emulation/dxvk: change bits check method

Unlikely, but old could fail if "amd64=86" is in the environment.

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

 app-emulation/dxvk/dxvk-1.10.1.ebuild | 2 +-
 app-emulation/dxvk/dxvk-9999.ebuild   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-1.10.1.ebuild b/app-emulation/dxvk/dxvk-1.10.1.ebuild
index d0bfdb15b8ca..cf84df747aaa 100644
--- a/app-emulation/dxvk/dxvk-1.10.1.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.1.ebuild
@@ -83,7 +83,7 @@ multilib_src_configure() {
 
 	local emesonargs=(
 		--prefix="${EPREFIX}"/usr/lib/${PN}
-		--{bin,lib}dir=x$((${ABI#x}==86?32:64))
+		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
 		$(meson_use {,enable_}d3d9)
 		$(meson_use {,enable_}d3d10)
 		$(meson_use {,enable_}d3d11)

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index d0bfdb15b8ca..cf84df747aaa 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -83,7 +83,7 @@ multilib_src_configure() {
 
 	local emesonargs=(
 		--prefix="${EPREFIX}"/usr/lib/${PN}
-		--{bin,lib}dir=x$((${ABI#x}==86?32:64))
+		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
 		$(meson_use {,enable_}d3d9)
 		$(meson_use {,enable_}d3d10)
 		$(meson_use {,enable_}d3d11)


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-07-13 14:39 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-07-13 14:39 UTC (permalink / raw
  To: gentoo-commits

commit:     521451bd6a3834a7a190cade2dbb472ce32d18c4
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 13 14:28:50 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jul 13 14:28:50 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=521451bd

app-emulation/dxvk: add 1.10.2

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

 app-emulation/dxvk/Manifest           |   1 +
 app-emulation/dxvk/dxvk-1.10.2.ebuild | 134 ++++++++++++++++++++++++++++++++++
 2 files changed, 135 insertions(+)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index c26971ce4b08..2d6ed76b68c1 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1 +1,2 @@
 DIST dxvk-1.10.1.tar.gz 1188138 BLAKE2B e4c5c5052de3f0976581317b9e6de148735198d2545e961ed4540be8660fbba0bcd30f81a1b55f032a1e00e226993d1ab3e4017b104f2829bf37d2ee4fc4420a SHA512 8fd34d9f14a7013cdc1957f63bf60feb19748fddc1cd6ec40cf271005f636de62965efb42ddf2598dad3e37a4f59a870bf769387b2534db93451d1ea6aa65410
+DIST dxvk-1.10.2.tar.gz 1199562 BLAKE2B 8605d80de3640845589727999da8d19f235eafd52dc693ddfc6a6c54da4525ab5a1418694767395e37cfd84ab55bfd33867cd8608ff2e34965759f68832f55ee SHA512 2a68ececd405e38b6a463637f98c871e53f83c0b232bbf45f08b6b2cac01637eecea90f9337d8ebc600e174a65fe2b10236b1b29afdbd0ad0a9d970a050678a4

diff --git a/app-emulation/dxvk/dxvk-1.10.2.ebuild b/app-emulation/dxvk/dxvk-1.10.2.ebuild
new file mode 100644
index 000000000000..cf84df747aaa
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-1.10.2.ebuild
@@ -0,0 +1,134 @@
+# 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
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+else
+	SRC_URI="https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+LICENSE="ZLIB"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
+REQUIRED_USE="
+	|| ( d3d9 d3d10 d3d11 dxgi )
+	d3d10? ( d3d11 )
+	dxgi? ( d3d11 )"
+
+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 set but ${tool} was not found"
+			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+				eerror "${PN} requires GCC to be built with --enable-threads=posix"
+				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+			fi
+		done
+	fi
+}
+
+src_prepare() {
+	default
+
+	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# AVX has a history of causing issues with this package, disable for safety
+	# https://github.com/Tk-Glitch/PKGBUILDS/issues/515
+	append-flags -mno-avx
+
+	if [[ ${CHOST} != *-mingw* ]]; then
+		[[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+		CHOST_amd64=x86_64-w64-mingw32
+		CHOST_x86=i686-w64-mingw32
+		CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+		strip-unsupported-flags
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+	# unset again so meson eclass will set ${CHOST}-gcc + others
+	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+	local emesonargs=(
+		--prefix="${EPREFIX}"/usr/lib/${PN}
+		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+		$(meson_use {,enable_}d3d9)
+		$(meson_use {,enable_}d3d10)
+		$(meson_use {,enable_}d3d11)
+		$(meson_use {,enable_}dxgi)
+		$(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_dxvk.sh
+	dodoc README.md dxvk.conf
+
+	find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_preinst() {
+	[[ -e /usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+	elif [[ -v DXVK_HAD_OVERLAY ]]; then
+		# temporary warning until this version is more widely used
+		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
+		elog "If you were using symbolic links in wine prefixes it may be necessary to"
+		elog "refresh them by re-running the command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
+		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
+	fi
+
+	# 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] 63+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-07-13 14:44 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-07-13 14:44 UTC (permalink / raw
  To: gentoo-commits

commit:     574537f83d52c1de7a010754d0d22e7a9fd856cd
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 13 14:43:01 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jul 13 14:43:59 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=574537f8

app-emulation/dxvk: use EROOT for old overlay check

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

 app-emulation/dxvk/dxvk-1.10.1.ebuild | 2 +-
 app-emulation/dxvk/dxvk-1.10.2.ebuild | 2 +-
 app-emulation/dxvk/dxvk-9999.ebuild   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-1.10.1.ebuild b/app-emulation/dxvk/dxvk-1.10.1.ebuild
index cf84df747aaa..d260df14098d 100644
--- a/app-emulation/dxvk/dxvk-1.10.1.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.1.ebuild
@@ -103,7 +103,7 @@ multilib_src_install_all() {
 }
 
 pkg_preinst() {
-	[[ -e /usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
 }
 
 pkg_postinst() {

diff --git a/app-emulation/dxvk/dxvk-1.10.2.ebuild b/app-emulation/dxvk/dxvk-1.10.2.ebuild
index cf84df747aaa..d260df14098d 100644
--- a/app-emulation/dxvk/dxvk-1.10.2.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.2.ebuild
@@ -103,7 +103,7 @@ multilib_src_install_all() {
 }
 
 pkg_preinst() {
-	[[ -e /usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
 }
 
 pkg_postinst() {

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index cf84df747aaa..d260df14098d 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -103,7 +103,7 @@ multilib_src_install_all() {
 }
 
 pkg_preinst() {
-	[[ -e /usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
 }
 
 pkg_postinst() {


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-07-16 17:03 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-07-16 17:03 UTC (permalink / raw
  To: gentoo-commits

commit:     346d3aa682588060711493806cd9464bd55291f2
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 16 15:39:52 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=346d3aa6

app-emulation/dxvk: 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/dxvk/dxvk-1.10.1.ebuild | 5 ++++-
 app-emulation/dxvk/dxvk-1.10.2.ebuild | 5 ++++-
 app-emulation/dxvk/dxvk-9999.ebuild   | 5 ++++-
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-1.10.1.ebuild b/app-emulation/dxvk/dxvk-1.10.1.ebuild
index d260df14098d..afc25d76d52c 100644
--- a/app-emulation/dxvk/dxvk-1.10.1.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.1.ebuild
@@ -64,7 +64,10 @@ src_configure() {
 	append-flags -mno-avx
 
 	if [[ ${CHOST} != *-mingw* ]]; then
-		[[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+		if [[ ! -v MINGW_BYPASS ]]; then
+			unset AR CC CXX RC STRIP
+			filter-flags '-fuse-ld=*'
+		fi
 
 		CHOST_amd64=x86_64-w64-mingw32
 		CHOST_x86=i686-w64-mingw32

diff --git a/app-emulation/dxvk/dxvk-1.10.2.ebuild b/app-emulation/dxvk/dxvk-1.10.2.ebuild
index d260df14098d..afc25d76d52c 100644
--- a/app-emulation/dxvk/dxvk-1.10.2.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.2.ebuild
@@ -64,7 +64,10 @@ src_configure() {
 	append-flags -mno-avx
 
 	if [[ ${CHOST} != *-mingw* ]]; then
-		[[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+		if [[ ! -v MINGW_BYPASS ]]; then
+			unset AR CC CXX RC STRIP
+			filter-flags '-fuse-ld=*'
+		fi
 
 		CHOST_amd64=x86_64-w64-mingw32
 		CHOST_x86=i686-w64-mingw32

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index d260df14098d..afc25d76d52c 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -64,7 +64,10 @@ src_configure() {
 	append-flags -mno-avx
 
 	if [[ ${CHOST} != *-mingw* ]]; then
-		[[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+		if [[ ! -v MINGW_BYPASS ]]; then
+			unset AR CC CXX RC STRIP
+			filter-flags '-fuse-ld=*'
+		fi
 
 		CHOST_amd64=x86_64-w64-mingw32
 		CHOST_x86=i686-w64-mingw32


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-08-02 15:37 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-08-02 15:37 UTC (permalink / raw
  To: gentoo-commits

commit:     c7a06ebb79e1e1fd14c330b64c96da0d91ff5069
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  2 15:32:12 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Aug  2 15:37:01 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7a06ebb

app-emulation/dxvk: add 1.10.3

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

 app-emulation/dxvk/Manifest           |   1 +
 app-emulation/dxvk/dxvk-1.10.3.ebuild | 137 ++++++++++++++++++++++++++++++++++
 2 files changed, 138 insertions(+)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index 2d6ed76b68c1..0cdf4e6fd323 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,2 +1,3 @@
 DIST dxvk-1.10.1.tar.gz 1188138 BLAKE2B e4c5c5052de3f0976581317b9e6de148735198d2545e961ed4540be8660fbba0bcd30f81a1b55f032a1e00e226993d1ab3e4017b104f2829bf37d2ee4fc4420a SHA512 8fd34d9f14a7013cdc1957f63bf60feb19748fddc1cd6ec40cf271005f636de62965efb42ddf2598dad3e37a4f59a870bf769387b2534db93451d1ea6aa65410
 DIST dxvk-1.10.2.tar.gz 1199562 BLAKE2B 8605d80de3640845589727999da8d19f235eafd52dc693ddfc6a6c54da4525ab5a1418694767395e37cfd84ab55bfd33867cd8608ff2e34965759f68832f55ee SHA512 2a68ececd405e38b6a463637f98c871e53f83c0b232bbf45f08b6b2cac01637eecea90f9337d8ebc600e174a65fe2b10236b1b29afdbd0ad0a9d970a050678a4
+DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3

diff --git a/app-emulation/dxvk/dxvk-1.10.3.ebuild b/app-emulation/dxvk/dxvk-1.10.3.ebuild
new file mode 100644
index 000000000000..afc25d76d52c
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-1.10.3.ebuild
@@ -0,0 +1,137 @@
+# 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
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+else
+	SRC_URI="https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+LICENSE="ZLIB"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
+REQUIRED_USE="
+	|| ( d3d9 d3d10 d3d11 dxgi )
+	d3d10? ( d3d11 )
+	dxgi? ( d3d11 )"
+
+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 set but ${tool} was not found"
+			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+				eerror "${PN} requires GCC to be built with --enable-threads=posix"
+				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+			fi
+		done
+	fi
+}
+
+src_prepare() {
+	default
+
+	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# AVX has a history of causing issues with this package, disable for safety
+	# https://github.com/Tk-Glitch/PKGBUILDS/issues/515
+	append-flags -mno-avx
+
+	if [[ ${CHOST} != *-mingw* ]]; then
+		if [[ ! -v MINGW_BYPASS ]]; then
+			unset AR CC CXX RC STRIP
+			filter-flags '-fuse-ld=*'
+		fi
+
+		CHOST_amd64=x86_64-w64-mingw32
+		CHOST_x86=i686-w64-mingw32
+		CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+		strip-unsupported-flags
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+	# unset again so meson eclass will set ${CHOST}-gcc + others
+	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+	local emesonargs=(
+		--prefix="${EPREFIX}"/usr/lib/${PN}
+		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+		$(meson_use {,enable_}d3d9)
+		$(meson_use {,enable_}d3d10)
+		$(meson_use {,enable_}d3d11)
+		$(meson_use {,enable_}dxgi)
+		$(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_dxvk.sh
+	dodoc README.md dxvk.conf
+
+	find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_preinst() {
+	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+	elif [[ -v DXVK_HAD_OVERLAY ]]; then
+		# temporary warning until this version is more widely used
+		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
+		elog "If you were using symbolic links in wine prefixes it may be necessary to"
+		elog "refresh them by re-running the command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
+		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
+	fi
+
+	# 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] 63+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-09-01  0:34 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-09-01  0:34 UTC (permalink / raw
  To: gentoo-commits

commit:     8f3294d4ded9d705cca06f962bb174fe82ccbc7f
Author:     Mike Lothian <mike <AT> fireburn <DOT> co <DOT> uk>
AuthorDate: Wed Aug 31 22:12:31 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Sep  1 00:34:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f3294d4

app-emulation/dxvk: Remove test option in 9999

This has been removed upstream

Signed-off-by: Mike Lothian <mike <AT> fireburn.co.uk>
Closes: https://github.com/gentoo/gentoo/pull/27098
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/dxvk/dxvk-9999.ebuild | 1 -
 1 file changed, 1 deletion(-)

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index afc25d76d52c..d670bf41e3f1 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -92,7 +92,6 @@ multilib_src_configure() {
 		$(meson_use {,enable_}d3d11)
 		$(meson_use {,enable_}dxgi)
 		$(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


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-09-14 23:11 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-09-14 23:11 UTC (permalink / raw
  To: gentoo-commits

commit:     c9f015f0066f268d52929b99f0054d754e50dfa4
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 14 22:29:45 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Sep 14 23:10:17 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9f015f0

app-emulation/dxvk: filter ssp for mingw

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

 app-emulation/dxvk/dxvk-1.10.1.ebuild | 1 +
 app-emulation/dxvk/dxvk-1.10.2.ebuild | 1 +
 app-emulation/dxvk/dxvk-1.10.3.ebuild | 1 +
 app-emulation/dxvk/dxvk-9999.ebuild   | 1 +
 4 files changed, 4 insertions(+)

diff --git a/app-emulation/dxvk/dxvk-1.10.1.ebuild b/app-emulation/dxvk/dxvk-1.10.1.ebuild
index afc25d76d52c..396ea6f4c2e6 100644
--- a/app-emulation/dxvk/dxvk-1.10.1.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.1.ebuild
@@ -66,6 +66,7 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP
+			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
 		fi
 

diff --git a/app-emulation/dxvk/dxvk-1.10.2.ebuild b/app-emulation/dxvk/dxvk-1.10.2.ebuild
index afc25d76d52c..396ea6f4c2e6 100644
--- a/app-emulation/dxvk/dxvk-1.10.2.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.2.ebuild
@@ -66,6 +66,7 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP
+			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
 		fi
 

diff --git a/app-emulation/dxvk/dxvk-1.10.3.ebuild b/app-emulation/dxvk/dxvk-1.10.3.ebuild
index afc25d76d52c..396ea6f4c2e6 100644
--- a/app-emulation/dxvk/dxvk-1.10.3.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.3.ebuild
@@ -66,6 +66,7 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP
+			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
 		fi
 

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


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-09-27 23:46 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-09-27 23:46 UTC (permalink / raw
  To: gentoo-commits

commit:     e05b4fc895970372e6aa6e95e188149493a4eed5
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 27 21:17:05 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Sep 27 23:44:16 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e05b4fc8

app-emulation/dxvk: drop 1.10.1, 1.10.2

Unsure how long want to keep old versions for this (like wine it
can be useful to handle regressions), but think patch releases can go.
May keep 1.10.x for longer after 1.11.x

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

 app-emulation/dxvk/Manifest           |   2 -
 app-emulation/dxvk/dxvk-1.10.1.ebuild | 138 ----------------------------------
 app-emulation/dxvk/dxvk-1.10.2.ebuild | 138 ----------------------------------
 3 files changed, 278 deletions(-)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index 0cdf4e6fd323..ed8ac54cc289 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,3 +1 @@
-DIST dxvk-1.10.1.tar.gz 1188138 BLAKE2B e4c5c5052de3f0976581317b9e6de148735198d2545e961ed4540be8660fbba0bcd30f81a1b55f032a1e00e226993d1ab3e4017b104f2829bf37d2ee4fc4420a SHA512 8fd34d9f14a7013cdc1957f63bf60feb19748fddc1cd6ec40cf271005f636de62965efb42ddf2598dad3e37a4f59a870bf769387b2534db93451d1ea6aa65410
-DIST dxvk-1.10.2.tar.gz 1199562 BLAKE2B 8605d80de3640845589727999da8d19f235eafd52dc693ddfc6a6c54da4525ab5a1418694767395e37cfd84ab55bfd33867cd8608ff2e34965759f68832f55ee SHA512 2a68ececd405e38b6a463637f98c871e53f83c0b232bbf45f08b6b2cac01637eecea90f9337d8ebc600e174a65fe2b10236b1b29afdbd0ad0a9d970a050678a4
 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3

diff --git a/app-emulation/dxvk/dxvk-1.10.1.ebuild b/app-emulation/dxvk/dxvk-1.10.1.ebuild
deleted file mode 100644
index 396ea6f4c2e6..000000000000
--- a/app-emulation/dxvk/dxvk-1.10.1.ebuild
+++ /dev/null
@@ -1,138 +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
-
-if [[ ${PV} == 9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
-else
-	SRC_URI="https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="-* ~amd64 ~x86"
-fi
-
-DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
-HOMEPAGE="https://github.com/doitsujin/dxvk/"
-
-LICENSE="ZLIB"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
-REQUIRED_USE="
-	|| ( d3d9 d3d10 d3d11 dxgi )
-	d3d10? ( d3d11 )
-	dxgi? ( d3d11 )"
-
-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 set but ${tool} was not found"
-			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
-				eerror "${PN} requires GCC to be built with --enable-threads=posix"
-				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
-				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
-			fi
-		done
-	fi
-}
-
-src_prepare() {
-	default
-
-	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
-}
-
-src_configure() {
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# AVX has a history of causing issues with this package, disable for safety
-	# https://github.com/Tk-Glitch/PKGBUILDS/issues/515
-	append-flags -mno-avx
-
-	if [[ ${CHOST} != *-mingw* ]]; then
-		if [[ ! -v MINGW_BYPASS ]]; then
-			unset AR CC CXX RC STRIP
-			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})
-
-		strip-unsupported-flags
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
-	# unset again so meson eclass will set ${CHOST}-gcc + others
-	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
-
-	local emesonargs=(
-		--prefix="${EPREFIX}"/usr/lib/${PN}
-		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
-		$(meson_use {,enable_}d3d9)
-		$(meson_use {,enable_}d3d10)
-		$(meson_use {,enable_}d3d11)
-		$(meson_use {,enable_}dxgi)
-		$(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_dxvk.sh
-	dodoc README.md dxvk.conf
-
-	find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_preinst() {
-	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
-}
-
-pkg_postinst() {
-	if [[ ! ${REPLACING_VERSIONS} ]]; then
-		elog "To enable ${PN} on a wine prefix, you can run the following command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
-	elif [[ -v DXVK_HAD_OVERLAY ]]; then
-		# temporary warning until this version is more widely used
-		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
-		elog "If you were using symbolic links in wine prefixes it may be necessary to"
-		elog "refresh them by re-running the command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
-		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
-	fi
-
-	# 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/dxvk/dxvk-1.10.2.ebuild b/app-emulation/dxvk/dxvk-1.10.2.ebuild
deleted file mode 100644
index 396ea6f4c2e6..000000000000
--- a/app-emulation/dxvk/dxvk-1.10.2.ebuild
+++ /dev/null
@@ -1,138 +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
-
-if [[ ${PV} == 9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
-else
-	SRC_URI="https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="-* ~amd64 ~x86"
-fi
-
-DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
-HOMEPAGE="https://github.com/doitsujin/dxvk/"
-
-LICENSE="ZLIB"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
-REQUIRED_USE="
-	|| ( d3d9 d3d10 d3d11 dxgi )
-	d3d10? ( d3d11 )
-	dxgi? ( d3d11 )"
-
-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 set but ${tool} was not found"
-			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
-				eerror "${PN} requires GCC to be built with --enable-threads=posix"
-				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
-				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
-			fi
-		done
-	fi
-}
-
-src_prepare() {
-	default
-
-	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
-}
-
-src_configure() {
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# AVX has a history of causing issues with this package, disable for safety
-	# https://github.com/Tk-Glitch/PKGBUILDS/issues/515
-	append-flags -mno-avx
-
-	if [[ ${CHOST} != *-mingw* ]]; then
-		if [[ ! -v MINGW_BYPASS ]]; then
-			unset AR CC CXX RC STRIP
-			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})
-
-		strip-unsupported-flags
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
-	# unset again so meson eclass will set ${CHOST}-gcc + others
-	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
-
-	local emesonargs=(
-		--prefix="${EPREFIX}"/usr/lib/${PN}
-		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
-		$(meson_use {,enable_}d3d9)
-		$(meson_use {,enable_}d3d10)
-		$(meson_use {,enable_}d3d11)
-		$(meson_use {,enable_}dxgi)
-		$(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_dxvk.sh
-	dodoc README.md dxvk.conf
-
-	find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_preinst() {
-	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
-}
-
-pkg_postinst() {
-	if [[ ! ${REPLACING_VERSIONS} ]]; then
-		elog "To enable ${PN} on a wine prefix, you can run the following command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
-	elif [[ -v DXVK_HAD_OVERLAY ]]; then
-		# temporary warning until this version is more widely used
-		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
-		elog "If you were using symbolic links in wine prefixes it may be necessary to"
-		elog "refresh them by re-running the command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
-		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
-	fi
-
-	# 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] 63+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-10-23  7:20 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-10-23  7:20 UTC (permalink / raw
  To: gentoo-commits

commit:     a2ba01a42b0e5f60c3b1d53716c0542998f71869
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 23 07:14:55 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=a2ba01a4

app-emulation/dxvk: filter -fstack-clash-protection

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

 app-emulation/dxvk/dxvk-1.10.3.ebuild | 1 +
 app-emulation/dxvk/dxvk-9999.ebuild   | 1 +
 2 files changed, 2 insertions(+)

diff --git a/app-emulation/dxvk/dxvk-1.10.3.ebuild b/app-emulation/dxvk/dxvk-1.10.3.ebuild
index 396ea6f4c2e6..407ca7d61bd2 100644
--- a/app-emulation/dxvk/dxvk-1.10.3.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.3.ebuild
@@ -66,6 +66,7 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP
+			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
 		fi

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 5bb629139707..2c39ee644ea2 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -66,6 +66,7 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP
+			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-fuse-ld=*'
 		fi


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-10-31  0:54 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-10-31  0:54 UTC (permalink / raw
  To: gentoo-commits

commit:     3342df6a39cb8944fcc01e5083de49a406d39b9c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 31 00:39:36 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=3342df6a

app-emulation/dxvk: 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/dxvk/dxvk-1.10.3.ebuild | 1 +
 app-emulation/dxvk/dxvk-9999.ebuild   | 1 +
 2 files changed, 2 insertions(+)

diff --git a/app-emulation/dxvk/dxvk-1.10.3.ebuild b/app-emulation/dxvk/dxvk-1.10.3.ebuild
index 407ca7d61bd2..bed7e219a145 100644
--- a/app-emulation/dxvk/dxvk-1.10.3.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.3.ebuild
@@ -69,6 +69,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/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 2c39ee644ea2..b2fd8989698f 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -69,6 +69,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] 63+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-11-10 23:50 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-11-10 23:50 UTC (permalink / raw
  To: gentoo-commits

commit:     9eb148c71944e08ae4b60034f7f04a4d4561cf8c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 10 23:20:17 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=9eb148c7

app-emulation/dxvk: add 2.0

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

 app-emulation/dxvk/Manifest        |   3 +
 app-emulation/dxvk/dxvk-2.0.ebuild | 156 +++++++++++++++++++++++++++++++++++++
 2 files changed, 159 insertions(+)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index ed8ac54cc289..cb5fcb265509 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1 +1,4 @@
 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
+DIST dxvk-2.0.tar.gz 943397 BLAKE2B 7d59050e8ac3f9be311d11323cc0057d84c3b730360fe9e064ff4a5e2db5bffea5bae3214da366c60295ec5f1577ab08e2776274c9aaff7a7de1b9f2cefa836a SHA512 98537bdec2b5e4f2ead5b93ab49db717e0706fe771a82a6ef1e5b5792c1bdd3f417cd6b6b2deadb1397b8a0740445fa88b9fb6c1f73510cc5c0e7ae35d65bcac
+DIST dxvk-spirv-headers-0bcc624926.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c
+DIST dxvk-vulkan-headers-98f440ce68.tar.gz 1691979 BLAKE2B bf6fd288f16df7adcb5cebeb6e13713db1c26a0b833dead2fb522227861abc60b2d0cda8e3f46f8e89cccb629e01081ba27763989ad6fd336c60a475b198c1c8 SHA512 69238d37d0af0162e0fd68094cd2fa9baa320497d34a9de491dea086c23291d0815b51e89218b1f0ee2b3314cbc8ac1809d6edb15ca51fcb282fe1e2b39a1a77

diff --git a/app-emulation/dxvk/dxvk-2.0.ebuild b/app-emulation/dxvk/dxvk-2.0.ebuild
new file mode 100644
index 000000000000..19174e20a451
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-2.0.ebuild
@@ -0,0 +1,156 @@
+# 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
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+	EGIT_SUBMODULES=(
+		# picky about headers and is cross-compiled making -I/usr/include troublesome
+		include/{spirv,vulkan}
+	)
+else
+	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
+	HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
+	SRC_URI="
+		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz -> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
+		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz -> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+LICENSE="ZLIB Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
+REQUIRED_USE="
+	|| ( d3d9 d3d10 d3d11 dxgi )
+	d3d10? ( d3d11 )
+	dxgi? ( d3d11 )"
+
+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 set but ${tool} was not found"
+			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+				eerror "${PN} requires GCC to be built with --enable-threads=posix"
+				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+			fi
+		done
+	fi
+}
+
+src_prepare() {
+	if [[ ${PV} != 9999 ]]; then
+		rmdir include/{spirv,vulkan} || die
+		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+	fi
+
+	default
+
+	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# AVX has a history of causing issues with this package, disable for safety
+	# https://github.com/Tk-Glitch/PKGBUILDS/issues/515
+	append-flags -mno-avx
+
+	if [[ ${CHOST} != *-mingw* ]]; then
+		if [[ ! -v MINGW_BYPASS ]]; then
+			unset AR CC CXX RC STRIP
+			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})
+
+		strip-unsupported-flags
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+	# unset again so meson eclass will set ${CHOST}-gcc + others
+	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+	local emesonargs=(
+		--prefix="${EPREFIX}"/usr/lib/${PN}
+		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+		$(meson_use {,enable_}d3d9)
+		$(meson_use {,enable_}d3d10)
+		$(meson_use {,enable_}d3d11)
+		$(meson_use {,enable_}dxgi)
+		$(usev !debug --strip) # portage won't strip .dll, so allow it here
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install_all() {
+	dobin setup_dxvk.sh
+	dodoc README.md dxvk.conf
+
+	find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_preinst() {
+	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+	elif [[ -v DXVK_HAD_OVERLAY ]]; then
+		# temporary warning until this version is more widely used
+		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
+		elog "If you were using symbolic links in wine prefixes it may be necessary to"
+		elog "refresh them by re-running the command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
+		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
+	fi
+
+	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+		ver_test ${REPLACING_VERSIONS##* } -lt 2.0
+	then
+		elog
+		elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
+		elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
+		elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-11-10 23:50 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-11-10 23:50 UTC (permalink / raw
  To: gentoo-commits

commit:     d49c022578012b5486a7ceee9a4823083f10650a
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 10 23:30: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=d49c0225

app-emulation/dxvk: sync live

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

 app-emulation/dxvk/dxvk-9999.ebuild | 33 +++++++++++++++++++++++++--------
 1 file changed, 25 insertions(+), 8 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index b2fd8989698f..19174e20a451 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -9,15 +9,24 @@ inherit flag-o-matic meson-multilib
 if [[ ${PV} == 9999 ]]; then
 	inherit git-r3
 	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+	EGIT_SUBMODULES=(
+		# picky about headers and is cross-compiled making -I/usr/include troublesome
+		include/{spirv,vulkan}
+	)
 else
-	SRC_URI="https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
+	HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
+	SRC_URI="
+		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz -> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
+		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz -> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
 	KEYWORDS="-* ~amd64 ~x86"
 fi
 
 DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
 HOMEPAGE="https://github.com/doitsujin/dxvk/"
 
-LICENSE="ZLIB"
+LICENSE="ZLIB Apache-2.0 MIT"
 SLOT="0"
 IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
 REQUIRED_USE="
@@ -51,6 +60,12 @@ pkg_pretend() {
 }
 
 src_prepare() {
+	if [[ ${PV} != 9999 ]]; then
+		rmdir include/{spirv,vulkan} || die
+		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+	fi
+
 	default
 
 	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
@@ -130,10 +145,12 @@ pkg_postinst() {
 		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
 	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
+	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+		ver_test ${REPLACING_VERSIONS##* } -lt 2.0
+	then
+		elog
+		elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
+		elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
+		elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
+	fi
 }


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-11-10 23:50 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-11-10 23:50 UTC (permalink / raw
  To: gentoo-commits

commit:     35245a310560ca4f4d8b244624a82295838ffc58
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 10 23:36:51 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=35245a31

app-emulation/dxvk: cleanup wine check in old too

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/dxvk/dxvk-1.10.3.ebuild | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-1.10.3.ebuild b/app-emulation/dxvk/dxvk-1.10.3.ebuild
index bed7e219a145..e69d7600dc0b 100644
--- a/app-emulation/dxvk/dxvk-1.10.3.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.3.ebuild
@@ -130,11 +130,4 @@ pkg_postinst() {
 		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
 		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
 	fi
-
-	# 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] 63+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-11-29 12:13 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-11-29 12:13 UTC (permalink / raw
  To: gentoo-commits

commit:     e2f4a3f59827dbb84f7935ddbe170e7ed5947462
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 29 12:01:46 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Nov 29 12:13:18 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2f4a3f5

app-emulation/dxvk: update live

Roughly anyway, this will need more attention.

Ideally hoping upstream will provide some better options than raw
instructions to the removed setup_dxvk.sh, or may have to make our
own one given this is rather annoying to handle manually.

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

 app-emulation/dxvk/dxvk-9999.ebuild | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 19174e20a451..167b7c5d6901 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -12,14 +12,18 @@ if [[ ${PV} == 9999 ]]; then
 	EGIT_SUBMODULES=(
 		# picky about headers and is cross-compiled making -I/usr/include troublesome
 		include/{spirv,vulkan}
+		subprojects/libdisplay-info
 	)
 else
 	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
 	HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
 	SRC_URI="
-		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
-		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz -> ${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"
+		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
+			-> ${P}.tar.gz
+		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+			-> ${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
 
@@ -67,8 +71,6 @@ src_prepare() {
 	fi
 
 	default
-
-	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
 }
 
 src_configure() {
@@ -116,7 +118,6 @@ multilib_src_configure() {
 }
 
 multilib_src_install_all() {
-	dobin setup_dxvk.sh
 	dodoc README.md dxvk.conf
 
 	find "${ED}" -type f -name '*.a' -delete || die
@@ -127,13 +128,15 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-	if [[ ! ${REPLACING_VERSIONS} ]]; then
-		elog "To enable ${PN} on a wine prefix, you can run the following command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
-	elif [[ -v DXVK_HAD_OVERLAY ]]; then
+	# TODO: setup_dxvk.sh script was removed, need to figure out a new way to
+	# explain/handle (leaving this alone for now in live in case gets restored)
+#	if [[ ! ${REPLACING_VERSIONS} ]]; then
+#		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+#		elog
+#		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+#		elog
+#		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+	if [[ -v DXVK_HAD_OVERLAY ]]; then
 		# temporary warning until this version is more widely used
 		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
 		elog "If you were using symbolic links in wine prefixes it may be necessary to"


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-11-29 13:25 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-11-29 13:25 UTC (permalink / raw
  To: gentoo-commits

commit:     56a38a5d1550f50b24ec853d3c6a7b088e4e2597
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 29 13:09:35 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Nov 29 13:24:56 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56a38a5d

app-emulation/dxvk: temporarily restore setup_dxvk.sh

Better than nothing until come up with a solution.

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

 app-emulation/dxvk/Manifest         |  1 +
 app-emulation/dxvk/dxvk-9999.ebuild | 24 +++++++++++++++---------
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index cb5fcb265509..927801e2e7ad 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -2,3 +2,4 @@ DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d
 DIST dxvk-2.0.tar.gz 943397 BLAKE2B 7d59050e8ac3f9be311d11323cc0057d84c3b730360fe9e064ff4a5e2db5bffea5bae3214da366c60295ec5f1577ab08e2776274c9aaff7a7de1b9f2cefa836a SHA512 98537bdec2b5e4f2ead5b93ab49db717e0706fe771a82a6ef1e5b5792c1bdd3f417cd6b6b2deadb1397b8a0740445fa88b9fb6c1f73510cc5c0e7ae35d65bcac
 DIST dxvk-spirv-headers-0bcc624926.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c
 DIST dxvk-vulkan-headers-98f440ce68.tar.gz 1691979 BLAKE2B bf6fd288f16df7adcb5cebeb6e13713db1c26a0b833dead2fb522227861abc60b2d0cda8e3f46f8e89cccb629e01081ba27763989ad6fd336c60a475b198c1c8 SHA512 69238d37d0af0162e0fd68094cd2fa9baa320497d34a9de491dea086c23291d0815b51e89218b1f0ee2b3314cbc8ac1809d6edb15ca51fcb282fe1e2b39a1a77
+DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 167b7c5d6901..8f2c2de55196 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -26,6 +26,8 @@ else
 			-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
 	KEYWORDS="-* ~amd64 ~x86"
 fi
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
 
 DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
 HOMEPAGE="https://github.com/doitsujin/dxvk/"
@@ -71,6 +73,9 @@ src_prepare() {
 	fi
 
 	default
+
+	sed "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" \
+		"${DISTDIR}"/setup_dxvk.sh > setup_dxvk.sh || die
 }
 
 src_configure() {
@@ -118,6 +123,7 @@ multilib_src_configure() {
 }
 
 multilib_src_install_all() {
+	dobin setup_dxvk.sh
 	dodoc README.md dxvk.conf
 
 	find "${ED}" -type f -name '*.a' -delete || die
@@ -128,15 +134,15 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-	# TODO: setup_dxvk.sh script was removed, need to figure out a new way to
-	# explain/handle (leaving this alone for now in live in case gets restored)
-#	if [[ ! ${REPLACING_VERSIONS} ]]; then
-#		elog "To enable ${PN} on a wine prefix, you can run the following command:"
-#		elog
-#		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-#		elog
-#		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
-	if [[ -v DXVK_HAD_OVERLAY ]]; then
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
+		elog "removed upstream, handling may change in the future."
+	elif [[ -v DXVK_HAD_OVERLAY ]]; then
 		# temporary warning until this version is more widely used
 		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
 		elog "If you were using symbolic links in wine prefixes it may be necessary to"


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-11-29 15:02 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-11-29 15:02 UTC (permalink / raw
  To: gentoo-commits

commit:     73d9edf632bb8d29e7c58259cfe44f99add80052
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 29 14:59:17 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Nov 29 15:02:15 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73d9edf6

app-emulation/dxvk: update live required use

meson logic was shifted around, standalone dxgi builds
are now possible dxgi option is required for d3d11

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

 app-emulation/dxvk/dxvk-9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 8f2c2de55196..9b78cd87364a 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -38,7 +38,7 @@ IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
 REQUIRED_USE="
 	|| ( d3d9 d3d10 d3d11 dxgi )
 	d3d10? ( d3d11 )
-	dxgi? ( d3d11 )"
+	d3d11? ( dxgi )"
 
 BDEPEND="
 	dev-util/glslang


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-12-14 16:56 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-12-14 16:56 UTC (permalink / raw
  To: gentoo-commits

commit:     04368a060fdc98999f60c8027f9a5545ee3f998f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 14 16:45:08 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Dec 14 16:56:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04368a06

app-emulation/dxvk: backport req use from live

But keep the old too because lacks the meson rules changes from 9999

Aka need:
    1.10.3  -> dxgi? ( d3d11 )
    9999    -> d3d11? ( dxgi )
    2.0     -> d3d11? ( dxgi ) dxgi? ( d3d11 )

But realistically nobody disables any of these either way,
at best it just saves on build time.

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

 app-emulation/dxvk/dxvk-2.0.ebuild | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app-emulation/dxvk/dxvk-2.0.ebuild b/app-emulation/dxvk/dxvk-2.0.ebuild
index 918fbe56bad5..4511ec137b34 100644
--- a/app-emulation/dxvk/dxvk-2.0.ebuild
+++ b/app-emulation/dxvk/dxvk-2.0.ebuild
@@ -35,6 +35,7 @@ IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
 REQUIRED_USE="
 	|| ( d3d9 d3d10 d3d11 dxgi )
 	d3d10? ( d3d11 )
+	d3d11? ( dxgi )
 	dxgi? ( d3d11 )"
 
 BDEPEND="


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2022-12-15 21:32 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2022-12-15 21:32 UTC (permalink / raw
  To: gentoo-commits

commit:     7b2326da911f56f21288ba266380821a2f921309
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 15 21:30:41 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Dec 15 21:30:41 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7b2326da

app-emulation/dxvk: add ebuild comment about keeping <2.0

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

 app-emulation/dxvk/dxvk-1.10.3.ebuild | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/app-emulation/dxvk/dxvk-1.10.3.ebuild b/app-emulation/dxvk/dxvk-1.10.3.ebuild
index ec69c80ad8fa..0f86f1f04e95 100644
--- a/app-emulation/dxvk/dxvk-1.10.3.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.3.ebuild
@@ -3,6 +3,9 @@
 
 EAPI=8
 
+# note: version <2.0 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
 


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-01-24 21:40 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2023-01-24 21:40 UTC (permalink / raw
  To: gentoo-commits

commit:     b0a45ed223b06da415e21023b4d44b954810e730
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 24 21:00:52 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Jan 24 21:38:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0a45ed2

app-emulation/dxvk: add 2.1

python is used by libdisplay-info at build time

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

 app-emulation/dxvk/Manifest        |   2 +
 app-emulation/dxvk/dxvk-2.1.ebuild | 171 +++++++++++++++++++++++++++++++++++++
 2 files changed, 173 insertions(+)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index 927801e2e7ad..33679295b714 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,5 +1,7 @@
 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
 DIST dxvk-2.0.tar.gz 943397 BLAKE2B 7d59050e8ac3f9be311d11323cc0057d84c3b730360fe9e064ff4a5e2db5bffea5bae3214da366c60295ec5f1577ab08e2776274c9aaff7a7de1b9f2cefa836a SHA512 98537bdec2b5e4f2ead5b93ab49db717e0706fe771a82a6ef1e5b5792c1bdd3f417cd6b6b2deadb1397b8a0740445fa88b9fb6c1f73510cc5c0e7ae35d65bcac
+DIST dxvk-2.1.tar.gz 960078 BLAKE2B ad8ea7eb000237914d9116a8fbfde13fde3dc00d428ebfe41aacb9373c6509112545ef1942b4cbc96a18338c3d07c2c494d0454236721e220ee5f5731a5c27b9 SHA512 10d919ba2612f665a20f7c72605967adeea94d8414bee45878f9df42ad263fa5ebfc7a76319173dce054ffe9b9cdc919ff7a136042f3f4e64142844c943bdef7
+DIST dxvk-libdisplay-info-d39344f466.tar.bz2 81232 BLAKE2B af76ccd3c40bc953008bc30d222c72f90bdc77f47f767b6e7423efaa0ec89d746396a755160b5470e219a15a0aa392be6066aab12921b45a1adb35d88132cd97 SHA512 79b4bf325cefc39bc587233bd82ff64c927ca5f829b8172d213c3d47af725c8dc7fe33576a8e96a869075ee2a8f00d165f3aa9e6c472e862a47e5c800b2b3315
 DIST dxvk-spirv-headers-0bcc624926.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c
 DIST dxvk-vulkan-headers-98f440ce68.tar.gz 1691979 BLAKE2B bf6fd288f16df7adcb5cebeb6e13713db1c26a0b833dead2fb522227861abc60b2d0cda8e3f46f8e89cccb629e01081ba27763989ad6fd336c60a475b198c1c8 SHA512 69238d37d0af0162e0fd68094cd2fa9baa320497d34a9de491dea086c23291d0815b51e89218b1f0ee2b3314cbc8ac1809d6edb15ca51fcb282fe1e2b39a1a77
 DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121

diff --git a/app-emulation/dxvk/dxvk-2.1.ebuild b/app-emulation/dxvk/dxvk-2.1.ebuild
new file mode 100644
index 000000000000..7b1ccff1d6f4
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-2.1.ebuild
@@ -0,0 +1,171 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+	EGIT_SUBMODULES=(
+		# picky about headers and is cross-compiled making -I/usr/include troublesome
+		include/{spirv,vulkan}
+		subprojects/libdisplay-info
+	)
+else
+	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
+	HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
+	HASH_DISPLAYINFO=d39344f466caae0495ebac4d49b03a886d83ba3a
+	SRC_URI="
+		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
+			-> ${P}.tar.gz
+		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+			-> ${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
+		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+LICENSE="ZLIB Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
+REQUIRED_USE="
+	|| ( d3d9 d3d10 d3d11 dxgi )
+	d3d10? ( d3d11 )
+	d3d11? ( dxgi )"
+
+BDEPEND="
+	${PYTHON_DEPS}
+	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 set but ${tool} was not found"
+			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+				eerror "${PN} requires GCC to be built with --enable-threads=posix"
+				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+			fi
+		done
+	fi
+}
+
+src_prepare() {
+	if [[ ${PV} != 9999 ]]; then
+		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
+		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
+	fi
+
+	default
+
+	sed "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" \
+		"${DISTDIR}"/setup_dxvk.sh > setup_dxvk.sh || die
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# AVX has a history of causing issues with this package, disable for safety
+	# https://bugs.winehq.org/show_bug.cgi?id=43516
+	# https://bugs.winehq.org/show_bug.cgi?id=45289
+	append-flags -mno-avx
+
+	if [[ ${CHOST} != *-mingw* ]]; then
+		if [[ ! -v MINGW_BYPASS ]]; then
+			unset AR CC CXX RC STRIP
+			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})
+
+		strip-unsupported-flags
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+	# unset again so meson eclass will set ${CHOST}-gcc + others
+	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+	local emesonargs=(
+		--prefix="${EPREFIX}"/usr/lib/${PN}
+		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+		$(meson_use {,enable_}d3d9)
+		$(meson_use {,enable_}d3d10)
+		$(meson_use {,enable_}d3d11)
+		$(meson_use {,enable_}dxgi)
+		$(usev !debug --strip) # portage won't strip .dll, so allow it here
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install_all() {
+	dobin setup_dxvk.sh
+	dodoc README.md dxvk.conf
+
+	find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_preinst() {
+	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
+		elog "removed upstream, handling may change in the future."
+	elif [[ -v DXVK_HAD_OVERLAY ]]; then
+		# temporary warning until this version is more widely used
+		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
+		elog "If you were using symbolic links in wine prefixes it may be necessary to"
+		elog "refresh them by re-running the command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
+		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
+	fi
+
+	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+		ver_test ${REPLACING_VERSIONS##* } -lt 2.0
+	then
+		elog
+		elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
+		elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
+		elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-01-24 21:40 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2023-01-24 21:40 UTC (permalink / raw
  To: gentoo-commits

commit:     197d625a5ae3b8d9745146b795c10db4aa5f2196
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 24 21:37:32 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Jan 24 21:38:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=197d625a

app-emulation/dxvk: sync live

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

 app-emulation/dxvk/dxvk-9999.ebuild | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 9b78cd87364a..7b1ccff1d6f4 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -1,10 +1,11 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
 
+PYTHON_COMPAT=( python3_{9..11} )
 MULTILIB_COMPAT=( abi_x86_{32,64} )
-inherit flag-o-matic meson-multilib
+inherit flag-o-matic meson-multilib python-any-r1
 
 if [[ ${PV} == 9999 ]]; then
 	inherit git-r3
@@ -17,13 +18,15 @@ if [[ ${PV} == 9999 ]]; then
 else
 	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
 	HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
+	HASH_DISPLAYINFO=d39344f466caae0495ebac4d49b03a886d83ba3a
 	SRC_URI="
 		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
 			-> ${P}.tar.gz
 		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
 			-> ${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"
+			-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz
+		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
 	KEYWORDS="-* ~amd64 ~x86"
 fi
 # setup_dxvk.sh is no longer provided, fetch old until a better solution
@@ -41,6 +44,7 @@ REQUIRED_USE="
 	d3d11? ( dxgi )"
 
 BDEPEND="
+	${PYTHON_DEPS}
 	dev-util/glslang
 	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
 
@@ -67,9 +71,10 @@ pkg_pretend() {
 
 src_prepare() {
 	if [[ ${PV} != 9999 ]]; then
-		rmdir include/{spirv,vulkan} || die
+		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
 		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
 		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
 	fi
 
 	default
@@ -82,7 +87,8 @@ src_configure() {
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
 	# AVX has a history of causing issues with this package, disable for safety
-	# https://github.com/Tk-Glitch/PKGBUILDS/issues/515
+	# https://bugs.winehq.org/show_bug.cgi?id=43516
+	# https://bugs.winehq.org/show_bug.cgi?id=45289
 	append-flags -mno-avx
 
 	if [[ ${CHOST} != *-mingw* ]]; then


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-02-13 11:46 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2023-02-13 11:46 UTC (permalink / raw
  To: gentoo-commits

commit:     399ab926e93438cc9d518cab15dde3ba8c7f4c30
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 13 11:10:53 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Feb 13 11:32:46 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=399ab926

app-emulation/dxvk: stabilize 2.1 for amd64, x86

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

 app-emulation/dxvk/dxvk-2.1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/dxvk/dxvk-2.1.ebuild b/app-emulation/dxvk/dxvk-2.1.ebuild
index 7b1ccff1d6f4..e807643ef746 100644
--- a/app-emulation/dxvk/dxvk-2.1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.1.ebuild
@@ -27,7 +27,7 @@ else
 		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
 			-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz
 		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
-	KEYWORDS="-* ~amd64 ~x86"
+	KEYWORDS="-* amd64 x86"
 fi
 # setup_dxvk.sh is no longer provided, fetch old until a better solution
 SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-04-17 20:44 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2023-04-17 20:44 UTC (permalink / raw
  To: gentoo-commits

commit:     8b457c304fde2595d79cf4c31c3776f1c636079c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 17 19:23:49 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Apr 17 20:41:06 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b457c30

app-emulation/dxvk: add 2.1_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 dxvk release.

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

 app-emulation/dxvk/Manifest                  |   1 +
 app-emulation/dxvk/dxvk-2.1_p20230207.ebuild | 173 +++++++++++++++++++++++++++
 2 files changed, 174 insertions(+)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index 33679295b714..98ad594e85d9 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,6 +1,7 @@
 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
 DIST dxvk-2.0.tar.gz 943397 BLAKE2B 7d59050e8ac3f9be311d11323cc0057d84c3b730360fe9e064ff4a5e2db5bffea5bae3214da366c60295ec5f1577ab08e2776274c9aaff7a7de1b9f2cefa836a SHA512 98537bdec2b5e4f2ead5b93ab49db717e0706fe771a82a6ef1e5b5792c1bdd3f417cd6b6b2deadb1397b8a0740445fa88b9fb6c1f73510cc5c0e7ae35d65bcac
 DIST dxvk-2.1.tar.gz 960078 BLAKE2B ad8ea7eb000237914d9116a8fbfde13fde3dc00d428ebfe41aacb9373c6509112545ef1942b4cbc96a18338c3d07c2c494d0454236721e220ee5f5731a5c27b9 SHA512 10d919ba2612f665a20f7c72605967adeea94d8414bee45878f9df42ad263fa5ebfc7a76319173dce054ffe9b9cdc919ff7a136042f3f4e64142844c943bdef7
+DIST dxvk-caf31033d7.tar.gz 961317 BLAKE2B 2686ed36c00325dfbe0351f6c8e3f6787f4568ee8baa73fa51e8e743f4f8f47174fd309d13de2fba6ea1d8496aaba6976bfba02685d2eeaa17cb9cc019620f5e SHA512 e8b9939d5de2642f445cead2d8168b02b05ee18dbb1b5dc89b5abd285cf75a9a229026e482b665b322baab0b82c2ccba9c23ead0f1c6e5f9d1cbfa60307d39ea
 DIST dxvk-libdisplay-info-d39344f466.tar.bz2 81232 BLAKE2B af76ccd3c40bc953008bc30d222c72f90bdc77f47f767b6e7423efaa0ec89d746396a755160b5470e219a15a0aa392be6066aab12921b45a1adb35d88132cd97 SHA512 79b4bf325cefc39bc587233bd82ff64c927ca5f829b8172d213c3d47af725c8dc7fe33576a8e96a869075ee2a8f00d165f3aa9e6c472e862a47e5c800b2b3315
 DIST dxvk-spirv-headers-0bcc624926.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c
 DIST dxvk-vulkan-headers-98f440ce68.tar.gz 1691979 BLAKE2B bf6fd288f16df7adcb5cebeb6e13713db1c26a0b833dead2fb522227861abc60b2d0cda8e3f46f8e89cccb629e01081ba27763989ad6fd336c60a475b198c1c8 SHA512 69238d37d0af0162e0fd68094cd2fa9baa320497d34a9de491dea086c23291d0815b51e89218b1f0ee2b3314cbc8ac1809d6edb15ca51fcb282fe1e2b39a1a77

diff --git a/app-emulation/dxvk/dxvk-2.1_p20230207.ebuild b/app-emulation/dxvk/dxvk-2.1_p20230207.ebuild
new file mode 100644
index 000000000000..8f164958b449
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-2.1_p20230207.ebuild
@@ -0,0 +1,173 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+	EGIT_SUBMODULES=(
+		# picky about headers and is cross-compiled making -I/usr/include troublesome
+		include/{spirv,vulkan}
+		subprojects/libdisplay-info
+	)
+else
+	HASH_DXVK=caf31033d711460e86781b16a4d9b0f41fa9e817 # matches proton-8.0.1c
+	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
+	HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
+	HASH_DISPLAYINFO=d39344f466caae0495ebac4d49b03a886d83ba3a
+	SRC_URI="
+		https://github.com/doitsujin/dxvk/archive/${HASH_DXVK}.tar.gz
+			-> ${PN}-${HASH_DXVK::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
+		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
+	S="${WORKDIR}/${PN}-${HASH_DXVK}"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+LICENSE="ZLIB Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
+REQUIRED_USE="
+	|| ( d3d9 d3d10 d3d11 dxgi )
+	d3d10? ( d3d11 )
+	d3d11? ( dxgi )"
+
+BDEPEND="
+	${PYTHON_DEPS}
+	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 set but ${tool} was not found"
+			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+				eerror "${PN} requires GCC to be built with --enable-threads=posix"
+				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+			fi
+		done
+	fi
+}
+
+src_prepare() {
+	if [[ ${PV} != 9999 ]]; then
+		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
+		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
+	fi
+
+	default
+
+	sed "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" \
+		"${DISTDIR}"/setup_dxvk.sh > setup_dxvk.sh || die
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# AVX has a history of causing issues with this package, disable for safety
+	# https://bugs.winehq.org/show_bug.cgi?id=43516
+	# https://bugs.winehq.org/show_bug.cgi?id=45289
+	append-flags -mno-avx
+
+	if [[ ${CHOST} != *-mingw* ]]; then
+		if [[ ! -v MINGW_BYPASS ]]; then
+			unset AR CC CXX RC STRIP
+			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})
+
+		strip-unsupported-flags
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+	# unset again so meson eclass will set ${CHOST}-gcc + others
+	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+	local emesonargs=(
+		--prefix="${EPREFIX}"/usr/lib/${PN}
+		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+		$(meson_use {,enable_}d3d9)
+		$(meson_use {,enable_}d3d10)
+		$(meson_use {,enable_}d3d11)
+		$(meson_use {,enable_}dxgi)
+		$(usev !debug --strip) # portage won't strip .dll, so allow it here
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install_all() {
+	dobin setup_dxvk.sh
+	dodoc README.md dxvk.conf
+
+	find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_preinst() {
+	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
+		elog "removed upstream, handling may change in the future."
+	elif [[ -v DXVK_HAD_OVERLAY ]]; then
+		# temporary warning until this version is more widely used
+		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
+		elog "If you were using symbolic links in wine prefixes it may be necessary to"
+		elog "refresh them by re-running the command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
+		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
+	fi
+
+	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+		ver_test ${REPLACING_VERSIONS##* } -lt 2.0
+	then
+		elog
+		elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
+		elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
+		elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-04-29  9:43 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2023-04-29  9:43 UTC (permalink / raw
  To: gentoo-commits

commit:     fca841ad33dbb0e5c6cd29950331b30ab2364d8d
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 29 09:02:52 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=fca841ad

app-emulation/dxvk: 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/dxvk/dxvk-1.10.3.ebuild        | 8 ++++++--
 app-emulation/dxvk/dxvk-2.0.ebuild           | 8 ++++++--
 app-emulation/dxvk/dxvk-2.1.ebuild           | 8 ++++++--
 app-emulation/dxvk/dxvk-2.1_p20230207.ebuild | 8 ++++++--
 app-emulation/dxvk/dxvk-9999.ebuild          | 8 ++++++--
 5 files changed, 30 insertions(+), 10 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-1.10.3.ebuild b/app-emulation/dxvk/dxvk-1.10.3.ebuild
index 3995d9ee33e0..e9f3f4344b63 100644
--- a/app-emulation/dxvk/dxvk-1.10.3.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.3.ebuild
@@ -73,10 +73,14 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP
-			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/dxvk/dxvk-2.0.ebuild b/app-emulation/dxvk/dxvk-2.0.ebuild
index 48c2560d3808..f2b240b7f42a 100644
--- a/app-emulation/dxvk/dxvk-2.0.ebuild
+++ b/app-emulation/dxvk/dxvk-2.0.ebuild
@@ -89,10 +89,14 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP
-			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/dxvk/dxvk-2.1.ebuild b/app-emulation/dxvk/dxvk-2.1.ebuild
index d58b78a8f0ef..1e497fc5a838 100644
--- a/app-emulation/dxvk/dxvk-2.1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.1.ebuild
@@ -98,10 +98,14 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP
-			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/dxvk/dxvk-2.1_p20230207.ebuild b/app-emulation/dxvk/dxvk-2.1_p20230207.ebuild
index 24b2a3ad1e50..c3830098d829 100644
--- a/app-emulation/dxvk/dxvk-2.1_p20230207.ebuild
+++ b/app-emulation/dxvk/dxvk-2.1_p20230207.ebuild
@@ -100,10 +100,14 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP
-			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/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 7b1ccff1d6f4..313a58896371 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -94,10 +94,14 @@ src_configure() {
 	if [[ ${CHOST} != *-mingw* ]]; then
 		if [[ ! -v MINGW_BYPASS ]]; then
 			unset AR CC CXX RC STRIP
-			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] 63+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-05-12 11:59 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2023-05-12 11:59 UTC (permalink / raw
  To: gentoo-commits

commit:     d8227549640cdde40899947c56222a4489f83c47
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri May 12 10:46:26 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=d8227549

app-emulation/dxvk: add 2.2

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

 app-emulation/dxvk/Manifest        |   1 +
 app-emulation/dxvk/dxvk-2.2.ebuild | 175 +++++++++++++++++++++++++++++++++++++
 2 files changed, 176 insertions(+)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index 98ad594e85d9..f9ae9770873d 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,6 +1,7 @@
 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
 DIST dxvk-2.0.tar.gz 943397 BLAKE2B 7d59050e8ac3f9be311d11323cc0057d84c3b730360fe9e064ff4a5e2db5bffea5bae3214da366c60295ec5f1577ab08e2776274c9aaff7a7de1b9f2cefa836a SHA512 98537bdec2b5e4f2ead5b93ab49db717e0706fe771a82a6ef1e5b5792c1bdd3f417cd6b6b2deadb1397b8a0740445fa88b9fb6c1f73510cc5c0e7ae35d65bcac
 DIST dxvk-2.1.tar.gz 960078 BLAKE2B ad8ea7eb000237914d9116a8fbfde13fde3dc00d428ebfe41aacb9373c6509112545ef1942b4cbc96a18338c3d07c2c494d0454236721e220ee5f5731a5c27b9 SHA512 10d919ba2612f665a20f7c72605967adeea94d8414bee45878f9df42ad263fa5ebfc7a76319173dce054ffe9b9cdc919ff7a136042f3f4e64142844c943bdef7
+DIST dxvk-2.2.tar.gz 976671 BLAKE2B 537fb8d8adb69562f8e759c6f68e5ed38a62e6ebcf05d7ed1ea32fef518af30cd53d3ffec0e3dba175d449d80de980585f91bfcf8c3904a08385b17b55b9b63b SHA512 02d066093855c3ecae7123fcaeaa32212e03fcda9556c5b70ff23eadc07240199003b8e4673f5b492487fa6e240d70a36f5b4e60b0f389f422cf4474b7197e2f
 DIST dxvk-caf31033d7.tar.gz 961317 BLAKE2B 2686ed36c00325dfbe0351f6c8e3f6787f4568ee8baa73fa51e8e743f4f8f47174fd309d13de2fba6ea1d8496aaba6976bfba02685d2eeaa17cb9cc019620f5e SHA512 e8b9939d5de2642f445cead2d8168b02b05ee18dbb1b5dc89b5abd285cf75a9a229026e482b665b322baab0b82c2ccba9c23ead0f1c6e5f9d1cbfa60307d39ea
 DIST dxvk-libdisplay-info-d39344f466.tar.bz2 81232 BLAKE2B af76ccd3c40bc953008bc30d222c72f90bdc77f47f767b6e7423efaa0ec89d746396a755160b5470e219a15a0aa392be6066aab12921b45a1adb35d88132cd97 SHA512 79b4bf325cefc39bc587233bd82ff64c927ca5f829b8172d213c3d47af725c8dc7fe33576a8e96a869075ee2a8f00d165f3aa9e6c472e862a47e5c800b2b3315
 DIST dxvk-spirv-headers-0bcc624926.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c

diff --git a/app-emulation/dxvk/dxvk-2.2.ebuild b/app-emulation/dxvk/dxvk-2.2.ebuild
new file mode 100644
index 000000000000..313a58896371
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-2.2.ebuild
@@ -0,0 +1,175 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+	EGIT_SUBMODULES=(
+		# picky about headers and is cross-compiled making -I/usr/include troublesome
+		include/{spirv,vulkan}
+		subprojects/libdisplay-info
+	)
+else
+	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
+	HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
+	HASH_DISPLAYINFO=d39344f466caae0495ebac4d49b03a886d83ba3a
+	SRC_URI="
+		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
+			-> ${P}.tar.gz
+		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+			-> ${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
+		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+LICENSE="ZLIB Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
+REQUIRED_USE="
+	|| ( d3d9 d3d10 d3d11 dxgi )
+	d3d10? ( d3d11 )
+	d3d11? ( dxgi )"
+
+BDEPEND="
+	${PYTHON_DEPS}
+	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 set but ${tool} was not found"
+			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+				eerror "${PN} requires GCC to be built with --enable-threads=posix"
+				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+			fi
+		done
+	fi
+}
+
+src_prepare() {
+	if [[ ${PV} != 9999 ]]; then
+		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
+		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
+	fi
+
+	default
+
+	sed "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" \
+		"${DISTDIR}"/setup_dxvk.sh > setup_dxvk.sh || die
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# AVX has a history of causing issues with this package, disable for safety
+	# https://bugs.winehq.org/show_bug.cgi?id=43516
+	# https://bugs.winehq.org/show_bug.cgi?id=45289
+	append-flags -mno-avx
+
+	if [[ ${CHOST} != *-mingw* ]]; then
+		if [[ ! -v MINGW_BYPASS ]]; then
+			unset AR CC CXX RC STRIP
+			filter-flags '-fuse-ld=*'
+			filter-flags '-mfunction-return=thunk*' #878849
+			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 RC STRIP
+
+	local emesonargs=(
+		--prefix="${EPREFIX}"/usr/lib/${PN}
+		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+		$(meson_use {,enable_}d3d9)
+		$(meson_use {,enable_}d3d10)
+		$(meson_use {,enable_}d3d11)
+		$(meson_use {,enable_}dxgi)
+		$(usev !debug --strip) # portage won't strip .dll, so allow it here
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install_all() {
+	dobin setup_dxvk.sh
+	dodoc README.md dxvk.conf
+
+	find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_preinst() {
+	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
+		elog "removed upstream, handling may change in the future."
+	elif [[ -v DXVK_HAD_OVERLAY ]]; then
+		# temporary warning until this version is more widely used
+		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
+		elog "If you were using symbolic links in wine prefixes it may be necessary to"
+		elog "refresh them by re-running the command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
+		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
+	fi
+
+	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+		ver_test ${REPLACING_VERSIONS##* } -lt 2.0
+	then
+		elog
+		elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
+		elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
+		elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-05-12 11:59 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2023-05-12 11:59 UTC (permalink / raw
  To: gentoo-commits

commit:     87bbbccb8afc3c2fcc323be3de666bf8c66f9c8f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri May 12 10:46:38 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=87bbbccb

app-emulation/dxvk: drop 2.1_p20230207

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

 app-emulation/dxvk/Manifest                  |   1 -
 app-emulation/dxvk/dxvk-2.1_p20230207.ebuild | 181 ---------------------------
 2 files changed, 182 deletions(-)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index f9ae9770873d..020ee9e0699f 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -2,7 +2,6 @@ DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d
 DIST dxvk-2.0.tar.gz 943397 BLAKE2B 7d59050e8ac3f9be311d11323cc0057d84c3b730360fe9e064ff4a5e2db5bffea5bae3214da366c60295ec5f1577ab08e2776274c9aaff7a7de1b9f2cefa836a SHA512 98537bdec2b5e4f2ead5b93ab49db717e0706fe771a82a6ef1e5b5792c1bdd3f417cd6b6b2deadb1397b8a0740445fa88b9fb6c1f73510cc5c0e7ae35d65bcac
 DIST dxvk-2.1.tar.gz 960078 BLAKE2B ad8ea7eb000237914d9116a8fbfde13fde3dc00d428ebfe41aacb9373c6509112545ef1942b4cbc96a18338c3d07c2c494d0454236721e220ee5f5731a5c27b9 SHA512 10d919ba2612f665a20f7c72605967adeea94d8414bee45878f9df42ad263fa5ebfc7a76319173dce054ffe9b9cdc919ff7a136042f3f4e64142844c943bdef7
 DIST dxvk-2.2.tar.gz 976671 BLAKE2B 537fb8d8adb69562f8e759c6f68e5ed38a62e6ebcf05d7ed1ea32fef518af30cd53d3ffec0e3dba175d449d80de980585f91bfcf8c3904a08385b17b55b9b63b SHA512 02d066093855c3ecae7123fcaeaa32212e03fcda9556c5b70ff23eadc07240199003b8e4673f5b492487fa6e240d70a36f5b4e60b0f389f422cf4474b7197e2f
-DIST dxvk-caf31033d7.tar.gz 961317 BLAKE2B 2686ed36c00325dfbe0351f6c8e3f6787f4568ee8baa73fa51e8e743f4f8f47174fd309d13de2fba6ea1d8496aaba6976bfba02685d2eeaa17cb9cc019620f5e SHA512 e8b9939d5de2642f445cead2d8168b02b05ee18dbb1b5dc89b5abd285cf75a9a229026e482b665b322baab0b82c2ccba9c23ead0f1c6e5f9d1cbfa60307d39ea
 DIST dxvk-libdisplay-info-d39344f466.tar.bz2 81232 BLAKE2B af76ccd3c40bc953008bc30d222c72f90bdc77f47f767b6e7423efaa0ec89d746396a755160b5470e219a15a0aa392be6066aab12921b45a1adb35d88132cd97 SHA512 79b4bf325cefc39bc587233bd82ff64c927ca5f829b8172d213c3d47af725c8dc7fe33576a8e96a869075ee2a8f00d165f3aa9e6c472e862a47e5c800b2b3315
 DIST dxvk-spirv-headers-0bcc624926.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c
 DIST dxvk-vulkan-headers-98f440ce68.tar.gz 1691979 BLAKE2B bf6fd288f16df7adcb5cebeb6e13713db1c26a0b833dead2fb522227861abc60b2d0cda8e3f46f8e89cccb629e01081ba27763989ad6fd336c60a475b198c1c8 SHA512 69238d37d0af0162e0fd68094cd2fa9baa320497d34a9de491dea086c23291d0815b51e89218b1f0ee2b3314cbc8ac1809d6edb15ca51fcb282fe1e2b39a1a77

diff --git a/app-emulation/dxvk/dxvk-2.1_p20230207.ebuild b/app-emulation/dxvk/dxvk-2.1_p20230207.ebuild
deleted file mode 100644
index c3830098d829..000000000000
--- a/app-emulation/dxvk/dxvk-2.1_p20230207.ebuild
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-inherit flag-o-matic meson-multilib python-any-r1
-
-if [[ ${PV} == 9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
-	EGIT_SUBMODULES=(
-		# picky about headers and is cross-compiled making -I/usr/include troublesome
-		include/{spirv,vulkan}
-		subprojects/libdisplay-info
-	)
-else
-	HASH_DXVK=caf31033d711460e86781b16a4d9b0f41fa9e817 # matches proton-8.0.1c
-	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
-	HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
-	HASH_DISPLAYINFO=d39344f466caae0495ebac4d49b03a886d83ba3a
-	SRC_URI="
-		https://github.com/doitsujin/dxvk/archive/${HASH_DXVK}.tar.gz
-			-> ${PN}-${HASH_DXVK::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
-		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
-	S="${WORKDIR}/${PN}-${HASH_DXVK}"
-	KEYWORDS="-* ~amd64 ~x86"
-fi
-# setup_dxvk.sh is no longer provided, fetch old until a better solution
-SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
-
-DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
-HOMEPAGE="https://github.com/doitsujin/dxvk/"
-
-LICENSE="ZLIB Apache-2.0 MIT"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
-REQUIRED_USE="
-	|| ( d3d9 d3d10 d3d11 dxgi )
-	d3d10? ( d3d11 )
-	d3d11? ( dxgi )"
-
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-util/glslang
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.10.3-gcc13.patch
-)
-
-pkg_pretend() {
-	[[ ${MERGE_TYPE} == binary ]] && return
-
-	if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
-		local tool=-w64-mingw32-g++
-		for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
-			if ! type -P ${tool} >/dev/null; then
-				eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
-				eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
-				use abi_x86_32 && use abi_x86_64 &&
-					eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
-				die "USE=crossdev-mingw is set but ${tool} was not found"
-			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
-				eerror "${PN} requires GCC to be built with --enable-threads=posix"
-				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
-				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
-			fi
-		done
-	fi
-}
-
-src_prepare() {
-	if [[ ${PV} != 9999 ]]; then
-		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
-		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
-		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
-		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
-	fi
-
-	default
-
-	sed "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" \
-		"${DISTDIR}"/setup_dxvk.sh > setup_dxvk.sh || die
-}
-
-src_configure() {
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# AVX has a history of causing issues with this package, disable for safety
-	# https://bugs.winehq.org/show_bug.cgi?id=43516
-	# https://bugs.winehq.org/show_bug.cgi?id=45289
-	append-flags -mno-avx
-
-	if [[ ${CHOST} != *-mingw* ]]; then
-		if [[ ! -v MINGW_BYPASS ]]; then
-			unset AR CC CXX RC STRIP
-			filter-flags '-fuse-ld=*'
-			filter-flags '-mfunction-return=thunk*' #878849
-			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 RC STRIP
-
-	local emesonargs=(
-		--prefix="${EPREFIX}"/usr/lib/${PN}
-		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
-		$(meson_use {,enable_}d3d9)
-		$(meson_use {,enable_}d3d10)
-		$(meson_use {,enable_}d3d11)
-		$(meson_use {,enable_}dxgi)
-		$(usev !debug --strip) # portage won't strip .dll, so allow it here
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install_all() {
-	dobin setup_dxvk.sh
-	dodoc README.md dxvk.conf
-
-	find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_preinst() {
-	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
-}
-
-pkg_postinst() {
-	if [[ ! ${REPLACING_VERSIONS} ]]; then
-		elog "To enable ${PN} on a wine prefix, you can run the following command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
-		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
-		elog "removed upstream, handling may change in the future."
-	elif [[ -v DXVK_HAD_OVERLAY ]]; then
-		# temporary warning until this version is more widely used
-		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
-		elog "If you were using symbolic links in wine prefixes it may be necessary to"
-		elog "refresh them by re-running the command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
-		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
-	fi
-
-	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
-		ver_test ${REPLACING_VERSIONS##* } -lt 2.0
-	then
-		elog
-		elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
-		elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
-		elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
-	fi
-}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-05-25  4:16 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2023-05-25  4:16 UTC (permalink / raw
  To: gentoo-commits

commit:     af18de814a2b44c24c116c852788fe2efa4e5665
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu May 25 03:45:02 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu May 25 04:15:59 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af18de81

app-emulation/dxvk: enable py3.12

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

 app-emulation/dxvk/dxvk-2.1.ebuild  | 2 +-
 app-emulation/dxvk/dxvk-2.2.ebuild  | 2 +-
 app-emulation/dxvk/dxvk-9999.ebuild | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-2.1.ebuild b/app-emulation/dxvk/dxvk-2.1.ebuild
index 1e497fc5a838..af2054a54097 100644
--- a/app-emulation/dxvk/dxvk-2.1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 inherit flag-o-matic meson-multilib python-any-r1
 

diff --git a/app-emulation/dxvk/dxvk-2.2.ebuild b/app-emulation/dxvk/dxvk-2.2.ebuild
index 313a58896371..ccfbe4f5209a 100644
--- a/app-emulation/dxvk/dxvk-2.2.ebuild
+++ b/app-emulation/dxvk/dxvk-2.2.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 inherit flag-o-matic meson-multilib python-any-r1
 

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 313a58896371..ccfbe4f5209a 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 inherit flag-o-matic meson-multilib python-any-r1
 


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-06-02  6:54 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2023-06-02  6:54 UTC (permalink / raw
  To: gentoo-commits

commit:     d1a69194c3c7c621b0c7fa5fde69eb04370cec02
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  2 04:45:30 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=d1a69194

app-emulation/dxvk: 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.

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

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

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index ccfbe4f5209a..b2469528ebc8 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -37,7 +37,7 @@ HOMEPAGE="https://github.com/doitsujin/dxvk/"
 
 LICENSE="ZLIB Apache-2.0 MIT"
 SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 +dxgi +strip"
 REQUIRED_USE="
 	|| ( d3d9 d3d10 d3d11 dxgi )
 	d3d10? ( d3d11 )
@@ -126,7 +126,7 @@ multilib_src_configure() {
 		$(meson_use {,enable_}d3d10)
 		$(meson_use {,enable_}d3d11)
 		$(meson_use {,enable_}dxgi)
-		$(usev !debug --strip) # portage won't strip .dll, so allow it here
+		$(usev strip --strip) # portage won't strip .dll, so allow it here
 	)
 
 	meson_src_configure


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-06-08 12:23 Arthur Zamarin
  0 siblings, 0 replies; 63+ messages in thread
From: Arthur Zamarin @ 2023-06-08 12:23 UTC (permalink / raw
  To: gentoo-commits

commit:     6afb2e855cb0a55a7a2b8996e32a3bb2f4905ea9
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=6afb2e85

app-emulation/dxvk: Stabilize 2.2 x86, #908051

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

 app-emulation/dxvk/dxvk-2.2.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/dxvk/dxvk-2.2.ebuild b/app-emulation/dxvk/dxvk-2.2.ebuild
index ccfbe4f5209a..2542310c22e0 100644
--- a/app-emulation/dxvk/dxvk-2.2.ebuild
+++ b/app-emulation/dxvk/dxvk-2.2.ebuild
@@ -27,7 +27,7 @@ else
 		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
 			-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz
 		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
-	KEYWORDS="-* ~amd64 ~x86"
+	KEYWORDS="-* ~amd64 x86"
 fi
 # setup_dxvk.sh is no longer provided, fetch old until a better solution
 SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-06-08 12:24 Arthur Zamarin
  0 siblings, 0 replies; 63+ messages in thread
From: Arthur Zamarin @ 2023-06-08 12:24 UTC (permalink / raw
  To: gentoo-commits

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

app-emulation/dxvk: Stabilize 2.2 amd64, #908051

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

 app-emulation/dxvk/dxvk-2.2.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/dxvk/dxvk-2.2.ebuild b/app-emulation/dxvk/dxvk-2.2.ebuild
index 2542310c22e0..377428505711 100644
--- a/app-emulation/dxvk/dxvk-2.2.ebuild
+++ b/app-emulation/dxvk/dxvk-2.2.ebuild
@@ -27,7 +27,7 @@ else
 		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
 			-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz
 		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
-	KEYWORDS="-* ~amd64 x86"
+	KEYWORDS="-* amd64 x86"
 fi
 # setup_dxvk.sh is no longer provided, fetch old until a better solution
 SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-06-26 10:12 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2023-06-26 10:12 UTC (permalink / raw
  To: gentoo-commits

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

app-emulation/dxvk: update -mno-avx comment to match wine

Unsure for the status of issues with dxvk, the old Tk-Glitch issue
(who were building this with -march=native) is 404 given repos
changed around and unsure what the reproducer is. But given seemingly
bad code is being generated for recent Wine I think this is unsafe
enough that should keep it for now.

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

 app-emulation/dxvk/dxvk-1.10.3.ebuild | 6 ++++--
 app-emulation/dxvk/dxvk-2.0.ebuild    | 6 ++++--
 app-emulation/dxvk/dxvk-2.1.ebuild    | 7 ++++---
 app-emulation/dxvk/dxvk-2.2.ebuild    | 7 ++++---
 app-emulation/dxvk/dxvk-9999.ebuild   | 7 ++++---
 5 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-1.10.3.ebuild b/app-emulation/dxvk/dxvk-1.10.3.ebuild
index e9f3f4344b63..c11db845a715 100644
--- a/app-emulation/dxvk/dxvk-1.10.3.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.3.ebuild
@@ -66,8 +66,10 @@ src_prepare() {
 src_configure() {
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
-	# AVX has a history of causing issues with this package, disable for safety
-	# https://github.com/Tk-Glitch/PKGBUILDS/issues/515
+	# -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

diff --git a/app-emulation/dxvk/dxvk-2.0.ebuild b/app-emulation/dxvk/dxvk-2.0.ebuild
index f2b240b7f42a..51375fb11c10 100644
--- a/app-emulation/dxvk/dxvk-2.0.ebuild
+++ b/app-emulation/dxvk/dxvk-2.0.ebuild
@@ -82,8 +82,10 @@ src_prepare() {
 src_configure() {
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
-	# AVX has a history of causing issues with this package, disable for safety
-	# https://github.com/Tk-Glitch/PKGBUILDS/issues/515
+	# -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

diff --git a/app-emulation/dxvk/dxvk-2.1.ebuild b/app-emulation/dxvk/dxvk-2.1.ebuild
index af2054a54097..28608a67906c 100644
--- a/app-emulation/dxvk/dxvk-2.1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.1.ebuild
@@ -90,9 +90,10 @@ src_prepare() {
 src_configure() {
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
-	# AVX has a history of causing issues with this package, disable for safety
-	# https://bugs.winehq.org/show_bug.cgi?id=43516
-	# https://bugs.winehq.org/show_bug.cgi?id=45289
+	# -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

diff --git a/app-emulation/dxvk/dxvk-2.2.ebuild b/app-emulation/dxvk/dxvk-2.2.ebuild
index 377428505711..b2ad8ecef4f0 100644
--- a/app-emulation/dxvk/dxvk-2.2.ebuild
+++ b/app-emulation/dxvk/dxvk-2.2.ebuild
@@ -86,9 +86,10 @@ src_prepare() {
 src_configure() {
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
-	# AVX has a history of causing issues with this package, disable for safety
-	# https://bugs.winehq.org/show_bug.cgi?id=43516
-	# https://bugs.winehq.org/show_bug.cgi?id=45289
+	# -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

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index b2469528ebc8..12656f42a335 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -86,9 +86,10 @@ src_prepare() {
 src_configure() {
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
-	# AVX has a history of causing issues with this package, disable for safety
-	# https://bugs.winehq.org/show_bug.cgi?id=43516
-	# https://bugs.winehq.org/show_bug.cgi?id=45289
+	# -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


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-08-10 10:53 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2023-08-10 10:53 UTC (permalink / raw
  To: gentoo-commits

commit:     50ff26b0a6d5ea8eb71b05726abd4d9c6e2fcad0
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 10 10:34:11 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Aug 10 10:35:02 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50ff26b0

app-emulation/dxvk: allow abi_x86_32 on no-multilib profiles

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

 app-emulation/dxvk/dxvk-1.10.3.ebuild | 1 +
 app-emulation/dxvk/dxvk-2.0.ebuild    | 1 +
 app-emulation/dxvk/dxvk-2.1.ebuild    | 1 +
 app-emulation/dxvk/dxvk-2.2.ebuild    | 1 +
 app-emulation/dxvk/dxvk-9999.ebuild   | 1 +
 5 files changed, 5 insertions(+)

diff --git a/app-emulation/dxvk/dxvk-1.10.3.ebuild b/app-emulation/dxvk/dxvk-1.10.3.ebuild
index c11db845a715..378c0c51c184 100644
--- a/app-emulation/dxvk/dxvk-1.10.3.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.3.ebuild
@@ -6,6 +6,7 @@ EAPI=8
 # note: version <2.0 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
 

diff --git a/app-emulation/dxvk/dxvk-2.0.ebuild b/app-emulation/dxvk/dxvk-2.0.ebuild
index 51375fb11c10..1790de09e942 100644
--- a/app-emulation/dxvk/dxvk-2.0.ebuild
+++ b/app-emulation/dxvk/dxvk-2.0.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
 

diff --git a/app-emulation/dxvk/dxvk-2.1.ebuild b/app-emulation/dxvk/dxvk-2.1.ebuild
index 28608a67906c..b39f6fe9f3c9 100644
--- a/app-emulation/dxvk/dxvk-2.1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.1.ebuild
@@ -4,6 +4,7 @@
 EAPI=8
 
 PYTHON_COMPAT=( python3_{10..12} )
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 inherit flag-o-matic meson-multilib python-any-r1
 

diff --git a/app-emulation/dxvk/dxvk-2.2.ebuild b/app-emulation/dxvk/dxvk-2.2.ebuild
index b2ad8ecef4f0..cc5675a641c1 100644
--- a/app-emulation/dxvk/dxvk-2.2.ebuild
+++ b/app-emulation/dxvk/dxvk-2.2.ebuild
@@ -4,6 +4,7 @@
 EAPI=8
 
 PYTHON_COMPAT=( python3_{10..12} )
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 inherit flag-o-matic meson-multilib python-any-r1
 

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 12656f42a335..062d70604759 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -4,6 +4,7 @@
 EAPI=8
 
 PYTHON_COMPAT=( python3_{10..12} )
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 inherit flag-o-matic meson-multilib python-any-r1
 


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-08-15 20:22 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2023-08-15 20:22 UTC (permalink / raw
  To: gentoo-commits

commit:     6a0b608659841f6cf5f825328678fca657b49d49
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 15 19:51:22 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Aug 15 20:14:29 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a0b6086

app-emulation/dxvk: drop 2.0, 2.1

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

 app-emulation/dxvk/Manifest        |   2 -
 app-emulation/dxvk/dxvk-2.0.ebuild | 171 -----------------------------------
 app-emulation/dxvk/dxvk-2.1.ebuild | 181 -------------------------------------
 3 files changed, 354 deletions(-)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index 020ee9e0699f..f3968536f4d4 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,6 +1,4 @@
 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
-DIST dxvk-2.0.tar.gz 943397 BLAKE2B 7d59050e8ac3f9be311d11323cc0057d84c3b730360fe9e064ff4a5e2db5bffea5bae3214da366c60295ec5f1577ab08e2776274c9aaff7a7de1b9f2cefa836a SHA512 98537bdec2b5e4f2ead5b93ab49db717e0706fe771a82a6ef1e5b5792c1bdd3f417cd6b6b2deadb1397b8a0740445fa88b9fb6c1f73510cc5c0e7ae35d65bcac
-DIST dxvk-2.1.tar.gz 960078 BLAKE2B ad8ea7eb000237914d9116a8fbfde13fde3dc00d428ebfe41aacb9373c6509112545ef1942b4cbc96a18338c3d07c2c494d0454236721e220ee5f5731a5c27b9 SHA512 10d919ba2612f665a20f7c72605967adeea94d8414bee45878f9df42ad263fa5ebfc7a76319173dce054ffe9b9cdc919ff7a136042f3f4e64142844c943bdef7
 DIST dxvk-2.2.tar.gz 976671 BLAKE2B 537fb8d8adb69562f8e759c6f68e5ed38a62e6ebcf05d7ed1ea32fef518af30cd53d3ffec0e3dba175d449d80de980585f91bfcf8c3904a08385b17b55b9b63b SHA512 02d066093855c3ecae7123fcaeaa32212e03fcda9556c5b70ff23eadc07240199003b8e4673f5b492487fa6e240d70a36f5b4e60b0f389f422cf4474b7197e2f
 DIST dxvk-libdisplay-info-d39344f466.tar.bz2 81232 BLAKE2B af76ccd3c40bc953008bc30d222c72f90bdc77f47f767b6e7423efaa0ec89d746396a755160b5470e219a15a0aa392be6066aab12921b45a1adb35d88132cd97 SHA512 79b4bf325cefc39bc587233bd82ff64c927ca5f829b8172d213c3d47af725c8dc7fe33576a8e96a869075ee2a8f00d165f3aa9e6c472e862a47e5c800b2b3315
 DIST dxvk-spirv-headers-0bcc624926.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c

diff --git a/app-emulation/dxvk/dxvk-2.0.ebuild b/app-emulation/dxvk/dxvk-2.0.ebuild
deleted file mode 100644
index 1790de09e942..000000000000
--- a/app-emulation/dxvk/dxvk-2.0.ebuild
+++ /dev/null
@@ -1,171 +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
-
-if [[ ${PV} == 9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
-	EGIT_SUBMODULES=(
-		# picky about headers and is cross-compiled making -I/usr/include troublesome
-		include/{spirv,vulkan}
-	)
-else
-	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
-	HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
-	SRC_URI="
-		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
-			-> ${P}.tar.gz
-		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
-			-> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
-		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
-			-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
-	KEYWORDS="-* amd64 x86"
-fi
-
-DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
-HOMEPAGE="https://github.com/doitsujin/dxvk/"
-
-LICENSE="ZLIB Apache-2.0 MIT"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
-REQUIRED_USE="
-	|| ( d3d9 d3d10 d3d11 dxgi )
-	d3d10? ( d3d11 )
-	d3d11? ( dxgi )
-	dxgi? ( d3d11 )"
-
-BDEPEND="
-	dev-util/glslang
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.10.3-gcc13.patch
-)
-
-pkg_pretend() {
-	[[ ${MERGE_TYPE} == binary ]] && return
-
-	if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
-		local tool=-w64-mingw32-g++
-		for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
-			if ! type -P ${tool} >/dev/null; then
-				eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
-				eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
-				use abi_x86_32 && use abi_x86_64 &&
-					eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
-				die "USE=crossdev-mingw is set but ${tool} was not found"
-			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
-				eerror "${PN} requires GCC to be built with --enable-threads=posix"
-				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
-				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
-			fi
-		done
-	fi
-}
-
-src_prepare() {
-	if [[ ${PV} != 9999 ]]; then
-		rmdir include/{spirv,vulkan} || die
-		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
-		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
-	fi
-
-	default
-
-	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
-}
-
-src_configure() {
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# -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
-			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 RC STRIP
-
-	local emesonargs=(
-		--prefix="${EPREFIX}"/usr/lib/${PN}
-		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
-		$(meson_use {,enable_}d3d9)
-		$(meson_use {,enable_}d3d10)
-		$(meson_use {,enable_}d3d11)
-		$(meson_use {,enable_}dxgi)
-		$(usev !debug --strip) # portage won't strip .dll, so allow it here
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install_all() {
-	dobin setup_dxvk.sh
-	dodoc README.md dxvk.conf
-
-	find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_preinst() {
-	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
-}
-
-pkg_postinst() {
-	if [[ ! ${REPLACING_VERSIONS} ]]; then
-		elog "To enable ${PN} on a wine prefix, you can run the following command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
-	elif [[ -v DXVK_HAD_OVERLAY ]]; then
-		# temporary warning until this version is more widely used
-		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
-		elog "If you were using symbolic links in wine prefixes it may be necessary to"
-		elog "refresh them by re-running the command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
-		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
-	fi
-
-	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
-		ver_test ${REPLACING_VERSIONS##* } -lt 2.0
-	then
-		elog
-		elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
-		elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
-		elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
-	fi
-}

diff --git a/app-emulation/dxvk/dxvk-2.1.ebuild b/app-emulation/dxvk/dxvk-2.1.ebuild
deleted file mode 100644
index b39f6fe9f3c9..000000000000
--- a/app-emulation/dxvk/dxvk-2.1.ebuild
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-inherit flag-o-matic meson-multilib python-any-r1
-
-if [[ ${PV} == 9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
-	EGIT_SUBMODULES=(
-		# picky about headers and is cross-compiled making -I/usr/include troublesome
-		include/{spirv,vulkan}
-		subprojects/libdisplay-info
-	)
-else
-	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
-	HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
-	HASH_DISPLAYINFO=d39344f466caae0495ebac4d49b03a886d83ba3a
-	SRC_URI="
-		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
-			-> ${P}.tar.gz
-		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
-			-> ${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
-		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
-	KEYWORDS="-* amd64 x86"
-fi
-# setup_dxvk.sh is no longer provided, fetch old until a better solution
-SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
-
-DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
-HOMEPAGE="https://github.com/doitsujin/dxvk/"
-
-LICENSE="ZLIB Apache-2.0 MIT"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
-REQUIRED_USE="
-	|| ( d3d9 d3d10 d3d11 dxgi )
-	d3d10? ( d3d11 )
-	d3d11? ( dxgi )"
-
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-util/glslang
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.10.3-gcc13.patch
-)
-
-pkg_pretend() {
-	[[ ${MERGE_TYPE} == binary ]] && return
-
-	if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
-		local tool=-w64-mingw32-g++
-		for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
-			if ! type -P ${tool} >/dev/null; then
-				eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
-				eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
-				use abi_x86_32 && use abi_x86_64 &&
-					eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
-				die "USE=crossdev-mingw is set but ${tool} was not found"
-			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
-				eerror "${PN} requires GCC to be built with --enable-threads=posix"
-				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
-				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
-			fi
-		done
-	fi
-}
-
-src_prepare() {
-	if [[ ${PV} != 9999 ]]; then
-		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
-		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
-		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
-		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
-	fi
-
-	default
-
-	sed "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" \
-		"${DISTDIR}"/setup_dxvk.sh > setup_dxvk.sh || die
-}
-
-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
-			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 RC STRIP
-
-	local emesonargs=(
-		--prefix="${EPREFIX}"/usr/lib/${PN}
-		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
-		$(meson_use {,enable_}d3d9)
-		$(meson_use {,enable_}d3d10)
-		$(meson_use {,enable_}d3d11)
-		$(meson_use {,enable_}dxgi)
-		$(usev !debug --strip) # portage won't strip .dll, so allow it here
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install_all() {
-	dobin setup_dxvk.sh
-	dodoc README.md dxvk.conf
-
-	find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_preinst() {
-	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
-}
-
-pkg_postinst() {
-	if [[ ! ${REPLACING_VERSIONS} ]]; then
-		elog "To enable ${PN} on a wine prefix, you can run the following command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
-		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
-		elog "removed upstream, handling may change in the future."
-	elif [[ -v DXVK_HAD_OVERLAY ]]; then
-		# temporary warning until this version is more widely used
-		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
-		elog "If you were using symbolic links in wine prefixes it may be necessary to"
-		elog "refresh them by re-running the command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
-		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
-	fi
-
-	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
-		ver_test ${REPLACING_VERSIONS##* } -lt 2.0
-	then
-		elog
-		elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
-		elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
-		elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
-	fi
-}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-08-16 21:38 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2023-08-16 21:38 UTC (permalink / raw
  To: gentoo-commits

commit:     273aa9ec740f51dc66a94792c1f2115a690b7210
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 16 21:38:16 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Aug 16 21:38:33 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=273aa9ec

app-emulation/dxvk: do not use -p to copy from distdir

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

 app-emulation/dxvk/dxvk-2.2-r1.ebuild | 2 +-
 app-emulation/dxvk/dxvk-9999.ebuild   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-2.2-r1.ebuild b/app-emulation/dxvk/dxvk-2.2-r1.ebuild
index 21905a3981fb..7cbb0d092bfd 100644
--- a/app-emulation/dxvk/dxvk-2.2-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.2-r1.ebuild
@@ -81,7 +81,7 @@ src_prepare() {
 		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
 		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
 	fi
-	cp -p -- "${DISTDIR}"/setup_dxvk.sh . || die
+	cp -- "${DISTDIR}"/setup_dxvk.sh . || die
 
 	default
 

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index b4b07947ffeb..8bd589ce90ec 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -81,7 +81,7 @@ src_prepare() {
 		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
 		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
 	fi
-	cp -p -- "${DISTDIR}"/setup_dxvk.sh . || die
+	cp -- "${DISTDIR}"/setup_dxvk.sh . || die
 
 	default
 


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-09-04 17:12 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2023-09-04 17:12 UTC (permalink / raw
  To: gentoo-commits

commit:     595a71f7c0afb880a1c08503b9090bf862f52c06
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  4 16:59:33 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Sep  4 17:11:48 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=595a71f7

app-emulation/dxvk: add 2.3

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

 app-emulation/dxvk/Manifest        |   3 +
 app-emulation/dxvk/dxvk-2.3.ebuild | 181 +++++++++++++++++++++++++++++++++++++
 2 files changed, 184 insertions(+)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index f3968536f4d4..5ea1d519dd14 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,6 +1,9 @@
 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
 DIST dxvk-2.2.tar.gz 976671 BLAKE2B 537fb8d8adb69562f8e759c6f68e5ed38a62e6ebcf05d7ed1ea32fef518af30cd53d3ffec0e3dba175d449d80de980585f91bfcf8c3904a08385b17b55b9b63b SHA512 02d066093855c3ecae7123fcaeaa32212e03fcda9556c5b70ff23eadc07240199003b8e4673f5b492487fa6e240d70a36f5b4e60b0f389f422cf4474b7197e2f
+DIST dxvk-2.3.tar.gz 996736 BLAKE2B 55944472726e1d946b84cec386267bb65511c83a18647076b5d76c78d552ad2e4710a125c3e1a9f1c0c65b8de43a122c61aec5873ec0d566a20a1f4a9088f461 SHA512 d60421f6b93e09fb18d7f92f636bb228ec5d9ab6a90ca73e1e3c240c50ad35a90ac25fce1ac3f0a940c4da8e92e1c4267a2c602eaa78ff64db12507cc4d08173
+DIST dxvk-libdisplay-info-275e6459c7.tar.bz2 81172 BLAKE2B 7a1e9e2feeb95e06e9d3f49ad9d14a8a152cca525085e819cda0b69c238fb79dddd6d547cd0f0a4b51dfc1ec74ac4c006345b9fc48563807bc8ab3bab58ea5ff SHA512 794e94e8c16d65901a7b705d1ba3361817b4e9e19e520b1004bcab232d0347f5713594d67f3c2b79d4f86b3012e710c648975547d27a63de043fcbe9e6b7e66d
 DIST dxvk-libdisplay-info-d39344f466.tar.bz2 81232 BLAKE2B af76ccd3c40bc953008bc30d222c72f90bdc77f47f767b6e7423efaa0ec89d746396a755160b5470e219a15a0aa392be6066aab12921b45a1adb35d88132cd97 SHA512 79b4bf325cefc39bc587233bd82ff64c927ca5f829b8172d213c3d47af725c8dc7fe33576a8e96a869075ee2a8f00d165f3aa9e6c472e862a47e5c800b2b3315
 DIST dxvk-spirv-headers-0bcc624926.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c
+DIST dxvk-vulkan-headers-85c2334e92.tar.gz 2046570 BLAKE2B 8e7f917d440793d85afae9227514fd97ae6cab6ece53abc54320808c10ddbc84a5421663f6b7549c98fbe8b8144a3c5b8bea73d39e6c99a289c5b0baadf3abd8 SHA512 eb7bcec11fb4e7302411c30501e72d567f481a14098ece9c54c023fe4644298f1c14268ef240cfe73ddb75f9817946513cc2218e34b706ea0be5e94ecbed0f91
 DIST dxvk-vulkan-headers-98f440ce68.tar.gz 1691979 BLAKE2B bf6fd288f16df7adcb5cebeb6e13713db1c26a0b833dead2fb522227861abc60b2d0cda8e3f46f8e89cccb629e01081ba27763989ad6fd336c60a475b198c1c8 SHA512 69238d37d0af0162e0fd68094cd2fa9baa320497d34a9de491dea086c23291d0815b51e89218b1f0ee2b3314cbc8ac1809d6edb15ca51fcb282fe1e2b39a1a77
 DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121

diff --git a/app-emulation/dxvk/dxvk-2.3.ebuild b/app-emulation/dxvk/dxvk-2.3.ebuild
new file mode 100644
index 000000000000..cb316e1bb60b
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-2.3.ebuild
@@ -0,0 +1,181 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+	EGIT_SUBMODULES=(
+		# picky about headers and is cross-compiled making -I/usr/include troublesome
+		include/{spirv,vulkan}
+		subprojects/libdisplay-info
+	)
+else
+	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
+	HASH_VULKAN=85c2334e92e215cce34e8e0ed8b2dce4700f4a50
+	HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078
+	SRC_URI="
+		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
+			-> ${P}.tar.gz
+		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+			-> ${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
+		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+LICENSE="ZLIB Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 +dxgi +strip"
+REQUIRED_USE="
+	|| ( d3d9 d3d10 d3d11 dxgi )
+	d3d10? ( d3d11 )
+	d3d11? ( dxgi )"
+
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-util/glslang
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
+)
+
+pkg_pretend() {
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+		local tool=-w64-mingw32-g++
+		for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+			if ! type -P ${tool} >/dev/null; then
+				eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+				eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+				use abi_x86_32 && use abi_x86_64 &&
+					eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+				die "USE=crossdev-mingw is set but ${tool} was not found"
+			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+				eerror "${PN} requires GCC to be built with --enable-threads=posix"
+				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+			fi
+		done
+	fi
+}
+
+src_prepare() {
+	if [[ ${PV} != 9999 ]]; then
+		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
+		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
+	fi
+	cp -- "${DISTDIR}"/setup_dxvk.sh . || die
+
+	default
+
+	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# -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
+			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 RC STRIP
+
+	local emesonargs=(
+		--prefix="${EPREFIX}"/usr/lib/${PN}
+		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+		$(meson_use {,enable_}d3d9)
+		$(meson_use {,enable_}d3d10)
+		$(meson_use {,enable_}d3d11)
+		$(meson_use {,enable_}dxgi)
+		$(usev strip --strip) # portage won't strip .dll, so allow it here
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install_all() {
+	dobin setup_dxvk.sh
+	dodoc README.md dxvk.conf
+
+	find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_preinst() {
+	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
+		elog "removed upstream, handling may change in the future."
+	elif [[ -v DXVK_HAD_OVERLAY ]]; then
+		# temporary warning until this version is more widely used
+		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
+		elog "If you were using symbolic links in wine prefixes it may be necessary to"
+		elog "refresh them by re-running the command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
+		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
+	fi
+
+	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+		ver_test ${REPLACING_VERSIONS##* } -lt 2.0
+	then
+		elog
+		elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
+		elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
+		elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-10-01 13:35 Sam James
  0 siblings, 0 replies; 63+ messages in thread
From: Sam James @ 2023-10-01 13:35 UTC (permalink / raw
  To: gentoo-commits

commit:     776b1f23983dba368a34b90413a9eb3b6e822c78
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Oct  1 13:35:00 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Oct  1 13:35:00 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=776b1f23

app-emulation/dxvk: Stabilize 2.3 x86, #915004

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

 app-emulation/dxvk/dxvk-2.3.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/dxvk/dxvk-2.3.ebuild b/app-emulation/dxvk/dxvk-2.3.ebuild
index cb316e1bb60b..fb3a3ec6c7d0 100644
--- a/app-emulation/dxvk/dxvk-2.3.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.ebuild
@@ -28,7 +28,7 @@ else
 		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
 			-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz
 		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
-	KEYWORDS="-* ~amd64 ~x86"
+	KEYWORDS="-* ~amd64 x86"
 fi
 # setup_dxvk.sh is no longer provided, fetch old until a better solution
 SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2023-10-01 13:35 Sam James
  0 siblings, 0 replies; 63+ messages in thread
From: Sam James @ 2023-10-01 13:35 UTC (permalink / raw
  To: gentoo-commits

commit:     667c7fca77708ac679992b2a47203b29ea10bad6
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Oct  1 13:35:01 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Oct  1 13:35:01 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=667c7fca

app-emulation/dxvk: Stabilize 2.3 amd64, #915004

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

 app-emulation/dxvk/dxvk-2.3.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/dxvk/dxvk-2.3.ebuild b/app-emulation/dxvk/dxvk-2.3.ebuild
index fb3a3ec6c7d0..92af875703e3 100644
--- a/app-emulation/dxvk/dxvk-2.3.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.ebuild
@@ -28,7 +28,7 @@ else
 		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
 			-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz
 		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
-	KEYWORDS="-* ~amd64 x86"
+	KEYWORDS="-* amd64 x86"
 fi
 # setup_dxvk.sh is no longer provided, fetch old until a better solution
 SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-02-09 16:18 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-02-09 16:18 UTC (permalink / raw
  To: gentoo-commits

commit:     e9e9495a664937ab55dd2024d5a4470cb980ce75
Author:     Mike Lothian <mike <AT> fireburn <DOT> co <DOT> uk>
AuthorDate: Fri Feb  9 15:41:29 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Feb  9 16:16:06 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9e9495a

app-emulation/dxvk: Force fallback for libdisplay-info in 9999

Without this 64bit dxvk doesn't compile for me

ionen's note: to clarify this is due to finding the
system copy of libdisplay-info (if installed), but we're
cross-compiling using mingw so we don't want the ELF one

Signed-off-by: Mike Lothian <mike <AT> fireburn.co.uk>
Closes: https://github.com/gentoo/gentoo/pull/35245
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/dxvk/dxvk-9999.ebuild | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 8bd589ce90ec..de69f59f0828 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -128,6 +128,7 @@ multilib_src_configure() {
 	local emesonargs=(
 		--prefix="${EPREFIX}"/usr/lib/${PN}
 		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+		--force-fallback-for=libdisplay-info
 		$(meson_use {,enable_}d3d9)
 		$(meson_use {,enable_}d3d10)
 		$(meson_use {,enable_}d3d11)


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-02-09 16:18 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-02-09 16:18 UTC (permalink / raw
  To: gentoo-commits

commit:     11ba1a4dfe00e14526e5b1eed3a92cdfd377fa05
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  9 16:08:24 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Feb  9 16:17:19 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=11ba1a4d

app-emulation/dxvk: add short comment for libdisplay-info fallback

It may otherwise look odd at a glance.

Bundled fallback is normally not something we want to do, but this
is a special situation. Solving properly would essentially involve
having PE multilib (abi_x86_pe32/64 or so) on libdisplay-info which
is far too involved for little gain.

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

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

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index de69f59f0828..c7933f3faf2e 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-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
@@ -128,7 +128,7 @@ multilib_src_configure() {
 	local emesonargs=(
 		--prefix="${EPREFIX}"/usr/lib/${PN}
 		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
-		--force-fallback-for=libdisplay-info
+		--force-fallback-for=libdisplay-info # system's is ELF (unusable)
 		$(meson_use {,enable_}d3d9)
 		$(meson_use {,enable_}d3d10)
 		$(meson_use {,enable_}d3d11)


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-03-20  7:17 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-03-20  7:17 UTC (permalink / raw
  To: gentoo-commits

commit:     17416485276304b45c4be8623534731ccf90eb8c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 20 06:18:35 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Mar 20 07:01:03 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17416485

app-emulation/dxvk: "fix" VariableOrderWrong

More of an edge case, meant to keep it close to the 9999 block's
SRC_URI. But fairly harmless to make pkgcheck happy by moving it down.

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

 app-emulation/dxvk/dxvk-2.2-r1.ebuild | 7 ++++---
 app-emulation/dxvk/dxvk-2.3.ebuild    | 7 ++++---
 app-emulation/dxvk/dxvk-9999.ebuild   | 5 +++--
 3 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-2.2-r1.ebuild b/app-emulation/dxvk/dxvk-2.2-r1.ebuild
index 7cbb0d092bfd..0b08fa5c5d86 100644
--- a/app-emulation/dxvk/dxvk-2.2-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.2-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
@@ -30,12 +30,13 @@ else
 		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
 	KEYWORDS="-* amd64 x86"
 fi
-# setup_dxvk.sh is no longer provided, fetch old until a better solution
-SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
 
 DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
 HOMEPAGE="https://github.com/doitsujin/dxvk/"
 
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
 LICENSE="ZLIB Apache-2.0 MIT"
 SLOT="0"
 IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"

diff --git a/app-emulation/dxvk/dxvk-2.3.ebuild b/app-emulation/dxvk/dxvk-2.3.ebuild
index 92af875703e3..90f66f2217d7 100644
--- a/app-emulation/dxvk/dxvk-2.3.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.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
@@ -30,12 +30,13 @@ else
 		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
 	KEYWORDS="-* amd64 x86"
 fi
-# setup_dxvk.sh is no longer provided, fetch old until a better solution
-SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
 
 DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
 HOMEPAGE="https://github.com/doitsujin/dxvk/"
 
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
 LICENSE="ZLIB Apache-2.0 MIT"
 SLOT="0"
 IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 +dxgi +strip"

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index c7933f3faf2e..a2cd79c6bd8c 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -30,12 +30,13 @@ else
 		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
 	KEYWORDS="-* ~amd64 ~x86"
 fi
-# setup_dxvk.sh is no longer provided, fetch old until a better solution
-SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
 
 DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
 HOMEPAGE="https://github.com/doitsujin/dxvk/"
 
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
 LICENSE="ZLIB Apache-2.0 MIT"
 SLOT="0"
 IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 +dxgi +strip"


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-03-20 13:37 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-03-20 13:37 UTC (permalink / raw
  To: gentoo-commits

commit:     ebe9da8ec1e72ecda6f8be1341391ce0449a7edc
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 20 13:27:04 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Mar 20 13:30:52 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ebe9da8e

app-emulation/dxvk: sync live

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

 app-emulation/dxvk/dxvk-9999.ebuild | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index a2cd79c6bd8c..e890aec12fbd 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -17,17 +17,18 @@ if [[ ${PV} == 9999 ]]; then
 		subprojects/libdisplay-info
 	)
 else
-	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
-	HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
-	HASH_DISPLAYINFO=d39344f466caae0495ebac4d49b03a886d83ba3a
+	HASH_SPIRV=
+	HASH_VULKAN=
+	HASH_DISPLAYINFO=
 	SRC_URI="
 		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
 			-> ${P}.tar.gz
 		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
-			-> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
+			-> spirv-headers-${HASH_SPIRV}.tar.gz
 		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
-			-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz
-		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
+			-> vulkan-headers-${HASH_VULKAN}.tar.gz
+		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
+	"
 	KEYWORDS="-* ~amd64 ~x86"
 fi
 
@@ -43,12 +44,14 @@ IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 +dxgi +strip"
 REQUIRED_USE="
 	|| ( d3d9 d3d10 d3d11 dxgi )
 	d3d10? ( d3d11 )
-	d3d11? ( dxgi )"
+	d3d11? ( dxgi )
+"
 
 BDEPEND="
 	${PYTHON_DEPS}
 	dev-util/glslang
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-03-20 13:37 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-03-20 13:37 UTC (permalink / raw
  To: gentoo-commits

commit:     4a9ce7313cad70d435f1babf775206749c710732
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 20 13:26:37 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Mar 20 13:30:52 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4a9ce731

app-emulation/dxvk: add 2.3.1

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

 app-emulation/dxvk/Manifest          |   4 +
 app-emulation/dxvk/dxvk-2.3.1.ebuild | 186 +++++++++++++++++++++++++++++++++++
 2 files changed, 190 insertions(+)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index 5ea1d519dd14..cc8ab92a4080 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,9 +1,13 @@
 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
 DIST dxvk-2.2.tar.gz 976671 BLAKE2B 537fb8d8adb69562f8e759c6f68e5ed38a62e6ebcf05d7ed1ea32fef518af30cd53d3ffec0e3dba175d449d80de980585f91bfcf8c3904a08385b17b55b9b63b SHA512 02d066093855c3ecae7123fcaeaa32212e03fcda9556c5b70ff23eadc07240199003b8e4673f5b492487fa6e240d70a36f5b4e60b0f389f422cf4474b7197e2f
+DIST dxvk-2.3.1.tar.gz 1005669 BLAKE2B d78448fcde9d600f7206dfa606fca4069e7563bb8b181fbc172691d6c45586904ae529550926a03612ed3cc1f2a2dff00990638125c1d7ce6179d3cd3ba8df04 SHA512 085567ac263872eb93d776ce7cf982690603e240a977dbb51ad69344af387fd745536ca62819afd4a809732a6f2d22b36c3df9538decf37dec527973d41e392f
 DIST dxvk-2.3.tar.gz 996736 BLAKE2B 55944472726e1d946b84cec386267bb65511c83a18647076b5d76c78d552ad2e4710a125c3e1a9f1c0c65b8de43a122c61aec5873ec0d566a20a1f4a9088f461 SHA512 d60421f6b93e09fb18d7f92f636bb228ec5d9ab6a90ca73e1e3c240c50ad35a90ac25fce1ac3f0a940c4da8e92e1c4267a2c602eaa78ff64db12507cc4d08173
 DIST dxvk-libdisplay-info-275e6459c7.tar.bz2 81172 BLAKE2B 7a1e9e2feeb95e06e9d3f49ad9d14a8a152cca525085e819cda0b69c238fb79dddd6d547cd0f0a4b51dfc1ec74ac4c006345b9fc48563807bc8ab3bab58ea5ff SHA512 794e94e8c16d65901a7b705d1ba3361817b4e9e19e520b1004bcab232d0347f5713594d67f3c2b79d4f86b3012e710c648975547d27a63de043fcbe9e6b7e66d
 DIST dxvk-libdisplay-info-d39344f466.tar.bz2 81232 BLAKE2B af76ccd3c40bc953008bc30d222c72f90bdc77f47f767b6e7423efaa0ec89d746396a755160b5470e219a15a0aa392be6066aab12921b45a1adb35d88132cd97 SHA512 79b4bf325cefc39bc587233bd82ff64c927ca5f829b8172d213c3d47af725c8dc7fe33576a8e96a869075ee2a8f00d165f3aa9e6c472e862a47e5c800b2b3315
 DIST dxvk-spirv-headers-0bcc624926.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c
 DIST dxvk-vulkan-headers-85c2334e92.tar.gz 2046570 BLAKE2B 8e7f917d440793d85afae9227514fd97ae6cab6ece53abc54320808c10ddbc84a5421663f6b7549c98fbe8b8144a3c5b8bea73d39e6c99a289c5b0baadf3abd8 SHA512 eb7bcec11fb4e7302411c30501e72d567f481a14098ece9c54c023fe4644298f1c14268ef240cfe73ddb75f9817946513cc2218e34b706ea0be5e94ecbed0f91
 DIST dxvk-vulkan-headers-98f440ce68.tar.gz 1691979 BLAKE2B bf6fd288f16df7adcb5cebeb6e13713db1c26a0b833dead2fb522227861abc60b2d0cda8e3f46f8e89cccb629e01081ba27763989ad6fd336c60a475b198c1c8 SHA512 69238d37d0af0162e0fd68094cd2fa9baa320497d34a9de491dea086c23291d0815b51e89218b1f0ee2b3314cbc8ac1809d6edb15ca51fcb282fe1e2b39a1a77
+DIST libdisplay-info-275e6459c7ab1ddd4b125f28d0440716e4888078.tar.bz2 81172 BLAKE2B 7a1e9e2feeb95e06e9d3f49ad9d14a8a152cca525085e819cda0b69c238fb79dddd6d547cd0f0a4b51dfc1ec74ac4c006345b9fc48563807bc8ab3bab58ea5ff SHA512 794e94e8c16d65901a7b705d1ba3361817b4e9e19e520b1004bcab232d0347f5713594d67f3c2b79d4f86b3012e710c648975547d27a63de043fcbe9e6b7e66d
 DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121
+DIST spirv-headers-8b246ff75c6615ba4532fe4fde20f1be090c3764.tar.gz 472513 BLAKE2B f1ad7e11c306c62509655eb41d74efc5fb88688780d006c6944844e964b339baa000f70e115c4df2947e882c9ac33186e301b31138c38fe5f997f7af7260f521 SHA512 fe1d9d70b217b194c92dd397bca386ce8452bc5ec3967d64a257b3a531386fe6a6ecb5e9ed8ab5bc5a2707c5378f02f05809d6d197dcfb3f87cd33304c3b1959
+DIST vulkan-headers-46dc0f6e514f5730784bb2cac2a7c731636839e8.tar.gz 2255426 BLAKE2B efaf09df3274586c4df2bdd0b1dd9dd43b3b6125e0033ae87af999aea64709e9758bc7b675398b480ae063e28273732d768062d97f6cd61d63ccc798ca7410a5 SHA512 7ea993f7c8ff72dc6bedbfdaced29782ab372228e9111f747d931955e832a7920114f5d1953ecd34d220634a53449ca2ed4c0ed28d3165e258c4d9fafd0aa4be

diff --git a/app-emulation/dxvk/dxvk-2.3.1.ebuild b/app-emulation/dxvk/dxvk-2.3.1.ebuild
new file mode 100644
index 000000000000..4a3b8f982943
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-2.3.1.ebuild
@@ -0,0 +1,186 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+	EGIT_SUBMODULES=(
+		# picky about headers and is cross-compiled making -I/usr/include troublesome
+		include/{spirv,vulkan}
+		subprojects/libdisplay-info
+	)
+else
+	HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
+	HASH_VULKAN=46dc0f6e514f5730784bb2cac2a7c731636839e8
+	HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078
+	SRC_URI="
+		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
+			-> ${P}.tar.gz
+		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+			-> spirv-headers-${HASH_SPIRV}.tar.gz
+		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+			-> vulkan-headers-${HASH_VULKAN}.tar.gz
+		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
+	"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
+LICENSE="ZLIB Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 +dxgi +strip"
+REQUIRED_USE="
+	|| ( d3d9 d3d10 d3d11 dxgi )
+	d3d10? ( d3d11 )
+	d3d11? ( dxgi )
+"
+
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-util/glslang
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
+)
+
+pkg_pretend() {
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+		local tool=-w64-mingw32-g++
+		for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+			if ! type -P ${tool} >/dev/null; then
+				eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+				eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+				use abi_x86_32 && use abi_x86_64 &&
+					eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+				die "USE=crossdev-mingw is set but ${tool} was not found"
+			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+				eerror "${PN} requires GCC to be built with --enable-threads=posix"
+				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+			fi
+		done
+	fi
+}
+
+src_prepare() {
+	if [[ ${PV} != 9999 ]]; then
+		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
+		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
+	fi
+	cp -- "${DISTDIR}"/setup_dxvk.sh . || die
+
+	default
+
+	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# -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
+			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 RC STRIP
+
+	local emesonargs=(
+		--prefix="${EPREFIX}"/usr/lib/${PN}
+		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+		--force-fallback-for=libdisplay-info # system's is ELF (unusable)
+		$(meson_use {,enable_}d3d9)
+		$(meson_use {,enable_}d3d10)
+		$(meson_use {,enable_}d3d11)
+		$(meson_use {,enable_}dxgi)
+		$(usev strip --strip) # portage won't strip .dll, so allow it here
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install_all() {
+	dobin setup_dxvk.sh
+	dodoc README.md dxvk.conf
+
+	find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_preinst() {
+	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
+		elog "removed upstream, handling may change in the future."
+	elif [[ -v DXVK_HAD_OVERLAY ]]; then
+		# temporary warning until this version is more widely used
+		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
+		elog "If you were using symbolic links in wine prefixes it may be necessary to"
+		elog "refresh them by re-running the command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
+		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
+	fi
+
+	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+		ver_test ${REPLACING_VERSIONS##* } -lt 2.0
+	then
+		elog
+		elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
+		elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
+		elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-03-24 18:39 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-03-24 18:39 UTC (permalink / raw
  To: gentoo-commits

commit:     ca1ee765901662ea2f7b3d3710f8f9f84feba095
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 24 18:16:38 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=ca1ee765

app-emulation/dxvk: 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/dxvk/dxvk-1.10.3-r1.ebuild | 8 +-------
 app-emulation/dxvk/dxvk-2.2-r1.ebuild    | 6 ------
 app-emulation/dxvk/dxvk-2.3.1.ebuild     | 6 ------
 app-emulation/dxvk/dxvk-2.3.ebuild       | 6 ------
 app-emulation/dxvk/dxvk-9999.ebuild      | 6 ------
 5 files changed, 1 insertion(+), 31 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild b/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
index 3a56e2fdd338..7c21ed2aab38 100644
--- a/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.3-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
@@ -79,12 +79,6 @@ src_configure() {
 			unset AR CC CXX RC STRIP
 			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/dxvk/dxvk-2.2-r1.ebuild b/app-emulation/dxvk/dxvk-2.2-r1.ebuild
index 0b08fa5c5d86..4a1b3cefe2ca 100644
--- a/app-emulation/dxvk/dxvk-2.2-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.2-r1.ebuild
@@ -103,12 +103,6 @@ src_configure() {
 			unset AR CC CXX RC STRIP
 			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/dxvk/dxvk-2.3.1.ebuild b/app-emulation/dxvk/dxvk-2.3.1.ebuild
index 4a3b8f982943..fb132f4d809f 100644
--- a/app-emulation/dxvk/dxvk-2.3.1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.1.ebuild
@@ -106,12 +106,6 @@ src_configure() {
 			unset AR CC CXX RC STRIP
 			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/dxvk/dxvk-2.3.ebuild b/app-emulation/dxvk/dxvk-2.3.ebuild
index 90f66f2217d7..ab5c0b7cb913 100644
--- a/app-emulation/dxvk/dxvk-2.3.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.ebuild
@@ -103,12 +103,6 @@ src_configure() {
 			unset AR CC CXX RC STRIP
 			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/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index e890aec12fbd..231f81d0ebed 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -106,12 +106,6 @@ src_configure() {
 			unset AR CC CXX RC STRIP
 			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] 63+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-03-27 16:45 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-03-27 16:45 UTC (permalink / raw
  To: gentoo-commits

commit:     9aebd463333aa33eed184167389f15873ece6f06
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 27 14:48:24 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Mar 27 16:36:47 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9aebd463

app-emulation/dxvk: mark as LTO unsafe

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

 app-emulation/dxvk/dxvk-1.10.3-r1.ebuild                       | 5 +++++
 app-emulation/dxvk/dxvk-2.2-r1.ebuild                          | 5 +++++
 app-emulation/dxvk/{dxvk-2.3.1.ebuild => dxvk-2.3.1-r1.ebuild} | 5 +++++
 app-emulation/dxvk/dxvk-2.3.ebuild                             | 5 +++++
 app-emulation/dxvk/dxvk-9999.ebuild                            | 5 +++++
 5 files changed, 25 insertions(+)

diff --git a/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild b/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
index 7c21ed2aab38..dd2598cfe637 100644
--- a/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
@@ -68,6 +68,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/dxvk/dxvk-2.2-r1.ebuild b/app-emulation/dxvk/dxvk-2.2-r1.ebuild
index 4a1b3cefe2ca..3273526f0700 100644
--- a/app-emulation/dxvk/dxvk-2.2-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.2-r1.ebuild
@@ -92,6 +92,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/dxvk/dxvk-2.3.1.ebuild b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
similarity index 97%
rename from app-emulation/dxvk/dxvk-2.3.1.ebuild
rename to app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
index fb132f4d809f..c3d261f000ce 100644
--- a/app-emulation/dxvk/dxvk-2.3.1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
@@ -95,6 +95,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/dxvk/dxvk-2.3.ebuild b/app-emulation/dxvk/dxvk-2.3.ebuild
index ab5c0b7cb913..432cc57f5108 100644
--- a/app-emulation/dxvk/dxvk-2.3.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.ebuild
@@ -92,6 +92,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/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 231f81d0ebed..46dba5771f65 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -95,6 +95,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] 63+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-03-28 10:10 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-03-28 10:10 UTC (permalink / raw
  To: gentoo-commits

commit:     18bba14d15e78f2572f74788d2557e095b91ddfb
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 28 10:05:56 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=18bba14d

app-emulation/dxvk: 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).

wrt bug #928038, this already been done a while ago for wine,
mingw64-runtime, and mingw64-toolchain itself and there *should*
have been only dxvk and vkd3d-proton left (now done).

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

 app-emulation/dxvk/dxvk-1.10.3-r1.ebuild | 5 +++++
 app-emulation/dxvk/dxvk-2.2-r1.ebuild    | 5 +++++
 app-emulation/dxvk/dxvk-2.3.1-r1.ebuild  | 5 +++++
 app-emulation/dxvk/dxvk-2.3.ebuild       | 5 +++++
 app-emulation/dxvk/dxvk-9999.ebuild      | 5 +++++
 5 files changed, 25 insertions(+)

diff --git a/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild b/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
index dd2598cfe637..701ccb453a83 100644
--- a/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
@@ -84,6 +84,11 @@ src_configure() {
 			unset AR CC CXX RC STRIP
 			filter-flags '-fuse-ld=*'
 			filter-flags '-mfunction-return=thunk*' #878849
+
+			# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+			# strip-unsupported-flags miss these during compile-only tests
+			# (primarily done for 23.0 profiles' -z, not full coverage)
+			filter-flags '-Wl,-z,*' #928038
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/dxvk/dxvk-2.2-r1.ebuild b/app-emulation/dxvk/dxvk-2.2-r1.ebuild
index 3273526f0700..1d3d3ded718f 100644
--- a/app-emulation/dxvk/dxvk-2.2-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.2-r1.ebuild
@@ -108,6 +108,11 @@ src_configure() {
 			unset AR CC CXX RC STRIP
 			filter-flags '-fuse-ld=*'
 			filter-flags '-mfunction-return=thunk*' #878849
+
+			# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+			# strip-unsupported-flags miss these during compile-only tests
+			# (primarily done for 23.0 profiles' -z, not full coverage)
+			filter-flags '-Wl,-z,*' #928038
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
index c3d261f000ce..d47a7f2b914a 100644
--- a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
@@ -111,6 +111,11 @@ src_configure() {
 			unset AR CC CXX RC STRIP
 			filter-flags '-fuse-ld=*'
 			filter-flags '-mfunction-return=thunk*' #878849
+
+			# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+			# strip-unsupported-flags miss these during compile-only tests
+			# (primarily done for 23.0 profiles' -z, not full coverage)
+			filter-flags '-Wl,-z,*' #928038
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/dxvk/dxvk-2.3.ebuild b/app-emulation/dxvk/dxvk-2.3.ebuild
index 432cc57f5108..2a0cdc34b1a0 100644
--- a/app-emulation/dxvk/dxvk-2.3.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.ebuild
@@ -108,6 +108,11 @@ src_configure() {
 			unset AR CC CXX RC STRIP
 			filter-flags '-fuse-ld=*'
 			filter-flags '-mfunction-return=thunk*' #878849
+
+			# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+			# strip-unsupported-flags miss these during compile-only tests
+			# (primarily done for 23.0 profiles' -z, not full coverage)
+			filter-flags '-Wl,-z,*' #928038
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 46dba5771f65..210cfcc0e294 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -111,6 +111,11 @@ src_configure() {
 			unset AR CC CXX RC STRIP
 			filter-flags '-fuse-ld=*'
 			filter-flags '-mfunction-return=thunk*' #878849
+
+			# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+			# strip-unsupported-flags miss these during compile-only tests
+			# (primarily done for 23.0 profiles' -z, not full coverage)
+			filter-flags '-Wl,-z,*' #928038
 		fi
 
 		CHOST_amd64=x86_64-w64-mingw32


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-04-27 21:46 Sam James
  0 siblings, 0 replies; 63+ messages in thread
From: Sam James @ 2024-04-27 21:46 UTC (permalink / raw
  To: gentoo-commits

commit:     57c9984fb1c8e404de03de16a1babe3f444556eb
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 27 21:45:34 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Apr 27 21:45:34 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57c9984f

app-emulation/dxvk: Stabilize 2.3.1-r1 amd64, #930780

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

 app-emulation/dxvk/dxvk-2.3.1-r1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
index 196352c5a60e..71e43a8fd5eb 100644
--- a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
@@ -29,7 +29,7 @@ else
 			-> vulkan-headers-${HASH_VULKAN}.tar.gz
 		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
 	"
-	KEYWORDS="-* ~amd64 x86"
+	KEYWORDS="-* amd64 x86"
 fi
 
 DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-04-27 21:46 Sam James
  0 siblings, 0 replies; 63+ messages in thread
From: Sam James @ 2024-04-27 21:46 UTC (permalink / raw
  To: gentoo-commits

commit:     74a59b583a2d4e34fde27c35e440118e30028ffa
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 27 21:45:33 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Apr 27 21:45:33 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=74a59b58

app-emulation/dxvk: Stabilize 2.3.1-r1 x86, #930780

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

 app-emulation/dxvk/dxvk-2.3.1-r1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
index d47a7f2b914a..196352c5a60e 100644
--- a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
@@ -29,7 +29,7 @@ else
 			-> vulkan-headers-${HASH_VULKAN}.tar.gz
 		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
 	"
-	KEYWORDS="-* ~amd64 ~x86"
+	KEYWORDS="-* ~amd64 x86"
 fi
 
 DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-05-07 14:28 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-05-07 14:28 UTC (permalink / raw
  To: gentoo-commits

commit:     bc0b4714483d3aa935597e8b6b029c81f3242cdb
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May  7 11:40:14 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=bc0b4714

app-emulation/dxvk: drop 2.2-r1, 2.3

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

 app-emulation/dxvk/Manifest           |   7 --
 app-emulation/dxvk/dxvk-2.2-r1.ebuild | 186 ----------------------------------
 app-emulation/dxvk/dxvk-2.3.ebuild    | 186 ----------------------------------
 3 files changed, 379 deletions(-)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index cc8ab92a4080..1469578046c4 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,12 +1,5 @@
 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
-DIST dxvk-2.2.tar.gz 976671 BLAKE2B 537fb8d8adb69562f8e759c6f68e5ed38a62e6ebcf05d7ed1ea32fef518af30cd53d3ffec0e3dba175d449d80de980585f91bfcf8c3904a08385b17b55b9b63b SHA512 02d066093855c3ecae7123fcaeaa32212e03fcda9556c5b70ff23eadc07240199003b8e4673f5b492487fa6e240d70a36f5b4e60b0f389f422cf4474b7197e2f
 DIST dxvk-2.3.1.tar.gz 1005669 BLAKE2B d78448fcde9d600f7206dfa606fca4069e7563bb8b181fbc172691d6c45586904ae529550926a03612ed3cc1f2a2dff00990638125c1d7ce6179d3cd3ba8df04 SHA512 085567ac263872eb93d776ce7cf982690603e240a977dbb51ad69344af387fd745536ca62819afd4a809732a6f2d22b36c3df9538decf37dec527973d41e392f
-DIST dxvk-2.3.tar.gz 996736 BLAKE2B 55944472726e1d946b84cec386267bb65511c83a18647076b5d76c78d552ad2e4710a125c3e1a9f1c0c65b8de43a122c61aec5873ec0d566a20a1f4a9088f461 SHA512 d60421f6b93e09fb18d7f92f636bb228ec5d9ab6a90ca73e1e3c240c50ad35a90ac25fce1ac3f0a940c4da8e92e1c4267a2c602eaa78ff64db12507cc4d08173
-DIST dxvk-libdisplay-info-275e6459c7.tar.bz2 81172 BLAKE2B 7a1e9e2feeb95e06e9d3f49ad9d14a8a152cca525085e819cda0b69c238fb79dddd6d547cd0f0a4b51dfc1ec74ac4c006345b9fc48563807bc8ab3bab58ea5ff SHA512 794e94e8c16d65901a7b705d1ba3361817b4e9e19e520b1004bcab232d0347f5713594d67f3c2b79d4f86b3012e710c648975547d27a63de043fcbe9e6b7e66d
-DIST dxvk-libdisplay-info-d39344f466.tar.bz2 81232 BLAKE2B af76ccd3c40bc953008bc30d222c72f90bdc77f47f767b6e7423efaa0ec89d746396a755160b5470e219a15a0aa392be6066aab12921b45a1adb35d88132cd97 SHA512 79b4bf325cefc39bc587233bd82ff64c927ca5f829b8172d213c3d47af725c8dc7fe33576a8e96a869075ee2a8f00d165f3aa9e6c472e862a47e5c800b2b3315
-DIST dxvk-spirv-headers-0bcc624926.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c
-DIST dxvk-vulkan-headers-85c2334e92.tar.gz 2046570 BLAKE2B 8e7f917d440793d85afae9227514fd97ae6cab6ece53abc54320808c10ddbc84a5421663f6b7549c98fbe8b8144a3c5b8bea73d39e6c99a289c5b0baadf3abd8 SHA512 eb7bcec11fb4e7302411c30501e72d567f481a14098ece9c54c023fe4644298f1c14268ef240cfe73ddb75f9817946513cc2218e34b706ea0be5e94ecbed0f91
-DIST dxvk-vulkan-headers-98f440ce68.tar.gz 1691979 BLAKE2B bf6fd288f16df7adcb5cebeb6e13713db1c26a0b833dead2fb522227861abc60b2d0cda8e3f46f8e89cccb629e01081ba27763989ad6fd336c60a475b198c1c8 SHA512 69238d37d0af0162e0fd68094cd2fa9baa320497d34a9de491dea086c23291d0815b51e89218b1f0ee2b3314cbc8ac1809d6edb15ca51fcb282fe1e2b39a1a77
 DIST libdisplay-info-275e6459c7ab1ddd4b125f28d0440716e4888078.tar.bz2 81172 BLAKE2B 7a1e9e2feeb95e06e9d3f49ad9d14a8a152cca525085e819cda0b69c238fb79dddd6d547cd0f0a4b51dfc1ec74ac4c006345b9fc48563807bc8ab3bab58ea5ff SHA512 794e94e8c16d65901a7b705d1ba3361817b4e9e19e520b1004bcab232d0347f5713594d67f3c2b79d4f86b3012e710c648975547d27a63de043fcbe9e6b7e66d
 DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121
 DIST spirv-headers-8b246ff75c6615ba4532fe4fde20f1be090c3764.tar.gz 472513 BLAKE2B f1ad7e11c306c62509655eb41d74efc5fb88688780d006c6944844e964b339baa000f70e115c4df2947e882c9ac33186e301b31138c38fe5f997f7af7260f521 SHA512 fe1d9d70b217b194c92dd397bca386ce8452bc5ec3967d64a257b3a531386fe6a6ecb5e9ed8ab5bc5a2707c5378f02f05809d6d197dcfb3f87cd33304c3b1959

diff --git a/app-emulation/dxvk/dxvk-2.2-r1.ebuild b/app-emulation/dxvk/dxvk-2.2-r1.ebuild
deleted file mode 100644
index 1d3d3ded718f..000000000000
--- a/app-emulation/dxvk/dxvk-2.2-r1.ebuild
+++ /dev/null
@@ -1,186 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-inherit flag-o-matic meson-multilib python-any-r1
-
-if [[ ${PV} == 9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
-	EGIT_SUBMODULES=(
-		# picky about headers and is cross-compiled making -I/usr/include troublesome
-		include/{spirv,vulkan}
-		subprojects/libdisplay-info
-	)
-else
-	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
-	HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
-	HASH_DISPLAYINFO=d39344f466caae0495ebac4d49b03a886d83ba3a
-	SRC_URI="
-		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
-			-> ${P}.tar.gz
-		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
-			-> ${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
-		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
-	KEYWORDS="-* amd64 x86"
-fi
-
-DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
-HOMEPAGE="https://github.com/doitsujin/dxvk/"
-
-# setup_dxvk.sh is no longer provided, fetch old until a better solution
-SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
-
-LICENSE="ZLIB Apache-2.0 MIT"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
-REQUIRED_USE="
-	|| ( d3d9 d3d10 d3d11 dxgi )
-	d3d10? ( d3d11 )
-	d3d11? ( dxgi )"
-
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-util/glslang
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
-)
-
-pkg_pretend() {
-	[[ ${MERGE_TYPE} == binary ]] && return
-
-	if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
-		local tool=-w64-mingw32-g++
-		for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
-			if ! type -P ${tool} >/dev/null; then
-				eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
-				eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
-				use abi_x86_32 && use abi_x86_64 &&
-					eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
-				die "USE=crossdev-mingw is set but ${tool} was not found"
-			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
-				eerror "${PN} requires GCC to be built with --enable-threads=posix"
-				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
-				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
-			fi
-		done
-	fi
-}
-
-src_prepare() {
-	if [[ ${PV} != 9999 ]]; then
-		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
-		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
-		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
-		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
-	fi
-	cp -- "${DISTDIR}"/setup_dxvk.sh . || die
-
-	default
-
-	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
-}
-
-src_configure() {
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# random segfaults been reported with LTO in some games, filter as
-	# a safety (note that optimizing this further won't really help
-	# performance, GPU does the actual work)
-	filter-lto
-
-	# -mavx 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
-			filter-flags '-fuse-ld=*'
-			filter-flags '-mfunction-return=thunk*' #878849
-
-			# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
-			# strip-unsupported-flags miss these during compile-only tests
-			# (primarily done for 23.0 profiles' -z, not full coverage)
-			filter-flags '-Wl,-z,*' #928038
-		fi
-
-		CHOST_amd64=x86_64-w64-mingw32
-		CHOST_x86=i686-w64-mingw32
-		CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
-
-		strip-unsupported-flags
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
-	# unset again so meson eclass will set ${CHOST}-gcc + others
-	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
-
-	local emesonargs=(
-		--prefix="${EPREFIX}"/usr/lib/${PN}
-		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
-		$(meson_use {,enable_}d3d9)
-		$(meson_use {,enable_}d3d10)
-		$(meson_use {,enable_}d3d11)
-		$(meson_use {,enable_}dxgi)
-		$(usev !debug --strip) # portage won't strip .dll, so allow it here
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install_all() {
-	dobin setup_dxvk.sh
-	dodoc README.md dxvk.conf
-
-	find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_preinst() {
-	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
-}
-
-pkg_postinst() {
-	if [[ ! ${REPLACING_VERSIONS} ]]; then
-		elog "To enable ${PN} on a wine prefix, you can run the following command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
-		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
-		elog "removed upstream, handling may change in the future."
-	elif [[ -v DXVK_HAD_OVERLAY ]]; then
-		# temporary warning until this version is more widely used
-		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
-		elog "If you were using symbolic links in wine prefixes it may be necessary to"
-		elog "refresh them by re-running the command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
-		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
-	fi
-
-	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
-		ver_test ${REPLACING_VERSIONS##* } -lt 2.0
-	then
-		elog
-		elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
-		elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
-		elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
-	fi
-}

diff --git a/app-emulation/dxvk/dxvk-2.3.ebuild b/app-emulation/dxvk/dxvk-2.3.ebuild
deleted file mode 100644
index 2a0cdc34b1a0..000000000000
--- a/app-emulation/dxvk/dxvk-2.3.ebuild
+++ /dev/null
@@ -1,186 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-inherit flag-o-matic meson-multilib python-any-r1
-
-if [[ ${PV} == 9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
-	EGIT_SUBMODULES=(
-		# picky about headers and is cross-compiled making -I/usr/include troublesome
-		include/{spirv,vulkan}
-		subprojects/libdisplay-info
-	)
-else
-	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
-	HASH_VULKAN=85c2334e92e215cce34e8e0ed8b2dce4700f4a50
-	HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078
-	SRC_URI="
-		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
-			-> ${P}.tar.gz
-		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
-			-> ${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
-		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
-	KEYWORDS="-* amd64 x86"
-fi
-
-DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
-HOMEPAGE="https://github.com/doitsujin/dxvk/"
-
-# setup_dxvk.sh is no longer provided, fetch old until a better solution
-SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
-
-LICENSE="ZLIB Apache-2.0 MIT"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 +dxgi +strip"
-REQUIRED_USE="
-	|| ( d3d9 d3d10 d3d11 dxgi )
-	d3d10? ( d3d11 )
-	d3d11? ( dxgi )"
-
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-util/glslang
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
-)
-
-pkg_pretend() {
-	[[ ${MERGE_TYPE} == binary ]] && return
-
-	if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
-		local tool=-w64-mingw32-g++
-		for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
-			if ! type -P ${tool} >/dev/null; then
-				eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
-				eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
-				use abi_x86_32 && use abi_x86_64 &&
-					eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
-				die "USE=crossdev-mingw is set but ${tool} was not found"
-			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
-				eerror "${PN} requires GCC to be built with --enable-threads=posix"
-				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
-				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
-			fi
-		done
-	fi
-}
-
-src_prepare() {
-	if [[ ${PV} != 9999 ]]; then
-		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
-		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
-		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
-		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
-	fi
-	cp -- "${DISTDIR}"/setup_dxvk.sh . || die
-
-	default
-
-	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
-}
-
-src_configure() {
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# random segfaults been reported with LTO in some games, filter as
-	# a safety (note that optimizing this further won't really help
-	# performance, GPU does the actual work)
-	filter-lto
-
-	# -mavx 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
-			filter-flags '-fuse-ld=*'
-			filter-flags '-mfunction-return=thunk*' #878849
-
-			# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
-			# strip-unsupported-flags miss these during compile-only tests
-			# (primarily done for 23.0 profiles' -z, not full coverage)
-			filter-flags '-Wl,-z,*' #928038
-		fi
-
-		CHOST_amd64=x86_64-w64-mingw32
-		CHOST_x86=i686-w64-mingw32
-		CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
-
-		strip-unsupported-flags
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
-	# unset again so meson eclass will set ${CHOST}-gcc + others
-	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
-
-	local emesonargs=(
-		--prefix="${EPREFIX}"/usr/lib/${PN}
-		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
-		$(meson_use {,enable_}d3d9)
-		$(meson_use {,enable_}d3d10)
-		$(meson_use {,enable_}d3d11)
-		$(meson_use {,enable_}dxgi)
-		$(usev strip --strip) # portage won't strip .dll, so allow it here
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install_all() {
-	dobin setup_dxvk.sh
-	dodoc README.md dxvk.conf
-
-	find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_preinst() {
-	[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
-}
-
-pkg_postinst() {
-	if [[ ! ${REPLACING_VERSIONS} ]]; then
-		elog "To enable ${PN} on a wine prefix, you can run the following command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
-		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
-		elog "removed upstream, handling may change in the future."
-	elif [[ -v DXVK_HAD_OVERLAY ]]; then
-		# temporary warning until this version is more widely used
-		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
-		elog "If you were using symbolic links in wine prefixes it may be necessary to"
-		elog "refresh them by re-running the command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
-		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
-	fi
-
-	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
-		ver_test ${REPLACING_VERSIONS##* } -lt 2.0
-	then
-		elog
-		elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
-		elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
-		elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
-	fi
-}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-05-10  4:26 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-05-10  4:26 UTC (permalink / raw
  To: gentoo-commits

commit:     a16b18fcd90062b121ddaf6724873235142dbe06
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri May 10 04:18:06 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri May 10 04:18:06 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a16b18fc

app-emulation/dxvk: enable py3.13

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

 app-emulation/dxvk/dxvk-2.3.1-r1.ebuild | 2 +-
 app-emulation/dxvk/dxvk-9999.ebuild     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
index 83b5127b668d..640326b8a12d 100644
--- a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
 MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 inherit flag-o-matic meson-multilib python-any-r1

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index d5c49f045d48..9db73b208248 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
 MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 inherit flag-o-matic meson-multilib python-any-r1


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-05-21  3:01 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-05-21  3:01 UTC (permalink / raw
  To: gentoo-commits

commit:     0ee751a060fc66194a019a0fdd23bde99775cb01
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 21 02:23:55 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=0ee751a0

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

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

 app-emulation/dxvk/dxvk-1.10.3-r1.ebuild | 3 +++
 app-emulation/dxvk/dxvk-2.3.1-r1.ebuild  | 3 +++
 app-emulation/dxvk/dxvk-9999.ebuild      | 3 +++
 3 files changed, 9 insertions(+)

diff --git a/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild b/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
index 701ccb453a83..29d08dd1188a 100644
--- a/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
@@ -79,6 +79,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

diff --git a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
index 640326b8a12d..eef73bd94529 100644
--- a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
@@ -107,6 +107,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

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 9db73b208248..9309ae514030 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -107,6 +107,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


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-05-22  3:32 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-05-22  3:32 UTC (permalink / raw
  To: gentoo-commits

commit:     41133645d8bd37dfb58374065b0a670e58948403
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed May 22 02:11:18 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=41133645

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

This reverts commit 0ee751a060fc66194a019a0fdd23bde99775cb01.

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/dxvk/dxvk-1.10.3-r1.ebuild | 3 ---
 app-emulation/dxvk/dxvk-2.3.1-r1.ebuild  | 3 ---
 app-emulation/dxvk/dxvk-9999.ebuild      | 3 ---
 3 files changed, 9 deletions(-)

diff --git a/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild b/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
index 29d08dd1188a..701ccb453a83 100644
--- a/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
@@ -79,9 +79,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

diff --git a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
index eef73bd94529..640326b8a12d 100644
--- a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
@@ -107,9 +107,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

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 9309ae514030..9db73b208248 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -107,9 +107,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


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-07-10 12:18 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-07-10 12:18 UTC (permalink / raw
  To: gentoo-commits

commit:     9d705e7037b6c5b7783b9f8482a58fcdfa187b9f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 10 12:09:26 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jul 10 12:17:39 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d705e70

app-emulation/dxvk: add 2.4

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

 app-emulation/dxvk/Manifest        |   1 +
 app-emulation/dxvk/dxvk-2.4.ebuild | 182 +++++++++++++++++++++++++++++++++++++
 2 files changed, 183 insertions(+)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index 1469578046c4..437d112c907e 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,5 +1,6 @@
 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
 DIST dxvk-2.3.1.tar.gz 1005669 BLAKE2B d78448fcde9d600f7206dfa606fca4069e7563bb8b181fbc172691d6c45586904ae529550926a03612ed3cc1f2a2dff00990638125c1d7ce6179d3cd3ba8df04 SHA512 085567ac263872eb93d776ce7cf982690603e240a977dbb51ad69344af387fd745536ca62819afd4a809732a6f2d22b36c3df9538decf37dec527973d41e392f
+DIST dxvk-2.4.tar.gz 1052380 BLAKE2B d27795747c313dd93a399b82a78bb8349efcac91df9b138f1349ad9e030450980f1ce57f2b912cb13913a9b52f380967e05aab05c92071c0ceea5ab850aba479 SHA512 2db5a9a0c0a47e1db33cc938ecae40f1f24b60cfa1cc381ebab96aa0a2b4d9574947ed0c90a28fda15fe6fa1cbb560559f11b2f5c116e579fe7b9ff41c2f0f78
 DIST libdisplay-info-275e6459c7ab1ddd4b125f28d0440716e4888078.tar.bz2 81172 BLAKE2B 7a1e9e2feeb95e06e9d3f49ad9d14a8a152cca525085e819cda0b69c238fb79dddd6d547cd0f0a4b51dfc1ec74ac4c006345b9fc48563807bc8ab3bab58ea5ff SHA512 794e94e8c16d65901a7b705d1ba3361817b4e9e19e520b1004bcab232d0347f5713594d67f3c2b79d4f86b3012e710c648975547d27a63de043fcbe9e6b7e66d
 DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121
 DIST spirv-headers-8b246ff75c6615ba4532fe4fde20f1be090c3764.tar.gz 472513 BLAKE2B f1ad7e11c306c62509655eb41d74efc5fb88688780d006c6944844e964b339baa000f70e115c4df2947e882c9ac33186e301b31138c38fe5f997f7af7260f521 SHA512 fe1d9d70b217b194c92dd397bca386ce8452bc5ec3967d64a257b3a531386fe6a6ecb5e9ed8ab5bc5a2707c5378f02f05809d6d197dcfb3f87cd33304c3b1959

diff --git a/app-emulation/dxvk/dxvk-2.4.ebuild b/app-emulation/dxvk/dxvk-2.4.ebuild
new file mode 100644
index 000000000000..b29fad2d8a7f
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-2.4.ebuild
@@ -0,0 +1,182 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+	EGIT_SUBMODULES=(
+		# picky about headers and is cross-compiled making -I/usr/include troublesome
+		include/{spirv,vulkan}
+		subprojects/libdisplay-info
+	)
+else
+	HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
+	HASH_VULKAN=46dc0f6e514f5730784bb2cac2a7c731636839e8
+	HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078
+	SRC_URI="
+		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
+			-> ${P}.tar.gz
+		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+			-> spirv-headers-${HASH_SPIRV}.tar.gz
+		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+			-> vulkan-headers-${HASH_VULKAN}.tar.gz
+		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
+	"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
+LICENSE="ZLIB Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d8 +d3d9 +d3d10 +d3d11 +dxgi +strip"
+REQUIRED_USE="
+	|| ( d3d8 d3d9 d3d10 d3d11 dxgi )
+	d3d8? ( d3d9 )
+	d3d10? ( d3d11 )
+	d3d11? ( dxgi )
+"
+
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-util/glslang
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
+	"${FILESDIR}"/${PN}-2.3.1-gcc14.patch
+	"${FILESDIR}"/${PN}-2.4-d3d8-setup.patch
+)
+
+pkg_pretend() {
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+		local tool=-w64-mingw32-g++
+		for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+			if ! type -P ${tool} >/dev/null; then
+				eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+				eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+				use abi_x86_32 && use abi_x86_64 &&
+					eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+				die "USE=crossdev-mingw is set but ${tool} was not found"
+			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+				eerror "${PN} requires GCC to be built with --enable-threads=posix"
+				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+			fi
+		done
+	fi
+}
+
+src_prepare() {
+	if [[ ${PV} != 9999 ]]; then
+		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
+		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
+	fi
+	cp -- "${DISTDIR}"/setup_dxvk.sh . || die
+
+	default
+
+	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# random segfaults been reported with LTO in some games, filter as
+	# a safety (note that optimizing this further won't really help
+	# performance, GPU does the actual work)
+	filter-lto
+
+	# -mavx 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
+			filter-flags '-fuse-ld=*'
+			filter-flags '-mfunction-return=thunk*' #878849
+
+			# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+			# strip-unsupported-flags miss these during compile-only tests
+			# (primarily done for 23.0 profiles' -z, not full coverage)
+			filter-flags '-Wl,-z,*' #928038
+		fi
+
+		CHOST_amd64=x86_64-w64-mingw32
+		CHOST_x86=i686-w64-mingw32
+		CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+		strip-unsupported-flags
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+	# unset again so meson eclass will set ${CHOST}-gcc + others
+	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+	local emesonargs=(
+		--prefix="${EPREFIX}"/usr/lib/${PN}
+		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+		--force-fallback-for=libdisplay-info # system's is ELF (unusable)
+		$(meson_use {,enable_}d3d8)
+		$(meson_use {,enable_}d3d9)
+		$(meson_use {,enable_}d3d10)
+		$(meson_use {,enable_}d3d11)
+		$(meson_use {,enable_}dxgi)
+		$(usev strip --strip) # portage won't strip .dll, so allow it here
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install_all() {
+	dobin setup_dxvk.sh
+	dodoc README.md dxvk.conf
+
+	find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
+		elog "removed upstream, handling may change in the future."
+	fi
+
+	if use d3d8 && [[ ${REPLACING_VERSIONS##* } ]] &&
+		ver_test ${REPLACING_VERSIONS##* } -lt 2.4
+	then
+		elog
+		elog ">=${PN}-2.4 now provides d3d8.dll, to make use of it will need to"
+		elog "update old wine prefixes which is typically done by re-running:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-07-30 18:00 Arthur Zamarin
  0 siblings, 0 replies; 63+ messages in thread
From: Arthur Zamarin @ 2024-07-30 18:00 UTC (permalink / raw
  To: gentoo-commits

commit:     e9c7c8671ea21b08098912eb55f00296a1c62fb7
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 30 17:59:59 2024 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Tue Jul 30 17:59:59 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9c7c867

app-emulation/dxvk: Stabilize 2.4 amd64, #936951

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

 app-emulation/dxvk/dxvk-2.4.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/dxvk/dxvk-2.4.ebuild b/app-emulation/dxvk/dxvk-2.4.ebuild
index fa0a4db12c85..c9d781e59ece 100644
--- a/app-emulation/dxvk/dxvk-2.4.ebuild
+++ b/app-emulation/dxvk/dxvk-2.4.ebuild
@@ -29,7 +29,7 @@ else
 			-> vulkan-headers-${HASH_VULKAN}.tar.gz
 		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
 	"
-	KEYWORDS="-* ~amd64 x86"
+	KEYWORDS="-* amd64 x86"
 fi
 
 DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-07-30 18:00 Arthur Zamarin
  0 siblings, 0 replies; 63+ messages in thread
From: Arthur Zamarin @ 2024-07-30 18:00 UTC (permalink / raw
  To: gentoo-commits

commit:     0b6d9724d4e3131d5e122b3a0066cb349408ce56
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 30 17:59:58 2024 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Tue Jul 30 17:59:58 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b6d9724

app-emulation/dxvk: Stabilize 2.4 x86, #936951

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

 app-emulation/dxvk/dxvk-2.4.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/dxvk/dxvk-2.4.ebuild b/app-emulation/dxvk/dxvk-2.4.ebuild
index b29fad2d8a7f..fa0a4db12c85 100644
--- a/app-emulation/dxvk/dxvk-2.4.ebuild
+++ b/app-emulation/dxvk/dxvk-2.4.ebuild
@@ -29,7 +29,7 @@ else
 			-> vulkan-headers-${HASH_VULKAN}.tar.gz
 		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
 	"
-	KEYWORDS="-* ~amd64 ~x86"
+	KEYWORDS="-* ~amd64 x86"
 fi
 
 DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-09-26 23:05 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-09-26 23:05 UTC (permalink / raw
  To: gentoo-commits

commit:     04d62abc0d3e0225a8477901869e948cc257a9f6
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 26 22:50:32 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Sep 26 23:03:58 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04d62abc

app-emulation/dxvk: add 2.4.1

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

 app-emulation/dxvk/Manifest          |   1 +
 app-emulation/dxvk/dxvk-2.4.1.ebuild | 182 +++++++++++++++++++++++++++++++++++
 2 files changed, 183 insertions(+)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index 437d112c907e..9a3acfc9e0d4 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,5 +1,6 @@
 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
 DIST dxvk-2.3.1.tar.gz 1005669 BLAKE2B d78448fcde9d600f7206dfa606fca4069e7563bb8b181fbc172691d6c45586904ae529550926a03612ed3cc1f2a2dff00990638125c1d7ce6179d3cd3ba8df04 SHA512 085567ac263872eb93d776ce7cf982690603e240a977dbb51ad69344af387fd745536ca62819afd4a809732a6f2d22b36c3df9538decf37dec527973d41e392f
+DIST dxvk-2.4.1.tar.gz 1060662 BLAKE2B 43294af5829fe306acdb72c07b94c28d34eb798a2eaf6d2e42c2b80900e9b6f4f323569dfd51d565c836237fddce26b843f69e4ff57fc2a5838382993a9dd6ed SHA512 629e45bbdaddf83cd8a394877289781e8f54330b4c865b2d453ba3068a6054511a3697ca115497b64df0ce9ee36748a7fdb01fdc5f49a7dc44c4a3d3e47bf6de
 DIST dxvk-2.4.tar.gz 1052380 BLAKE2B d27795747c313dd93a399b82a78bb8349efcac91df9b138f1349ad9e030450980f1ce57f2b912cb13913a9b52f380967e05aab05c92071c0ceea5ab850aba479 SHA512 2db5a9a0c0a47e1db33cc938ecae40f1f24b60cfa1cc381ebab96aa0a2b4d9574947ed0c90a28fda15fe6fa1cbb560559f11b2f5c116e579fe7b9ff41c2f0f78
 DIST libdisplay-info-275e6459c7ab1ddd4b125f28d0440716e4888078.tar.bz2 81172 BLAKE2B 7a1e9e2feeb95e06e9d3f49ad9d14a8a152cca525085e819cda0b69c238fb79dddd6d547cd0f0a4b51dfc1ec74ac4c006345b9fc48563807bc8ab3bab58ea5ff SHA512 794e94e8c16d65901a7b705d1ba3361817b4e9e19e520b1004bcab232d0347f5713594d67f3c2b79d4f86b3012e710c648975547d27a63de043fcbe9e6b7e66d
 DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121

diff --git a/app-emulation/dxvk/dxvk-2.4.1.ebuild b/app-emulation/dxvk/dxvk-2.4.1.ebuild
new file mode 100644
index 000000000000..b29fad2d8a7f
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-2.4.1.ebuild
@@ -0,0 +1,182 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+	EGIT_SUBMODULES=(
+		# picky about headers and is cross-compiled making -I/usr/include troublesome
+		include/{spirv,vulkan}
+		subprojects/libdisplay-info
+	)
+else
+	HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
+	HASH_VULKAN=46dc0f6e514f5730784bb2cac2a7c731636839e8
+	HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078
+	SRC_URI="
+		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
+			-> ${P}.tar.gz
+		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+			-> spirv-headers-${HASH_SPIRV}.tar.gz
+		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+			-> vulkan-headers-${HASH_VULKAN}.tar.gz
+		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
+	"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
+LICENSE="ZLIB Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d8 +d3d9 +d3d10 +d3d11 +dxgi +strip"
+REQUIRED_USE="
+	|| ( d3d8 d3d9 d3d10 d3d11 dxgi )
+	d3d8? ( d3d9 )
+	d3d10? ( d3d11 )
+	d3d11? ( dxgi )
+"
+
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-util/glslang
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
+	"${FILESDIR}"/${PN}-2.3.1-gcc14.patch
+	"${FILESDIR}"/${PN}-2.4-d3d8-setup.patch
+)
+
+pkg_pretend() {
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+		local tool=-w64-mingw32-g++
+		for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+			if ! type -P ${tool} >/dev/null; then
+				eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+				eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+				use abi_x86_32 && use abi_x86_64 &&
+					eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+				die "USE=crossdev-mingw is set but ${tool} was not found"
+			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+				eerror "${PN} requires GCC to be built with --enable-threads=posix"
+				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+			fi
+		done
+	fi
+}
+
+src_prepare() {
+	if [[ ${PV} != 9999 ]]; then
+		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
+		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
+	fi
+	cp -- "${DISTDIR}"/setup_dxvk.sh . || die
+
+	default
+
+	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# random segfaults been reported with LTO in some games, filter as
+	# a safety (note that optimizing this further won't really help
+	# performance, GPU does the actual work)
+	filter-lto
+
+	# -mavx 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
+			filter-flags '-fuse-ld=*'
+			filter-flags '-mfunction-return=thunk*' #878849
+
+			# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+			# strip-unsupported-flags miss these during compile-only tests
+			# (primarily done for 23.0 profiles' -z, not full coverage)
+			filter-flags '-Wl,-z,*' #928038
+		fi
+
+		CHOST_amd64=x86_64-w64-mingw32
+		CHOST_x86=i686-w64-mingw32
+		CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+		strip-unsupported-flags
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+	# unset again so meson eclass will set ${CHOST}-gcc + others
+	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+	local emesonargs=(
+		--prefix="${EPREFIX}"/usr/lib/${PN}
+		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+		--force-fallback-for=libdisplay-info # system's is ELF (unusable)
+		$(meson_use {,enable_}d3d8)
+		$(meson_use {,enable_}d3d9)
+		$(meson_use {,enable_}d3d10)
+		$(meson_use {,enable_}d3d11)
+		$(meson_use {,enable_}dxgi)
+		$(usev strip --strip) # portage won't strip .dll, so allow it here
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install_all() {
+	dobin setup_dxvk.sh
+	dodoc README.md dxvk.conf
+
+	find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
+		elog "removed upstream, handling may change in the future."
+	fi
+
+	if use d3d8 && [[ ${REPLACING_VERSIONS##* } ]] &&
+		ver_test ${REPLACING_VERSIONS##* } -lt 2.4
+	then
+		elog
+		elog ">=${PN}-2.4 now provides d3d8.dll, to make use of it will need to"
+		elog "update old wine prefixes which is typically done by re-running:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-10-16  7:41 Sam James
  0 siblings, 0 replies; 63+ messages in thread
From: Sam James @ 2024-10-16  7:41 UTC (permalink / raw
  To: gentoo-commits

commit:     94d5c65dfbb801f1d87bd885cc7731805850f58a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 16 07:41:12 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Oct 16 07:41:12 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94d5c65d

app-emulation/dxvk: Stabilize 2.4.1 x86, #941601

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

 app-emulation/dxvk/dxvk-2.4.1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/dxvk/dxvk-2.4.1.ebuild b/app-emulation/dxvk/dxvk-2.4.1.ebuild
index b29fad2d8a7f..fa0a4db12c85 100644
--- a/app-emulation/dxvk/dxvk-2.4.1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.4.1.ebuild
@@ -29,7 +29,7 @@ else
 			-> vulkan-headers-${HASH_VULKAN}.tar.gz
 		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
 	"
-	KEYWORDS="-* ~amd64 ~x86"
+	KEYWORDS="-* ~amd64 x86"
 fi
 
 DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-10-16  7:41 Sam James
  0 siblings, 0 replies; 63+ messages in thread
From: Sam James @ 2024-10-16  7:41 UTC (permalink / raw
  To: gentoo-commits

commit:     82bf34ea9d796a578bdef0f3ee3b400847adf10c
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 16 07:41:13 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Oct 16 07:41:13 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82bf34ea

app-emulation/dxvk: Stabilize 2.4.1 amd64, #941601

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

 app-emulation/dxvk/dxvk-2.4.1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/dxvk/dxvk-2.4.1.ebuild b/app-emulation/dxvk/dxvk-2.4.1.ebuild
index fa0a4db12c85..c9d781e59ece 100644
--- a/app-emulation/dxvk/dxvk-2.4.1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.4.1.ebuild
@@ -29,7 +29,7 @@ else
 			-> vulkan-headers-${HASH_VULKAN}.tar.gz
 		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
 	"
-	KEYWORDS="-* ~amd64 x86"
+	KEYWORDS="-* amd64 x86"
 fi
 
 DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-11-04 16:15 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-11-04 16:15 UTC (permalink / raw
  To: gentoo-commits

commit:     8fd8356428493b8150e5df5e0559d762d674370f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Nov  4 15:21:25 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Nov  4 16:13:48 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8fd83564

app-emulation/dxvk: drop 2.4

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

 app-emulation/dxvk/Manifest        |   1 -
 app-emulation/dxvk/dxvk-2.4.ebuild | 182 -------------------------------------
 2 files changed, 183 deletions(-)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index 9a3acfc9e0d4..d3baba27762b 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,7 +1,6 @@
 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
 DIST dxvk-2.3.1.tar.gz 1005669 BLAKE2B d78448fcde9d600f7206dfa606fca4069e7563bb8b181fbc172691d6c45586904ae529550926a03612ed3cc1f2a2dff00990638125c1d7ce6179d3cd3ba8df04 SHA512 085567ac263872eb93d776ce7cf982690603e240a977dbb51ad69344af387fd745536ca62819afd4a809732a6f2d22b36c3df9538decf37dec527973d41e392f
 DIST dxvk-2.4.1.tar.gz 1060662 BLAKE2B 43294af5829fe306acdb72c07b94c28d34eb798a2eaf6d2e42c2b80900e9b6f4f323569dfd51d565c836237fddce26b843f69e4ff57fc2a5838382993a9dd6ed SHA512 629e45bbdaddf83cd8a394877289781e8f54330b4c865b2d453ba3068a6054511a3697ca115497b64df0ce9ee36748a7fdb01fdc5f49a7dc44c4a3d3e47bf6de
-DIST dxvk-2.4.tar.gz 1052380 BLAKE2B d27795747c313dd93a399b82a78bb8349efcac91df9b138f1349ad9e030450980f1ce57f2b912cb13913a9b52f380967e05aab05c92071c0ceea5ab850aba479 SHA512 2db5a9a0c0a47e1db33cc938ecae40f1f24b60cfa1cc381ebab96aa0a2b4d9574947ed0c90a28fda15fe6fa1cbb560559f11b2f5c116e579fe7b9ff41c2f0f78
 DIST libdisplay-info-275e6459c7ab1ddd4b125f28d0440716e4888078.tar.bz2 81172 BLAKE2B 7a1e9e2feeb95e06e9d3f49ad9d14a8a152cca525085e819cda0b69c238fb79dddd6d547cd0f0a4b51dfc1ec74ac4c006345b9fc48563807bc8ab3bab58ea5ff SHA512 794e94e8c16d65901a7b705d1ba3361817b4e9e19e520b1004bcab232d0347f5713594d67f3c2b79d4f86b3012e710c648975547d27a63de043fcbe9e6b7e66d
 DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121
 DIST spirv-headers-8b246ff75c6615ba4532fe4fde20f1be090c3764.tar.gz 472513 BLAKE2B f1ad7e11c306c62509655eb41d74efc5fb88688780d006c6944844e964b339baa000f70e115c4df2947e882c9ac33186e301b31138c38fe5f997f7af7260f521 SHA512 fe1d9d70b217b194c92dd397bca386ce8452bc5ec3967d64a257b3a531386fe6a6ecb5e9ed8ab5bc5a2707c5378f02f05809d6d197dcfb3f87cd33304c3b1959

diff --git a/app-emulation/dxvk/dxvk-2.4.ebuild b/app-emulation/dxvk/dxvk-2.4.ebuild
deleted file mode 100644
index c9d781e59ece..000000000000
--- a/app-emulation/dxvk/dxvk-2.4.ebuild
+++ /dev/null
@@ -1,182 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-inherit flag-o-matic meson-multilib python-any-r1
-
-if [[ ${PV} == 9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
-	EGIT_SUBMODULES=(
-		# picky about headers and is cross-compiled making -I/usr/include troublesome
-		include/{spirv,vulkan}
-		subprojects/libdisplay-info
-	)
-else
-	HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
-	HASH_VULKAN=46dc0f6e514f5730784bb2cac2a7c731636839e8
-	HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078
-	SRC_URI="
-		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
-			-> ${P}.tar.gz
-		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
-			-> spirv-headers-${HASH_SPIRV}.tar.gz
-		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
-			-> vulkan-headers-${HASH_VULKAN}.tar.gz
-		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
-	"
-	KEYWORDS="-* amd64 x86"
-fi
-
-DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
-HOMEPAGE="https://github.com/doitsujin/dxvk/"
-
-# setup_dxvk.sh is no longer provided, fetch old until a better solution
-SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
-
-LICENSE="ZLIB Apache-2.0 MIT"
-SLOT="0"
-IUSE="+abi_x86_32 crossdev-mingw +d3d8 +d3d9 +d3d10 +d3d11 +dxgi +strip"
-REQUIRED_USE="
-	|| ( d3d8 d3d9 d3d10 d3d11 dxgi )
-	d3d8? ( d3d9 )
-	d3d10? ( d3d11 )
-	d3d11? ( dxgi )
-"
-
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-util/glslang
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
-	"${FILESDIR}"/${PN}-2.3.1-gcc14.patch
-	"${FILESDIR}"/${PN}-2.4-d3d8-setup.patch
-)
-
-pkg_pretend() {
-	[[ ${MERGE_TYPE} == binary ]] && return
-
-	if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
-		local tool=-w64-mingw32-g++
-		for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
-			if ! type -P ${tool} >/dev/null; then
-				eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
-				eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
-				use abi_x86_32 && use abi_x86_64 &&
-					eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
-				die "USE=crossdev-mingw is set but ${tool} was not found"
-			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
-				eerror "${PN} requires GCC to be built with --enable-threads=posix"
-				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
-				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
-			fi
-		done
-	fi
-}
-
-src_prepare() {
-	if [[ ${PV} != 9999 ]]; then
-		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
-		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
-		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
-		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
-	fi
-	cp -- "${DISTDIR}"/setup_dxvk.sh . || die
-
-	default
-
-	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
-}
-
-src_configure() {
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# random segfaults been reported with LTO in some games, filter as
-	# a safety (note that optimizing this further won't really help
-	# performance, GPU does the actual work)
-	filter-lto
-
-	# -mavx 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
-			filter-flags '-fuse-ld=*'
-			filter-flags '-mfunction-return=thunk*' #878849
-
-			# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
-			# strip-unsupported-flags miss these during compile-only tests
-			# (primarily done for 23.0 profiles' -z, not full coverage)
-			filter-flags '-Wl,-z,*' #928038
-		fi
-
-		CHOST_amd64=x86_64-w64-mingw32
-		CHOST_x86=i686-w64-mingw32
-		CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
-
-		strip-unsupported-flags
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
-	# unset again so meson eclass will set ${CHOST}-gcc + others
-	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
-
-	local emesonargs=(
-		--prefix="${EPREFIX}"/usr/lib/${PN}
-		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
-		--force-fallback-for=libdisplay-info # system's is ELF (unusable)
-		$(meson_use {,enable_}d3d8)
-		$(meson_use {,enable_}d3d9)
-		$(meson_use {,enable_}d3d10)
-		$(meson_use {,enable_}d3d11)
-		$(meson_use {,enable_}dxgi)
-		$(usev strip --strip) # portage won't strip .dll, so allow it here
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install_all() {
-	dobin setup_dxvk.sh
-	dodoc README.md dxvk.conf
-
-	find "${ED}" -type f -name '*.a' -delete || die
-}
-
-pkg_postinst() {
-	if [[ ! ${REPLACING_VERSIONS} ]]; then
-		elog "To enable ${PN} on a wine prefix, you can run the following command:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
-		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
-		elog "removed upstream, handling may change in the future."
-	fi
-
-	if use d3d8 && [[ ${REPLACING_VERSIONS##* } ]] &&
-		ver_test ${REPLACING_VERSIONS##* } -lt 2.4
-	then
-		elog
-		elog ">=${PN}-2.4 now provides d3d8.dll, to make use of it will need to"
-		elog "update old wine prefixes which is typically done by re-running:"
-		elog
-		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
-		elog
-	fi
-}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-11-11 23:22 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-11-11 23:22 UTC (permalink / raw
  To: gentoo-commits

commit:     dbccd823cabaca8c6132c63f0e59d6689952ef8b
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 11 23:12:43 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Nov 11 23:12:43 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbccd823

app-emulation/dxvk: drop upstreamed patch

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

 app-emulation/dxvk/dxvk-9999.ebuild | 1 -
 1 file changed, 1 deletion(-)

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
index 9fe577d2f13b..94500fcb99b0 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -56,7 +56,6 @@ BDEPEND="
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
-	"${FILESDIR}"/${PN}-2.3.1-gcc14.patch
 	"${FILESDIR}"/${PN}-2.4-d3d8-setup.patch
 )
 


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-11-11 23:22 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-11-11 23:22 UTC (permalink / raw
  To: gentoo-commits

commit:     925fa0e4a9cce9d085dfe5b0305945a1c1827384
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 11 23:13:27 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Nov 11 23:13:27 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=925fa0e4

app-emulation/dxvk: add 2.5

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

 app-emulation/dxvk/Manifest        |   1 +
 app-emulation/dxvk/dxvk-2.5.ebuild | 181 +++++++++++++++++++++++++++++++++++++
 2 files changed, 182 insertions(+)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index d3baba27762b..57daf921177d 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,6 +1,7 @@
 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
 DIST dxvk-2.3.1.tar.gz 1005669 BLAKE2B d78448fcde9d600f7206dfa606fca4069e7563bb8b181fbc172691d6c45586904ae529550926a03612ed3cc1f2a2dff00990638125c1d7ce6179d3cd3ba8df04 SHA512 085567ac263872eb93d776ce7cf982690603e240a977dbb51ad69344af387fd745536ca62819afd4a809732a6f2d22b36c3df9538decf37dec527973d41e392f
 DIST dxvk-2.4.1.tar.gz 1060662 BLAKE2B 43294af5829fe306acdb72c07b94c28d34eb798a2eaf6d2e42c2b80900e9b6f4f323569dfd51d565c836237fddce26b843f69e4ff57fc2a5838382993a9dd6ed SHA512 629e45bbdaddf83cd8a394877289781e8f54330b4c865b2d453ba3068a6054511a3697ca115497b64df0ce9ee36748a7fdb01fdc5f49a7dc44c4a3d3e47bf6de
+DIST dxvk-2.5.tar.gz 1130334 BLAKE2B d8485d7ed8256676f2138d6c917ef8875da7604f304e3c2adba8204b15264ee8fb77fd86b67c7cda16220348288f40d2e736cdfd973d3e91d0141e1522860559 SHA512 2610d9a9e546635e5476278ec30c699fbefe32fb418335fada25e941d9bca705e02dbd9eb8b5f6a9afb0ec194f2002857ad00cbe27d1a90222f5e28a496da125
 DIST libdisplay-info-275e6459c7ab1ddd4b125f28d0440716e4888078.tar.bz2 81172 BLAKE2B 7a1e9e2feeb95e06e9d3f49ad9d14a8a152cca525085e819cda0b69c238fb79dddd6d547cd0f0a4b51dfc1ec74ac4c006345b9fc48563807bc8ab3bab58ea5ff SHA512 794e94e8c16d65901a7b705d1ba3361817b4e9e19e520b1004bcab232d0347f5713594d67f3c2b79d4f86b3012e710c648975547d27a63de043fcbe9e6b7e66d
 DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121
 DIST spirv-headers-8b246ff75c6615ba4532fe4fde20f1be090c3764.tar.gz 472513 BLAKE2B f1ad7e11c306c62509655eb41d74efc5fb88688780d006c6944844e964b339baa000f70e115c4df2947e882c9ac33186e301b31138c38fe5f997f7af7260f521 SHA512 fe1d9d70b217b194c92dd397bca386ce8452bc5ec3967d64a257b3a531386fe6a6ecb5e9ed8ab5bc5a2707c5378f02f05809d6d197dcfb3f87cd33304c3b1959

diff --git a/app-emulation/dxvk/dxvk-2.5.ebuild b/app-emulation/dxvk/dxvk-2.5.ebuild
new file mode 100644
index 000000000000..56cafa91a05c
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-2.5.ebuild
@@ -0,0 +1,181 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+	EGIT_SUBMODULES=(
+		# picky about headers and is cross-compiled making -I/usr/include troublesome
+		include/{spirv,vulkan}
+		subprojects/libdisplay-info
+	)
+else
+	HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
+	HASH_VULKAN=46dc0f6e514f5730784bb2cac2a7c731636839e8
+	HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078
+	SRC_URI="
+		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
+			-> ${P}.tar.gz
+		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+			-> spirv-headers-${HASH_SPIRV}.tar.gz
+		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+			-> vulkan-headers-${HASH_VULKAN}.tar.gz
+		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
+	"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
+LICENSE="ZLIB Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d8 +d3d9 +d3d10 +d3d11 +dxgi +strip"
+REQUIRED_USE="
+	|| ( d3d8 d3d9 d3d10 d3d11 dxgi )
+	d3d8? ( d3d9 )
+	d3d10? ( d3d11 )
+	d3d11? ( dxgi )
+"
+
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-util/glslang
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
+	"${FILESDIR}"/${PN}-2.4-d3d8-setup.patch
+)
+
+pkg_pretend() {
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+		local tool=-w64-mingw32-g++
+		for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+			if ! type -P ${tool} >/dev/null; then
+				eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+				eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+				use abi_x86_32 && use abi_x86_64 &&
+					eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+				die "USE=crossdev-mingw is set but ${tool} was not found"
+			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+				eerror "${PN} requires GCC to be built with --enable-threads=posix"
+				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+			fi
+		done
+	fi
+}
+
+src_prepare() {
+	if [[ ${PV} != 9999 ]]; then
+		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
+		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
+	fi
+	cp -- "${DISTDIR}"/setup_dxvk.sh . || die
+
+	default
+
+	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# random segfaults been reported with LTO in some games, filter as
+	# a safety (note that optimizing this further won't really help
+	# performance, GPU does the actual work)
+	filter-lto
+
+	# -mavx 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
+			filter-flags '-fuse-ld=*'
+			filter-flags '-mfunction-return=thunk*' #878849
+
+			# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+			# strip-unsupported-flags miss these during compile-only tests
+			# (primarily done for 23.0 profiles' -z, not full coverage)
+			filter-flags '-Wl,-z,*' #928038
+		fi
+
+		CHOST_amd64=x86_64-w64-mingw32
+		CHOST_x86=i686-w64-mingw32
+		CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+		strip-unsupported-flags
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+	# unset again so meson eclass will set ${CHOST}-gcc + others
+	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+	local emesonargs=(
+		--prefix="${EPREFIX}"/usr/lib/${PN}
+		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+		--force-fallback-for=libdisplay-info # system's is ELF (unusable)
+		$(meson_use {,enable_}d3d8)
+		$(meson_use {,enable_}d3d9)
+		$(meson_use {,enable_}d3d10)
+		$(meson_use {,enable_}d3d11)
+		$(meson_use {,enable_}dxgi)
+		$(usev strip --strip) # portage won't strip .dll, so allow it here
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install_all() {
+	dobin setup_dxvk.sh
+	dodoc README.md dxvk.conf
+
+	find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
+		elog "removed upstream, handling may change in the future."
+	fi
+
+	if use d3d8 && [[ ${REPLACING_VERSIONS##* } ]] &&
+		ver_test ${REPLACING_VERSIONS##* } -lt 2.4
+	then
+		elog
+		elog ">=${PN}-2.4 now provides d3d8.dll, to make use of it will need to"
+		elog "update old wine prefixes which is typically done by re-running:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/
@ 2024-11-18 12:07 Ionen Wolkens
  0 siblings, 0 replies; 63+ messages in thread
From: Ionen Wolkens @ 2024-11-18 12:07 UTC (permalink / raw
  To: gentoo-commits

commit:     3bf7b62c6e6ea4c77b1cd38a9a14bfe65504b18d
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 18 11:58:49 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Nov 18 12:07:03 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3bf7b62c

app-emulation/dxvk: add 2.5.1

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

 app-emulation/dxvk/Manifest          |   1 +
 app-emulation/dxvk/dxvk-2.5.1.ebuild | 181 +++++++++++++++++++++++++++++++++++
 2 files changed, 182 insertions(+)

diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index 57daf921177d..a6b1e44f44d8 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,6 +1,7 @@
 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
 DIST dxvk-2.3.1.tar.gz 1005669 BLAKE2B d78448fcde9d600f7206dfa606fca4069e7563bb8b181fbc172691d6c45586904ae529550926a03612ed3cc1f2a2dff00990638125c1d7ce6179d3cd3ba8df04 SHA512 085567ac263872eb93d776ce7cf982690603e240a977dbb51ad69344af387fd745536ca62819afd4a809732a6f2d22b36c3df9538decf37dec527973d41e392f
 DIST dxvk-2.4.1.tar.gz 1060662 BLAKE2B 43294af5829fe306acdb72c07b94c28d34eb798a2eaf6d2e42c2b80900e9b6f4f323569dfd51d565c836237fddce26b843f69e4ff57fc2a5838382993a9dd6ed SHA512 629e45bbdaddf83cd8a394877289781e8f54330b4c865b2d453ba3068a6054511a3697ca115497b64df0ce9ee36748a7fdb01fdc5f49a7dc44c4a3d3e47bf6de
+DIST dxvk-2.5.1.tar.gz 1130762 BLAKE2B 2941f3702d0f478d140d8f39a97e29f24e8ce6a3f22160fe26a8cfb70a132fc39b43960f34ea3be8786e7ccdbbf4ff2ddc961d2cc93956e63422579cb934b2fb SHA512 44b200e2d468f9280444b888c8326becca123e1c8a50fbfa544165d24fb2a51478e00a8ab93d0777cab47be85ca67f63bb3627ea75757a4e0ab85209f93b1053
 DIST dxvk-2.5.tar.gz 1130334 BLAKE2B d8485d7ed8256676f2138d6c917ef8875da7604f304e3c2adba8204b15264ee8fb77fd86b67c7cda16220348288f40d2e736cdfd973d3e91d0141e1522860559 SHA512 2610d9a9e546635e5476278ec30c699fbefe32fb418335fada25e941d9bca705e02dbd9eb8b5f6a9afb0ec194f2002857ad00cbe27d1a90222f5e28a496da125
 DIST libdisplay-info-275e6459c7ab1ddd4b125f28d0440716e4888078.tar.bz2 81172 BLAKE2B 7a1e9e2feeb95e06e9d3f49ad9d14a8a152cca525085e819cda0b69c238fb79dddd6d547cd0f0a4b51dfc1ec74ac4c006345b9fc48563807bc8ab3bab58ea5ff SHA512 794e94e8c16d65901a7b705d1ba3361817b4e9e19e520b1004bcab232d0347f5713594d67f3c2b79d4f86b3012e710c648975547d27a63de043fcbe9e6b7e66d
 DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121

diff --git a/app-emulation/dxvk/dxvk-2.5.1.ebuild b/app-emulation/dxvk/dxvk-2.5.1.ebuild
new file mode 100644
index 000000000000..56cafa91a05c
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-2.5.1.ebuild
@@ -0,0 +1,181 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+	EGIT_SUBMODULES=(
+		# picky about headers and is cross-compiled making -I/usr/include troublesome
+		include/{spirv,vulkan}
+		subprojects/libdisplay-info
+	)
+else
+	HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
+	HASH_VULKAN=46dc0f6e514f5730784bb2cac2a7c731636839e8
+	HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078
+	SRC_URI="
+		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
+			-> ${P}.tar.gz
+		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+			-> spirv-headers-${HASH_SPIRV}.tar.gz
+		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+			-> vulkan-headers-${HASH_VULKAN}.tar.gz
+		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
+	"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
+LICENSE="ZLIB Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d8 +d3d9 +d3d10 +d3d11 +dxgi +strip"
+REQUIRED_USE="
+	|| ( d3d8 d3d9 d3d10 d3d11 dxgi )
+	d3d8? ( d3d9 )
+	d3d10? ( d3d11 )
+	d3d11? ( dxgi )
+"
+
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-util/glslang
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
+	"${FILESDIR}"/${PN}-2.4-d3d8-setup.patch
+)
+
+pkg_pretend() {
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+		local tool=-w64-mingw32-g++
+		for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+			if ! type -P ${tool} >/dev/null; then
+				eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+				eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+				use abi_x86_32 && use abi_x86_64 &&
+					eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+				die "USE=crossdev-mingw is set but ${tool} was not found"
+			elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+				eerror "${PN} requires GCC to be built with --enable-threads=posix"
+				eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+				die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+			fi
+		done
+	fi
+}
+
+src_prepare() {
+	if [[ ${PV} != 9999 ]]; then
+		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
+		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
+	fi
+	cp -- "${DISTDIR}"/setup_dxvk.sh . || die
+
+	default
+
+	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# random segfaults been reported with LTO in some games, filter as
+	# a safety (note that optimizing this further won't really help
+	# performance, GPU does the actual work)
+	filter-lto
+
+	# -mavx 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
+			filter-flags '-fuse-ld=*'
+			filter-flags '-mfunction-return=thunk*' #878849
+
+			# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+			# strip-unsupported-flags miss these during compile-only tests
+			# (primarily done for 23.0 profiles' -z, not full coverage)
+			filter-flags '-Wl,-z,*' #928038
+		fi
+
+		CHOST_amd64=x86_64-w64-mingw32
+		CHOST_x86=i686-w64-mingw32
+		CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+		strip-unsupported-flags
+	fi
+
+	multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+	# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+	# unset again so meson eclass will set ${CHOST}-gcc + others
+	use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+	local emesonargs=(
+		--prefix="${EPREFIX}"/usr/lib/${PN}
+		--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+		--force-fallback-for=libdisplay-info # system's is ELF (unusable)
+		$(meson_use {,enable_}d3d8)
+		$(meson_use {,enable_}d3d9)
+		$(meson_use {,enable_}d3d10)
+		$(meson_use {,enable_}d3d11)
+		$(meson_use {,enable_}dxgi)
+		$(usev strip --strip) # portage won't strip .dll, so allow it here
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install_all() {
+	dobin setup_dxvk.sh
+	dodoc README.md dxvk.conf
+
+	find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To enable ${PN} on a wine prefix, you can run the following command:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
+		elog "removed upstream, handling may change in the future."
+	fi
+
+	if use d3d8 && [[ ${REPLACING_VERSIONS##* } ]] &&
+		ver_test ${REPLACING_VERSIONS##* } -lt 2.4
+	then
+		elog
+		elog ">=${PN}-2.4 now provides d3d8.dll, to make use of it will need to"
+		elog "update old wine prefixes which is typically done by re-running:"
+		elog
+		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+		elog
+	fi
+}


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

end of thread, other threads:[~2024-11-18 12:07 UTC | newest]

Thread overview: 63+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-27 16:45 [gentoo-commits] repo/gentoo:master commit in: app-emulation/dxvk/ Ionen Wolkens
  -- strict thread matches above, loose matches on Subject: below --
2024-11-18 12:07 Ionen Wolkens
2024-11-11 23:22 Ionen Wolkens
2024-11-11 23:22 Ionen Wolkens
2024-11-04 16:15 Ionen Wolkens
2024-10-16  7:41 Sam James
2024-10-16  7:41 Sam James
2024-09-26 23:05 Ionen Wolkens
2024-07-30 18:00 Arthur Zamarin
2024-07-30 18:00 Arthur Zamarin
2024-07-10 12:18 Ionen Wolkens
2024-05-22  3:32 Ionen Wolkens
2024-05-21  3:01 Ionen Wolkens
2024-05-10  4:26 Ionen Wolkens
2024-05-07 14:28 Ionen Wolkens
2024-04-27 21:46 Sam James
2024-04-27 21:46 Sam James
2024-03-28 10:10 Ionen Wolkens
2024-03-24 18:39 Ionen Wolkens
2024-03-20 13:37 Ionen Wolkens
2024-03-20 13:37 Ionen Wolkens
2024-03-20  7:17 Ionen Wolkens
2024-02-09 16:18 Ionen Wolkens
2024-02-09 16:18 Ionen Wolkens
2023-10-01 13:35 Sam James
2023-10-01 13:35 Sam James
2023-09-04 17:12 Ionen Wolkens
2023-08-16 21:38 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-25  4:16 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
2023-02-13 11:46 Ionen Wolkens
2023-01-24 21:40 Ionen Wolkens
2023-01-24 21:40 Ionen Wolkens
2022-12-15 21:32 Ionen Wolkens
2022-12-14 16:56 Ionen Wolkens
2022-11-29 15:02 Ionen Wolkens
2022-11-29 13:25 Ionen Wolkens
2022-11-29 12:13 Ionen Wolkens
2022-11-10 23:50 Ionen Wolkens
2022-11-10 23:50 Ionen Wolkens
2022-11-10 23:50 Ionen Wolkens
2022-10-31  0:54 Ionen Wolkens
2022-10-23  7:20 Ionen Wolkens
2022-09-27 23:46 Ionen Wolkens
2022-09-14 23:11 Ionen Wolkens
2022-09-01  0:34 Ionen Wolkens
2022-08-02 15:37 Ionen Wolkens
2022-07-16 17:03 Ionen Wolkens
2022-07-13 14:44 Ionen Wolkens
2022-07-13 14:39 Ionen Wolkens
2022-06-28  7:46 Ionen Wolkens
2022-05-17  4:21 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