diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest index cb29732..9324250 100644 --- a/app-emulation/dxvk/Manifest +++ b/app-emulation/dxvk/Manifest @@ -9,13 +9,13 @@ DIST dxvk-1.6.1.tar.gz 894553 BLAKE2B a45f905f33b255beed65daebbb946b36c28d00dc4d DIST dxvk-1.6.tar.gz 892463 BLAKE2B 84d1ca0b42b9b63c5efa15d284ffedd76d4f5c09a1ca3e51971d36d68f0a5346f4bf3e5ee119a90fdbf489a3e21137e9d981710cb2b33b4b6a195f941baefa15 SHA512 5b1ba21515e5f7a75baba1e182a0b15285712c2a6e8946fcc0eadb82b64d43122e1c211304af2c890e368098fd2a69d174f86c05f9b0de0b417b0f2390d4a0ca EBUILD dxvk-1.6.1-r1.ebuild 5451 BLAKE2B 384298d2ca80e8057d86f16b91bdf46cb81687d499a8d4570e24b115547e7e936e02118a5e99f760b2e8c81ac0b51939e03fdf8d6fb075f60bce6230c729856f SHA512 a5e495f99a7bc2268bbb60c29869e3cf38b531cc0159fd497aa3779efb6c1ed995d85dea795410cb661afc02141c489d2de520e67f696a60a81d1ec1caa9216f EBUILD dxvk-1.6.1.ebuild 2970 BLAKE2B 4eb3ed4de391e7bc3aea0b8f2789728f88f43cda7f4da00a6dc7f10308716418bab30c0f235ac4cf048ef887f2100eb4b131be02be0a46817b456a6e05c9db74 SHA512 2915110c781a80e70b1568868c03370804d50954885d7d0015d8bbd5517abcc1ec0bed8cb5f197a3f5d671c6cb5c282ce23fe33c4d179a6ee449b1aaf62ecec7 -EBUILD dxvk-1.6.ebuild 2376 BLAKE2B 97cc29f25803ec0a36a76a0fe515ade3a7cebf07f84845c9fb74fde31c40e029c78283397cce7ed84898b0bf2646ca084ee283ffe4cb1c1b28c0972375aadcf7 SHA512 b4cce9544f7eb243b7ae5adc741ad1734d59aea7deabc340d157980ab3ec41a15f86c5a4a212589f4a9062a479c78c6680a977d928a77838cf4e8b57c835c62a +EBUILD dxvk-1.6.ebuild 3014 BLAKE2B f510a47962b19ab5854d8a5f5e36a2200d021f6783aa05f8222cce1d05006b97130abf186bda937236c73cc994c043d627938035d9363030605d0c082f66638c SHA512 43e80f111f51a9084b09064178bebb437b2c0931b4f65ed665a837805b6bb5dcc5a2868b05bd103fe864f6f9de59829c4c9e21734a780c4a0913b4176c7e8757 EBUILD dxvk-9999-r4.ebuild 4947 BLAKE2B d0848cd76d63343670416f7ba0d60872e7c3ac20617be556ece1e711ba11a80883238e52b9306c42d0cc290b4372bc2b580ef98755e56a9ff4998c69ae87e6fc SHA512 44d27d864244c70e273aac7094b04179fa181305b7b3afba2b59515d2dd128b073a2f2bb60bb36e14a88ded003eff72f0b0435f93e7eda77e06cdedf86a139fb MISC metadata.xml 643 BLAKE2B 6e4968ea2dddea57b8079e56f3c7e5f3f478a5d017d4d238d3b2326b593bb461a74ef77270bf659fecec25c564156617e287ab8a247e8b040c07e5b829e70898 SHA512 0c71cc5589839c365703bb1938fd3360adf985875a669239a45abb8f25f517330b8e72895a18db61b076eed7e71e1a804016d0d01afeadc5650340505c30eb74 -----BEGIN PGP SIGNATURE----- -iHUEAREKAB0WIQQ1VSZoZMptf/RapufPw5SX8bJuBwUCXqRFnAAKCRDPw5SX8bJu -B8vVAP94jBnRTKV4ZEMuW0bOSRkuG9EJKFuDZrLVYokqMLvxUQD/Rug3zwxdISZZ -mssKNm32WiOraxrEnR9Y4/66cxZb5GA= -=kEjb +iHUEAREKAB0WIQQ1VSZoZMptf/RapufPw5SX8bJuBwUCXqRGdQAKCRDPw5SX8bJu +B3bbAP9Y3nWNpVyueBMWjwusRPg23G2wS9ZEZoeZnP4XVDRK8gD/ejxz0ZZnNbdz +IzDWl2qAhwidfvabtKb6aNp8r9Sh+xs= +=5q2k -----END PGP SIGNATURE----- diff --git a/app-emulation/dxvk/dxvk-1.6.ebuild b/app-emulation/dxvk/dxvk-1.6.ebuild index 557def8..22e0e9f 100644 --- a/app-emulation/dxvk/dxvk-1.6.ebuild +++ b/app-emulation/dxvk/dxvk-1.6.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" fi -IUSE="video_cards_nvidia" +IUSE="+d3d9 +d3d10 +d3d11 +dxgi video_cards_nvidia" DEPEND=" dev-util/vulkan-headers @@ -31,8 +31,8 @@ DEPEND=" " BDEPEND=" || ( - >=app-emulation/wine-staging-4.5[${MULTILIB_USEDEP}] - >=app-emulation/wine-vanilla-4.5[${MULTILIB_USEDEP}] + >=app-emulation/wine-staging-4.5[${MULTILIB_USEDEP},vulkan] + >=app-emulation/wine-vanilla-4.5[${MULTILIB_USEDEP},vulkan] ) " RDEPEND=" @@ -45,6 +45,7 @@ RDEPEND=" PATCHES=( "${FILESDIR}/1.6-fix-setEvent-error.patch" + "${FILESDIR}/flags.patch" ) pkg_pretend () { @@ -56,33 +57,53 @@ 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=../${P}/build-wine${bit}.txt + --libdir="$(get_libdir)/dxvk" + --bindir="$(get_libdir)/dxvk/bin" + --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 + meson_src_configure } multilib_src_compile() { EMESON_SOURCE="${S}" - meson_src_compile || die + meson_src_compile } multilib_src_install() { @@ -90,7 +111,7 @@ multilib_src_install() { } multilib_src_install_all() { - dobin setup_dxvk.sh || die + dobin setup_dxvk.sh } pkg_postinst() { @@ -98,5 +119,5 @@ pkg_postinst() { elog "in order to make use of it. To do so, set WINEPREFIX and execute" elog "setup_dxvk.sh install --symlink." - elog "D9VK is part of DXVK since 1.5. If use symlinks, don't forget to link the new libraries." + elog "D9VK is part of DXVK since 1.5. If you use symlinks, don't forget to link the new libraries." }