aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonny (tastytea) Gutbrod <gentoo@tastytea.de>2020-04-21 20:56:20 +0200
committerRonny (tastytea) Gutbrod <gentoo@tastytea.de>2020-04-21 20:58:08 +0200
commitac2304102ab71ec31f48ce2ac2a80ceb8432e43f (patch)
tree376ba3c0c168bd80ba688eaff115918c524164a0 /app-emulation/dxvk-bin/dxvk-bin-1.6.1.ebuild
parentgames-action/minecraft-launcher: move out of beta (diff)
downloadguru-ac2304102ab71ec31f48ce2ac2a80ceb8432e43f.tar.gz
guru-ac2304102ab71ec31f48ce2ac2a80ceb8432e43f.tar.bz2
guru-ac2304102ab71ec31f48ce2ac2a80ceb8432e43f.zip
app-emulation/dxvk-bin: New package.
Signed-off-by: Ronny (tastytea) Gutbrod <gentoo@tastytea.de>
Diffstat (limited to 'app-emulation/dxvk-bin/dxvk-bin-1.6.1.ebuild')
-rw-r--r--app-emulation/dxvk-bin/dxvk-bin-1.6.1.ebuild73
1 files changed, 73 insertions, 0 deletions
diff --git a/app-emulation/dxvk-bin/dxvk-bin-1.6.1.ebuild b/app-emulation/dxvk-bin/dxvk-bin-1.6.1.ebuild
new file mode 100644
index 000000000..ff3906888
--- /dev/null
+++ b/app-emulation/dxvk-bin/dxvk-bin-1.6.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2020 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-19.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."
+}