From 6d47d1dd5145c8122cfbba3bcc2687bd0cba9b9b Mon Sep 17 00:00:00 2001 From: tastytea Date: Sat, 21 Mar 2020 15:00:42 +0100 Subject: [PATCH] app-emulation/dxvk: Updated live ebuild. Apply *FLAGS, make it possible to deselect versions of D3D, more comments. --- app-emulation/dxvk/Manifest | 13 +++--- ...xvk-9999-r2.ebuild => dxvk-9999-r3.ebuild} | 40 +++++++++++++++---- app-emulation/dxvk/files/flags.patch | 34 ++++++++++++++++ app-emulation/dxvk/metadata.xml | 20 ++++++---- 4 files changed, 86 insertions(+), 21 deletions(-) rename app-emulation/dxvk/{dxvk-9999-r2.ebuild => dxvk-9999-r3.ebuild} (68%) create mode 100644 app-emulation/dxvk/files/flags.patch diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest index 0d5705e..08bc6dc 100644 --- a/app-emulation/dxvk/Manifest +++ b/app-emulation/dxvk/Manifest @@ -2,16 +2,17 @@ Hash: SHA256 AUX 1.6-fix-setEvent-error.patch 621 BLAKE2B c751a08dcd4a7bf14c5f049dbc0787b373f7de6f79379f4993459b9b0762f6a13334bae2b25e802d0013f943f449f24145d58ebee342694943489bb24e6e2d96 SHA512 01f0c0458b72e433988445be80f7f8e4407a8cffe9c79f7a21c7657de2b775949a8d11b6a9f4197fc2d59ef79b8fe431bb653ef3467fc451fa5c8a161b223908 +AUX flags.patch 1400 BLAKE2B c69951eddea7b94836e9d64b39870395c4eb54dcfff31fb9ff9eafa801d989acddcf738802bbc3600a871053546dc5f641726f7e75cfdb9f101973aebd2b3571 SHA512 fd4a053775a4ab7b4df24da38ba602a5e8d43a75676bf3e870a82dd4f4e3bcf228e043139604c95941b09086ecd21887a8eaf81f2229d00abb47fdc83419284c DIST dxvk-1.5.5.tar.gz 889000 BLAKE2B 52878a5fdd060e8a6f771a9247f141a10f11d33633240cb7aebd8421a16b0d7456989412c6b80a49e037721c12b4737a9f02949a432b2b0ea22613a47ba8bd5b SHA512 b0a71dc6383aadfe55d30d73c3aefa63785882056d53d484e6d81b4bd85d40a1cf1840b61ecb03e21a3e8ed4e9a2c2d3d8ccbbadb956752f0356fe7e1a59ab10 DIST dxvk-1.6.tar.gz 892463 BLAKE2B 84d1ca0b42b9b63c5efa15d284ffedd76d4f5c09a1ca3e51971d36d68f0a5346f4bf3e5ee119a90fdbf489a3e21137e9d981710cb2b33b4b6a195f941baefa15 SHA512 5b1ba21515e5f7a75baba1e182a0b15285712c2a6e8946fcc0eadb82b64d43122e1c211304af2c890e368098fd2a69d174f86c05f9b0de0b417b0f2390d4a0ca EBUILD dxvk-1.5.5.ebuild 2303 BLAKE2B 39fc82ff1920d036669f4c11337f68746c77ceac92c3cd1a1150ce682deccb8178e40be285079b297969a81ca5da2ba367188ab7e821b94a37342d85f12864d9 SHA512 f5abd9a6d5c76402830718715e37db5817a7a4224729388e20e471cdaa6a134fd37f8006b94fd8534adf6e50855d7fe3e62515265b8b3e304f0fed2cf1d90f61 EBUILD dxvk-1.6.ebuild 2381 BLAKE2B c77d62c0dc71ec4f78fe7d5dc15435b123bfd97073dd05d1fbfadf69c84bec940bbe7fcdba2cfff9a841f00a5079f9ddc5651991893828072ea76ea9554b2a8d SHA512 b36a83d0065d8216a01ec6a1b50bc842acbac9f25b0315bbf250df2cb6413dca709464ef9e081ea4fa7c0ce41cf357abc19793c9925db16a319ecc4387fdd844 -EBUILD dxvk-9999-r2.ebuild 2339 BLAKE2B a9c235751843f1c3bb77568135fdb09ff633e626b10e312c8958ac4e2fbf84decacb6a6602a34df2d5a0ad3176b908b5c4a83fa972ce7ed5ea176527bcfe4557 SHA512 0c81f74f82b08f677319741e6cd44433a8672e17dba4aebcd0df4566fc9176f1205279f0289353b6db3571882d6bd9a16bea521e5cf96a29999555479d914976 -MISC metadata.xml 339 BLAKE2B 2c3c82d9b14bca7f4b3b2d01aadad24d534c74201952505d3d579d636c6053cb8fdc3a91c269d500876af972015d48756c7ea4b5cec089c4a7c5c4fbfdc63d70 SHA512 f2694f77e348ae5cc9053b7380b0efe41dc4a82a4fd100e2a8c87a15c11452400581145938ed80816a2c9ec86e5cd4444b99b713c2404efa7225a0e39025c7be +EBUILD dxvk-9999-r3.ebuild 2990 BLAKE2B 5b06d45a38bb8f78123da3bbd48ad7cfb2c693ba5725378db0c764abcf32dbbaa881f632719ffc1eaef1e7840b584a2f5424cc363f0d80d29ba443b6a7ffbbeb SHA512 93588a6d0c1ace16973e4aaadf0c48a3ba242d769e277c42c026240203372958dcfbfcec12e9ad0bb62d8dd36e525a06829f564f722acb518f260d7dce52fee6 +MISC metadata.xml 500 BLAKE2B f52f73c13f36ee4ad4006cd73c7bbea3e05c750f638c29c13ece73874a2980d2c62d74ceae4b2785ea862f27db19db4c79c179e7d546c02bb21bf871e859cda2 SHA512 f3c874cf60ae01bf03ed422229ca66326f7962e7bb9e2605f0f7ae906c3c3799ddd87d41110af875fd6a0cc95b2992c6adcace9fbc0baf97aba23e4e54591f66 -----BEGIN PGP SIGNATURE----- -iHUEAREIAB0WIQQ1VSZoZMptf/RapufPw5SX8bJuBwUCXnYZhgAKCRDPw5SX8bJu -B+ALAP0R3dmOO5uo5OWcosmfLy99A9OCl3LDVx2P6eYEuCR07QD8CqXRwnasDLcn -b+XYsPOpCzQ1oGzZcxTgsmXb4MmMstU= -=LahX +iHUEAREIAB0WIQQ1VSZoZMptf/RapufPw5SX8bJuBwUCXnYmKAAKCRDPw5SX8bJu +B6vIAP9XPGXbA7KKTM5YjK1ly+oFvo5TNFlhj05Fe1Oxo+b9TgD+JwmFYbQFFVrt +bb5tN6xazUDYWsZT+vIC/0bHJeAdkXw= +=uiMv -----END PGP SIGNATURE----- diff --git a/app-emulation/dxvk/dxvk-9999-r2.ebuild b/app-emulation/dxvk/dxvk-9999-r3.ebuild similarity index 68% rename from app-emulation/dxvk/dxvk-9999-r2.ebuild rename to app-emulation/dxvk/dxvk-9999-r3.ebuild index b49b495..64c054a 100644 --- a/app-emulation/dxvk/dxvk-9999-r2.ebuild +++ b/app-emulation/dxvk/dxvk-9999-r3.ebuild @@ -3,7 +3,7 @@ EAPI=7 MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit meson multilib-minimal ninja-utils +inherit flag-o-matic meson multilib-minimal ninja-utils if [[ "${PV}" == "9999" ]]; then inherit git-r3 fi @@ -23,7 +23,7 @@ if [[ "${PV}" == "9999" ]]; then else KEYWORDS="~amd64 ~x86" fi -IUSE="video_cards_nvidia" +IUSE="+d3d9 +d3d10 +d3d11 +dxgi video_cards_nvidia" DEPEND=" dev-util/vulkan-headers @@ -43,6 +43,10 @@ RDEPEND=" ) " +PATCHES=( + "${FILESDIR}/flags.patch" +) + pkg_pretend () { if ! use abi_x86_64 && ! use abi_x86_32; then eerror "You need to enable at least one of abi_x86_32 and abi_x86_64." @@ -52,26 +56,46 @@ pkg_pretend () { src_prepare() { default - sed -i "s|^basedir=.*$|basedir=\"${EPREFIX}\"|" setup_dxvk.sh || die - sed -i "s|\"x64\"|\"usr/${LIBDIR_amd64}/dxvk\"|" setup_dxvk.sh || die - sed -i "s|\"x32\"|\"usr/${LIBDIR_x86}/dxvk\"|" setup_dxvk.sh || die + # Filter -march flags as this has been causing issues. + filter-flags "-march=*" + + 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 + + add_flags() { + # Fix installation directory. + sed -i "s|\"x64\"|\"usr/$(get_libdir)/dxvk\"|" setup_dxvk.sh || die + + # Add *FLAGS to cross-file. + local bits="${MULTILIB_ABI_FLAG:8:2}" + sed -i \ + -e "s!@CFLAGS@!$(_meson_env_array "${CFLAGS}")!" \ + -e "s!@CXXFLAGS@!$(_meson_env_array "${CXXFLAGS}")!" \ + -e "s!@LDFLAGS@!$(_meson_env_array "${LDFLAGS}")!" \ + build-wine${bits}.txt || die + } + multilib_foreach_abi add_flags } multilib_src_configure() { - local bit="${MULTILIB_ABI_FLAG:8:2}" + local bits="${MULTILIB_ABI_FLAG:8:2}" local emesonargs=( --libdir=$(get_libdir)/dxvk --bindir=$(get_libdir)/dxvk/bin - --cross-file=${S}/build-wine${bit}.txt + --cross-file=${S}/build-wine${bits}.txt + $(meson_use d3d9 "enable_d3d9") + $(meson_use d3d10 "enable_d3d10") + $(meson_use d3d11 "enable_d3d11") + $(meson_use dxgi "enable_dxgi") ) meson_src_configure || die } diff --git a/app-emulation/dxvk/files/flags.patch b/app-emulation/dxvk/files/flags.patch new file mode 100644 index 0000000..4515035 --- /dev/null +++ b/app-emulation/dxvk/files/flags.patch @@ -0,0 +1,34 @@ +diff --git a/build-wine32.txt b/build-wine32.txt +index 9f13dbd..a56f2fa 100644 +--- a/build-wine32.txt ++++ b/build-wine32.txt +@@ -7,9 +7,9 @@ strip = 'strip' + [properties] + needs_exe_wrapper = true + +-c_args=['-m32', '-msse', '-msse2', '-fvisibility=hidden'] +-cpp_args=['-m32', '-msse', '-msse2', '-fvisibility=hidden', '-fvisibility-inlines-hidden', '-D__WIDL_objidl_generated_name_0000000C='] +-cpp_link_args=['-m32', '-mwindows'] ++c_args= @CFLAGS@ + ['-m32', '-msse', '-msse2', '-fvisibility=hidden'] ++cpp_args= @CXXFLAGS@ + ['-m32', '-msse', '-msse2', '-fvisibility=hidden', '-fvisibility-inlines-hidden', '-D__WIDL_objidl_generated_name_0000000C='] ++cpp_link_args= @LDFLAGS@ + ['-m32', '-mwindows'] + + [host_machine] + system = 'linux' +diff --git a/build-wine64.txt b/build-wine64.txt +index fd7be2f..8228a5b 100644 +--- a/build-wine64.txt ++++ b/build-wine64.txt +@@ -7,9 +7,9 @@ strip = 'strip' + [properties] + needs_exe_wrapper = true + +-c_args=['-m64', '-fvisibility=hidden'] +-cpp_args=['-m64', '-fvisibility=hidden', '-fvisibility-inlines-hidden', '-D__WIDL_objidl_generated_name_0000000C='] +-cpp_link_args=['-m64', '-mwindows'] ++c_args= @CFLAGS@ + ['-m64', '-fvisibility=hidden'] ++cpp_args= @CXXFLAGS@ + ['-m64', '-fvisibility=hidden', '-fvisibility-inlines-hidden', '-D__WIDL_objidl_generated_name_0000000C='] ++cpp_link_args= @LDFLAGS@ + ['-m64', '-mwindows'] + + [host_machine] + system = 'linux' diff --git a/app-emulation/dxvk/metadata.xml b/app-emulation/dxvk/metadata.xml index d8c6147..86253aa 100644 --- a/app-emulation/dxvk/metadata.xml +++ b/app-emulation/dxvk/metadata.xml @@ -1,11 +1,17 @@ - - gentoo@tastytea.de - tastytea - - - https://github.com/doitsujin/dxvk/issues - + + gentoo@tastytea.de + tastytea + + + https://github.com/doitsujin/dxvk/issues + + + Build DXGI + Build D3D9 + Build D3D10 + Build D3D11 +