diff --git a/app-emulation/dxvk-bin/Manifest b/app-emulation/dxvk-bin/Manifest index 911d4aad2e..b42c80ce18 100644 --- a/app-emulation/dxvk-bin/Manifest +++ b/app-emulation/dxvk-bin/Manifest @@ -1,2 +1,3 @@ DIST dxvk-bin-1.8.1.tar.gz 7942210 BLAKE2B 9c27d473037d28eb4999260f871c338e96ed08522ba9497e20eee9d5a951a73e5606ef684f67adad0f7a5ebb9559b43d42c589774666be66369ea6f605f5d8f7 SHA512 485a1fe584aa3607997d4405e61df7b67d87aec47d56bb645901b20ea6cbf2024e8ce135cd5bef6591587dc3d058650f2b6889b5cde321a8a4e4137a68cd541b DIST dxvk-bin-1.8.tar.gz 7905165 BLAKE2B 49e012ff180d0135329b5a02cede51722ae74670b367f93d7a0606262e314541ef1cfcd11e115510bf377c7cb8618b90843602d2b28de9b373abc2f6018458a4 SHA512 b5971d30e26261a2961f9b7c1eaabe71cce8ac846446fe5382563abb1212c01e05f3e151b293654a22f3253f052378ef781f29ca3ee0f5bac02be41c5f1a8816 +DIST dxvk-bin-1.9.tar.gz 8111449 BLAKE2B 3800f38b26ba72fa22b59ce94f64b5cbdacefcad3515fb0c769f672c6add7d8c040e871ec412d11637bf3cbfcd30930c5a6c47917a00ce8c90e1c1d6a23197d2 SHA512 d8fadd0e88ebc11e281b75b59bb980ac8908ea5ce1c7e5849c557cd7eb257ff125b54351adbc9b04241ff2a72705f3a5fa5a9598bf571503a5808b80708f16c5 diff --git a/app-emulation/dxvk-bin/dxvk-bin-1.9.ebuild b/app-emulation/dxvk-bin/dxvk-bin-1.9.ebuild new file mode 100644 index 0000000000..44679c85be --- /dev/null +++ b/app-emulation/dxvk-bin/dxvk-bin-1.9.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MULTILIB_COMPAT=( abi_x86_{32,64} ) +inherit multilib-minimal + +MY_P="dxvk-${PV}" +DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine" +HOMEPAGE="https://github.com/doitsujin/dxvk" +SRC_URI="https://github.com/doitsujin/dxvk/releases/download/v${PV}/${MY_P}.tar.gz -> ${P}.tar.gz" + +LICENSE="ZLIB" +SLOT="0" +KEYWORDS="~amd64" +IUSE="video_cards_nvidia" + +DEPEND="" +RDEPEND=" + || ( + video_cards_nvidia? ( >=x11-drivers/nvidia-drivers-440.31 ) + >=media-libs/mesa-20.2 + ) + || ( + >=app-emulation/wine-staging-4.5[${MULTILIB_USEDEP},vulkan] + >=app-emulation/wine-vanilla-4.5[${MULTILIB_USEDEP},vulkan] + ) +" + +S="${WORKDIR}/${MY_P}" + +# NOTE: Various repos contain dxvk ebuilds that install into …/dxvk. +# To not clash with them, this ebuild installs into …/dxvk-bin. + +src_prepare() { + default + + sed -i "s|^basedir=.*$|basedir=\"${EPREFIX}\"|" setup_dxvk.sh || die + + # Delete installation instructions for unused ABIs. + if ! use abi_x86_64; then + sed -i '/installFile "$win64_sys_path"/d' setup_dxvk.sh || die + fi + if ! use abi_x86_32; then + sed -i '/installFile "$win32_sys_path"/d' setup_dxvk.sh || die + fi + + fix_install_dir() { + local bits="${MULTILIB_ABI_FLAG:8:2}" + # Fix installation directory. + sed -i "s|\"x${bits}\"|\"usr/$(get_libdir)/dxvk-bin\"|" \ + setup_dxvk.sh || die + } + multilib_foreach_abi fix_install_dir +} + +multilib_src_install() { + local bits="${MULTILIB_ABI_FLAG:8:2}" + insinto "usr/$(get_libdir)/dxvk-bin" + insopts --mode=755 + doins "${S}/x${bits}/"*.dll +} + +multilib_src_install_all() { + newbin setup_dxvk.sh setup_dxvk-bin.sh +} + +pkg_postinst() { + elog "dxvk-bin is installed, but not activated. You have to create DLL overrides" + elog "in order to make use of it. To do so, set WINEPREFIX and execute" + elog "setup_dxvk-bin.sh install --symlink." +}