Diff dxvk-1.10.3-r1 with a dxvk-2.2-r1

/usr/portage/app-emulation/dxvk/dxvk-2.2-r1.ebuild 2023-10-09 14:52:28.724368331 +0300
3 3

  
4 4
EAPI=8
5 5

  
6
# note: version <2.0 should be kept for longer given it's the
7
# last version to support <wine-7.1 and <nvidia-drivers-510
8

  
6
PYTHON_COMPAT=( python3_{10..12} )
9 7
MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
10 8
MULTILIB_COMPAT=( abi_x86_{32,64} )
11
inherit flag-o-matic meson-multilib
9
inherit flag-o-matic meson-multilib python-any-r1
12 10

  
13 11
if [[ ${PV} == 9999 ]]; then
14 12
	inherit git-r3
15 13
	EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
14
	EGIT_SUBMODULES=(
15
		# picky about headers and is cross-compiled making -I/usr/include troublesome
16
		include/{spirv,vulkan}
17
		subprojects/libdisplay-info
18
	)
16 19
else
17
	SRC_URI="https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
20
	HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
21
	HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
22
	HASH_DISPLAYINFO=d39344f466caae0495ebac4d49b03a886d83ba3a
23
	SRC_URI="
24
		https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
25
			-> ${P}.tar.gz
26
		https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
27
			-> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
28
		https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
29
			-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz
30
		https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
18 31
	KEYWORDS="-* amd64 x86"
19 32
fi
33
# setup_dxvk.sh is no longer provided, fetch old until a better solution
34
SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
20 35

  
21 36
DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
22 37
HOMEPAGE="https://github.com/doitsujin/dxvk/"
23 38

  
24
LICENSE="ZLIB"
39
LICENSE="ZLIB Apache-2.0 MIT"
25 40
SLOT="0"
26 41
IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
27 42
REQUIRED_USE="
28 43
	|| ( d3d9 d3d10 d3d11 dxgi )
29 44
	d3d10? ( d3d11 )
30
	dxgi? ( d3d11 )"
45
	d3d11? ( dxgi )"
31 46

  
32 47
BDEPEND="
48
	${PYTHON_DEPS}
33 49
	dev-util/glslang
34 50
	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
35 51

  
36 52
PATCHES=(
37
	"${FILESDIR}"/${PN}-1.10.3-gcc13.patch
38 53
	"${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
39 54
)
40 55

  
......
60 75
}
61 76

  
62 77
src_prepare() {
78
	if [[ ${PV} != 9999 ]]; then
79
		rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
80
		mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
81
		mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
82
		mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
83
	fi
84
	cp -- "${DISTDIR}"/setup_dxvk.sh . || die
85

  
63 86
	default
64 87

  
65 88
	sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
......
110 133
		$(meson_use {,enable_}d3d11)
111 134
		$(meson_use {,enable_}dxgi)
112 135
		$(usev !debug --strip) # portage won't strip .dll, so allow it here
113
		-Denable_tests=false # needs wine/vulkan and is intended for manual use
114 136
	)
115 137

  
116 138
	meson_src_configure
......
134 156
		elog "	WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
135 157
		elog
136 158
		elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
159
		elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
160
		elog "removed upstream, handling may change in the future."
137 161
	elif [[ -v DXVK_HAD_OVERLAY ]]; then
138 162
		# temporary warning until this version is more widely used
139 163
		elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
......
145 169
		elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
146 170
		elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
147 171
	fi
172

  
173
	if [[ ! ${REPLACING_VERSIONS##* } ]] ||
174
		ver_test ${REPLACING_VERSIONS##* } -lt 2.0
175
	then
176
		elog
177
		elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
178
		elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
179
		elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
180
	fi
148 181
}
Thank you!