summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/Manifest.gzbin14990 -> 14982 bytes
-rw-r--r--app-emulation/dxvk/Manifest2
-rw-r--r--app-emulation/dxvk/dxvk-2.1_p20230207.ebuild173
-rw-r--r--app-emulation/vkd3d-proton/Manifest4
-rw-r--r--app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230207.ebuild179
-rw-r--r--app-emulation/vkd3d/Manifest2
-rw-r--r--app-emulation/vkd3d/vkd3d-1.7.ebuild2
-rw-r--r--app-emulation/wine-mono/Manifest3
-rw-r--r--app-emulation/wine-mono/wine-mono-7.4.1.ebuild26
-rw-r--r--app-emulation/wine-proton/Manifest9
-rw-r--r--app-emulation/wine-proton/files/README.gentoo2
-rw-r--r--app-emulation/wine-proton/files/wine-proton-8.0.1c-unwind.patch36
-rw-r--r--app-emulation/wine-proton/wine-proton-7.0.6.ebuild6
-rw-r--r--app-emulation/wine-proton/wine-proton-7.0.9999.ebuild6
-rw-r--r--app-emulation/wine-proton/wine-proton-8.0.1c.ebuild329
-rw-r--r--app-emulation/wine-vanilla/Manifest2
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild2
-rw-r--r--app-emulation/xen-tools/Manifest2
-rw-r--r--app-emulation/xen-tools/xen-tools-4.15.5_pre1.ebuild2
-rw-r--r--app-emulation/xen/Manifest2
-rw-r--r--app-emulation/xen/xen-4.15.5_pre1.ebuild2
21 files changed, 775 insertions, 16 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz
index 2d4b9b75119b..347497ecc06e 100644
--- a/app-emulation/Manifest.gz
+++ b/app-emulation/Manifest.gz
Binary files differ
diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
index 35ee49171e72..96ff8559ef42 100644
--- a/app-emulation/dxvk/Manifest
+++ b/app-emulation/dxvk/Manifest
@@ -1,6 +1,7 @@
DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
DIST dxvk-2.0.tar.gz 943397 BLAKE2B 7d59050e8ac3f9be311d11323cc0057d84c3b730360fe9e064ff4a5e2db5bffea5bae3214da366c60295ec5f1577ab08e2776274c9aaff7a7de1b9f2cefa836a SHA512 98537bdec2b5e4f2ead5b93ab49db717e0706fe771a82a6ef1e5b5792c1bdd3f417cd6b6b2deadb1397b8a0740445fa88b9fb6c1f73510cc5c0e7ae35d65bcac
DIST dxvk-2.1.tar.gz 960078 BLAKE2B ad8ea7eb000237914d9116a8fbfde13fde3dc00d428ebfe41aacb9373c6509112545ef1942b4cbc96a18338c3d07c2c494d0454236721e220ee5f5731a5c27b9 SHA512 10d919ba2612f665a20f7c72605967adeea94d8414bee45878f9df42ad263fa5ebfc7a76319173dce054ffe9b9cdc919ff7a136042f3f4e64142844c943bdef7
+DIST dxvk-caf31033d7.tar.gz 961317 BLAKE2B 2686ed36c00325dfbe0351f6c8e3f6787f4568ee8baa73fa51e8e743f4f8f47174fd309d13de2fba6ea1d8496aaba6976bfba02685d2eeaa17cb9cc019620f5e SHA512 e8b9939d5de2642f445cead2d8168b02b05ee18dbb1b5dc89b5abd285cf75a9a229026e482b665b322baab0b82c2ccba9c23ead0f1c6e5f9d1cbfa60307d39ea
DIST dxvk-libdisplay-info-d39344f466.tar.bz2 81232 BLAKE2B af76ccd3c40bc953008bc30d222c72f90bdc77f47f767b6e7423efaa0ec89d746396a755160b5470e219a15a0aa392be6066aab12921b45a1adb35d88132cd97 SHA512 79b4bf325cefc39bc587233bd82ff64c927ca5f829b8172d213c3d47af725c8dc7fe33576a8e96a869075ee2a8f00d165f3aa9e6c472e862a47e5c800b2b3315
DIST dxvk-spirv-headers-0bcc624926.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c
DIST dxvk-vulkan-headers-98f440ce68.tar.gz 1691979 BLAKE2B bf6fd288f16df7adcb5cebeb6e13713db1c26a0b833dead2fb522227861abc60b2d0cda8e3f46f8e89cccb629e01081ba27763989ad6fd336c60a475b198c1c8 SHA512 69238d37d0af0162e0fd68094cd2fa9baa320497d34a9de491dea086c23291d0815b51e89218b1f0ee2b3314cbc8ac1809d6edb15ca51fcb282fe1e2b39a1a77
@@ -8,5 +9,6 @@ DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d9879
EBUILD dxvk-1.10.3.ebuild 4386 BLAKE2B c2cd3106bd5437f1ee18f6f1977573f48eedc1258fb0de6ac5ad0a730ce348655404a931fc1f8c90254f0c6eb29cf08f89cd78529a7785db2f9dad00345a7ab7 SHA512 3828dcb3ac3b97449bf87f5a978b5baa3c06cb9141ddee96f538dfacf7201e33eda11468f3d39cbb318f92f544f8d2a8f96f923868d12e8174105293af3b1706
EBUILD dxvk-2.0.ebuild 5263 BLAKE2B 78de2ed9dc6540673f0b05d92f847670979f02adfd03dfa8df28e108b78788b7c8890e37eeca1e1ec3750604fb95e645e84ec99c593d11b39a5ef51c2f3530c0 SHA512 83ceafb6670947a56ae0ecb6ad208d0ed9b91db6a2f00ba868edeffef0064fe85e7a5b7e13d5b5cf4b69228deefccfb470e9eb7868002ed6e9a93ffb36861cd9
EBUILD dxvk-2.1.ebuild 6059 BLAKE2B 7e37e822aed0352f7001cff7f554ec81bcdf11b93b9defb7b24ee24b590b75e625c4ddb254f5e025c133f1271b150108f26ec151f2b37dcbd636534a9d687028 SHA512 93a9b0ca7a914f384838b52cf66cd0ea9d05354035c88a241f8892ea5c2a3158099f958c3792427a68548d014fcf3d80236b4b0ee86c9dee25de126d3a5f829d
+EBUILD dxvk-2.1_p20230207.ebuild 6186 BLAKE2B 07fb6c7a43c659cd25d037e94ed9eae5e0861ee9659a2af1e6550ff4d94ed609ed0e362db3c228538a46c46f5ed112a908f08c1367716c17578e8c3cf2025083 SHA512 7aa809e685f2534ce116c8aa657822e962aaa4ba6a09ef941c340b80415b75d08d029dc1b30067309f36d6adf201e7f38aa539b010f0e54bee5a62fe1921101a
EBUILD dxvk-9999.ebuild 6061 BLAKE2B a58c90e467fdd6e263eb9369e1d862a1e2ed9085c26a0c7f59bc9a58cf81296461a3ff68053aae688b74ba19f5933c18fe516411d3609b0efb75e93db0dbf18e SHA512 53e623a745aa6e5e8f46a1b230aa53f22d3bdb56dbe941e642c1ee5b449314a417dbc3d618c02a68753b400381e201e8aa106c1eb3ddc18b234d4cad788de3b3
MISC metadata.xml 818 BLAKE2B 88081c074b99329c925174de4b7ff9b2c220ffc67eb64a5324f4eaf2a35f98f06c9978ddc0e929ba76b341a389a8eff025b7aa0a2414e3f7ae496c44a023c65c SHA512 90d76ac3df3abe003371cd25b9cf0e6570a53b371349fb2e048cae1818e51f0482e17b3d5490eb82c57d891bb43c4a7cd41530101b888591719c33c566788e3b
diff --git a/app-emulation/dxvk/dxvk-2.1_p20230207.ebuild b/app-emulation/dxvk/dxvk-2.1_p20230207.ebuild
new file mode 100644
index 000000000000..8f164958b449
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-2.1_p20230207.ebuild
@@ -0,0 +1,173 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+ EGIT_SUBMODULES=(
+ # picky about headers and is cross-compiled making -I/usr/include troublesome
+ include/{spirv,vulkan}
+ subprojects/libdisplay-info
+ )
+else
+ HASH_DXVK=caf31033d711460e86781b16a4d9b0f41fa9e817 # matches proton-8.0.1c
+ HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
+ HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
+ HASH_DISPLAYINFO=d39344f466caae0495ebac4d49b03a886d83ba3a
+ SRC_URI="
+ https://github.com/doitsujin/dxvk/archive/${HASH_DXVK}.tar.gz
+ -> ${PN}-${HASH_DXVK::10}.tar.gz
+ https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+ -> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
+ https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+ -> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz
+ https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
+ S="${WORKDIR}/${PN}-${HASH_DXVK}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+LICENSE="ZLIB Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
+REQUIRED_USE="
+ || ( d3d9 d3d10 d3d11 dxgi )
+ d3d10? ( d3d11 )
+ d3d11? ( dxgi )"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-util/glslang
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local tool=-w64-mingw32-g++
+ for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+ if ! type -P ${tool} >/dev/null; then
+ eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+ eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+ use abi_x86_32 && use abi_x86_64 &&
+ eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+ die "USE=crossdev-mingw is set but ${tool} was not found"
+ elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+ eerror "${PN} requires GCC to be built with --enable-threads=posix"
+ eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+ die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999 ]]; then
+ rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
+ mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+ mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+ mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
+ fi
+
+ default
+
+ sed "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" \
+ "${DISTDIR}"/setup_dxvk.sh > setup_dxvk.sh || die
+}
+
+src_configure() {
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # AVX has a history of causing issues with this package, disable for safety
+ # https://bugs.winehq.org/show_bug.cgi?id=43516
+ # https://bugs.winehq.org/show_bug.cgi?id=45289
+ append-flags -mno-avx
+
+ if [[ ${CHOST} != *-mingw* ]]; then
+ if [[ ! -v MINGW_BYPASS ]]; then
+ unset AR CC CXX RC STRIP
+ filter-flags '-fstack-clash-protection' #758914
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-fuse-ld=*'
+ filter-flags '-mfunction-return=thunk*' #878849
+ fi
+
+ CHOST_amd64=x86_64-w64-mingw32
+ CHOST_x86=i686-w64-mingw32
+ CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+ strip-unsupported-flags
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+ # unset again so meson eclass will set ${CHOST}-gcc + others
+ use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+ local emesonargs=(
+ --prefix="${EPREFIX}"/usr/lib/${PN}
+ --{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+ $(meson_use {,enable_}d3d9)
+ $(meson_use {,enable_}d3d10)
+ $(meson_use {,enable_}d3d11)
+ $(meson_use {,enable_}dxgi)
+ $(usev !debug --strip) # portage won't strip .dll, so allow it here
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ dobin setup_dxvk.sh
+ dodoc README.md dxvk.conf
+
+ find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_preinst() {
+ [[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+}
+
+pkg_postinst() {
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "To enable ${PN} on a wine prefix, you can run the following command:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+ elog
+ elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+ elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
+ elog "removed upstream, handling may change in the future."
+ elif [[ -v DXVK_HAD_OVERLAY ]]; then
+ # temporary warning until this version is more widely used
+ elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
+ elog "If you were using symbolic links in wine prefixes it may be necessary to"
+ elog "refresh them by re-running the command:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+ elog
+ elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
+ elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
+ fi
+
+ if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+ ver_test ${REPLACING_VERSIONS##* } -lt 2.0
+ then
+ elog
+ elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
+ elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
+ elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
+ fi
+}
diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
index 429966b42a26..c0f48599a491 100644
--- a/app-emulation/vkd3d-proton/Manifest
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -1,13 +1,17 @@
+DIST vkd3d-proton-08909d9856.tar.gz 1424776 BLAKE2B cb29a927b28980283c96d9a1ac99ef98570b72edbec147314b2884e2d8c78c23b8b7cdab4530b9098e55a25801a9fad3e5a8ae48695b994c226d05fd380c905b SHA512 ca79dfccf638f65546f8654bbb3819b6b72e8a6fd2cf9c5d697444b91244e96d55d059c971afc6b0709c762575a27024862a482dc0159a58804f7d4072746660
DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
DIST vkd3d-proton-2.8.tar.gz 1435183 BLAKE2B 8b265e6dac1dd0ed6377ea6bc0ecffa7eccb8360f890bf2c996395b9db90e132ede9bddf6e889a9302466cccdcd2000f1e7ad9ece740b797c44f081b7ca1bb98 SHA512 d708fe62d64487b4430862b93913ba45f2889268c5efb9b1dc69fd48a665fcffc06a7bb91afc13b06a35fd82005a3115dc85f1de74d65f6958fd6f0c02a54007
+DIST vkd3d-proton-dxil-spirv-9e2c26d15c.tar.gz 698285 BLAKE2B 034627322183771c67ac7f927f3883bb186ee1f17657e825f542331dcc4d907d65c764dd6e01603ac77d1205c92500be016a6f0df1e742b6e71f9a189d8287da SHA512 42e385f33b97444bf02a6f662094c256b5f92d5fd444fd3545a52b55aa30e23db2d794a62543de97baaf59cc4b6a1e8429d10b88c01c4bd0d71f5e086319b2d1
DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
DIST vkd3d-proton-dxil-spirv-babf511d4c.tar.gz 695011 BLAKE2B 49e13065037edec80815b19907664d9681bc191303032db2e1678fbff5e144846c2ee267fdf5c1d4c31a1a30f2c14275f8e276a771253fabb8bbea8936be4eb4 SHA512 b310e4e856b4571ce13cce8539bd1640c7578b132558c009fcc04c24b4b10a86b620542891442dd81feaa8f6ad63d2d05021ca228d1c5f46eebe384fdb30f77e
DIST vkd3d-proton-spirv-headers-1d31a10040.tar.gz 445679 BLAKE2B 3dac88269df92428fd93ca187eb417ec0156ff0b24200daf85526aaa92c30ba8743102764e20c47d783ed0704fa690c1bf60944ef81bbdd296890dde5fb9fcaa SHA512 2536619cd7854954892dbb5ab5cd97e4e95fe3f5c121c4b2022426ae734fc20c1ebadbae1da7689f5ca18397075c54e4f16ad525b8ee873c4b0ffdc07aaacc03
DIST vkd3d-proton-spirv-headers-87d5b782be.tar.gz 439180 BLAKE2B 9c64a1b7aa408172bb57b38ca0e3d31221c7dfecfcd9afc77449c14e76f60f7436f1a54a794bf4959f4575f177e1024621c6ff696f7fb19b545877e0a527031c SHA512 d6ce02e53c259e508d1d72d81cc6aa6b3019e7ecd6a8878d81d8681d9734756f66c762ebd4b8b1d0f9fbb7a8f1f18d72aeb27c56822d810aca5a3e53c51c1ef6
DIST vkd3d-proton-spirv-headers-ae217c1780.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b9c69757d7c2257ce2fe1bc6be308341f3189766f120994e4920bc738b737d9eefc299359dab568fb8809782e3663dd589c0e4d13aecb8873a SHA512 02cf1d63b29e48ef0efe489eb32237ba2f9f4bf58a182b00dc96aab18faba94de79283398e9e945cd81130f83fff228c59b04e496716ea9ccc148a5f4465282c
DIST vkd3d-proton-vulkan-headers-83e1a9ed8c.tar.gz 1299014 BLAKE2B 0b1e635aaa6eebec3525b13698a064e0e5b8a78829a772cbe9e1890148059bf396bc5c830e8d6ee3070a3343775991642565283994c65acfa0d82a91590b7d84 SHA512 ecb2158cad55edb4ba069383668f3b311a2f6aa6777b5b7ed94795d454622426ee34fee52b13c97d2f07b5b2f965815ee61a0203b76a0b0d2c708a4786d06b96
+DIST vkd3d-proton-vulkan-headers-9f93cbe76a.tar.gz 1811251 BLAKE2B 6993e6e7301925a949a8ee18d7d0dec48adc8d4c66bb759929891241b64dd8f4bf4e563e86b40020123d5eced74b3ab02b86f3488b7d782c3cd4536079a3ddec SHA512 d0a157a560b58b676bbef115097423a4ab22928cd08a1010d2f3695bbf5fe3af79653b8db6ec00fa061ff46010749dc13526488f53cac6860af2a1918d873a19
DIST vkd3d-proton-vulkan-headers-b7a86d3b2b.tar.gz 1753074 BLAKE2B a2588e84edd09a04c3622a95310acc781432d6a962c69c1f5a709b65e2bfeb5196d9d217b0d261532c4b5c1424f13ff64d33728303c989fdbce3048741add486 SHA512 377ada7a9721c225067c6548475109cf4ad1f3d677b835fbe7a4bc7520621acd816cc59d4b75b23bc28f25891b556792cf853b98c0dfb915856774ff27eb6aba
EBUILD vkd3d-proton-2.6.ebuild 6185 BLAKE2B 5d86945bcb6193370e55b3b295fef3a865fa1abe397026c6456e08f764c34e1d473fc0b55c4b9797e3812f16c676412524dea73235c10189eb8f4fc50642f2a8 SHA512 0a884190cad38b587d2cc5791f60792d58907135d76ca31265f706bae2bec40281fabc66478c59af3781643c91747563815a80427fd69a2ce317ae1921a8416c
EBUILD vkd3d-proton-2.8.ebuild 6661 BLAKE2B cf769ef74a29aeac41fee8b6d6d59522d22ede312723aed52a381fe94ccd8366dcf37fc436099487eafe738ba5c8b1ae23f92df9b5ee21ca2a47fabf92ccbd04 SHA512 272f6875fb49a250a8c08dd7ca5b81148d8e4ec916984089f2385afeb03aecca07904c9c672f048a4cdf41f18eeefeef136631c8cd8ff1673ad450fda6a262e9
+EBUILD vkd3d-proton-2.8_p20230207.ebuild 6723 BLAKE2B b55700e5d85ab8e2245e411c513f8c3ffaeedc7016640940a51eb2ee2bbfc8262eb5ac32bd6311fd1fd18eddea9ec2f978f4f946a66b2f71a3e8e8f6c45aac22 SHA512 eb90e6abb12d4ed61d1eefaee76066f26075511ae2299099871be99bead4592c9237d2bb1287920677dc8c08411d8c12c2d830306f8e059b4c499db6a3bb0452
EBUILD vkd3d-proton-9999.ebuild 6663 BLAKE2B bb56548c08e6632f095851dc403b2b610819798babf3a66f36f709018fe3d469eac320e4f8c27488bb0d040e301ab776d46139a97cc538eb09257077a9902ca9 SHA512 e396296b59aea3a220b6d9cdc1e2445632470bc6a3337b77058f517c2bef9b5b3992d4b95c5f0a03f3dc4cdd1836921330e51e68557b345f64249600d15a6d2d
MISC metadata.xml 618 BLAKE2B 4382557118c0ea56972d05a10c9cc1f94a4fbcc58a414f1cd5e4354ce6ed1de15c95377f167ed5627231c2887ecce3c00756908720458fedddea5ed6732771ff SHA512 b5cc86b412c30ee5d54868a87c9f4892337c83988b738806532cd9e2cc295a2326e776030c19cae9a2e9dd4f5f615b1d962ec48a4b310fd8a94ec4024dde99ab
diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230207.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230207.ebuild
new file mode 100644
index 000000000000..58f1162cda67
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.8_p20230207.ebuild
@@ -0,0 +1,179 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib toolchain-funcs
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/HansKristian-Work/vkd3d-proton.git"
+ EGIT_SUBMODULES=(
+ # uses hacks / recent features and easily breaks, keep bundled headers
+ # (also cross-compiled and -I/usr/include is troublesome)
+ subprojects/{SPIRV,Vulkan}-Headers
+ subprojects/dxil-spirv
+ subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
+ )
+else
+ HASH_VKD3D=08909d98565065994612e529feb0cad04e498a8e # matches proton-8.0.1c
+ HASH_DXIL=9e2c26d15c0eeac91fb8c6dda3aff8f6a602c0b6
+ HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
+ HASH_SPIRV_DXIL=87d5b782bec60822aa878941e6b13c0a9a954c9b
+ HASH_VULKAN=9f93cbe76abe9f6cb4a36df10b08fa3b78ae0027
+ SRC_URI="
+ https://github.com/HansKristian-Work/vkd3d-proton/archive/${HASH_VKD3D}.tar.gz
+ -> ${PN}-${HASH_VKD3D::10}.tar.gz
+ https://github.com/HansKristian-Work/dxil-spirv/archive/${HASH_DXIL}.tar.gz
+ -> ${PN}-dxil-spirv-${HASH_DXIL::10}.tar.gz
+ https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+ -> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
+ https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
+ -> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::10}.tar.gz
+ https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+ -> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
+ S="${WORKDIR}/${PN}-${HASH_VKD3D}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"
+HOMEPAGE="https://github.com/HansKristian-Work/vkd3d-proton/"
+
+LICENSE="LGPL-2.1+ Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw debug extras"
+
+BDEPEND="
+ dev-util/glslang
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local tool=-w64-mingw32-g++
+ for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+ if ! type -P ${tool} >/dev/null; then
+ eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+ eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+ use abi_x86_32 && use abi_x86_64 &&
+ eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+ die "USE=crossdev-mingw is enabled, but ${tool} was not found"
+ elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+ eerror "${PN} requires GCC to be built with --enable-threads=posix"
+ eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+ die "USE=crossdev-mingw is enabled, but ${tool} does not use POSIX threads"
+ fi
+ done
+ tool=-w64-mingw32-widl
+ for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+ if ! type -P widl >/dev/null && ! type -P ${tool} >/dev/null; then
+ eerror "With USE=crossdev-mingw, you need to provide the widl compiler by either"
+ eerror "building crossdev mingw64-runtime with USE=tools or installing wine."
+ die "USE=crossdev-mingw is set but neither widl nor ${tool} were found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999 ]]; then
+ rmdir subprojects/{{SPIRV,Vulkan}-Headers,dxil-spirv} || die
+ mv ../dxil-spirv-${HASH_DXIL} subprojects/dxil-spirv || die
+ mv ../SPIRV-Headers-${HASH_SPIRV} subprojects/SPIRV-Headers || die
+ mv ../Vulkan-Headers-${HASH_VULKAN} subprojects/Vulkan-Headers || die
+
+ # dxil and vkd3d's spirv headers currently mismatch and incompatible
+ rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
+ mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
+ subprojects/dxil-spirv/third_party/spirv-headers || die
+# ln -s ../../../SPIRV-Headers/include \
+# subprojects/dxil-spirv/third_party/spirv-headers || die
+ fi
+
+ default
+
+ sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_vkd3d_proton.sh || die
+
+ if [[ ${PV} != 9999 ]]; then
+ # without .git, meson sets vkd3d_build as 0x${PV} leading to failure
+ sed -i "s/@VCS_TAG@/${HASH_VKD3D::15}/" vkd3d_build.h.in || die
+ sed -i "s/@VCS_TAG@/${HASH_VKD3D::7}/" vkd3d_version.h.in || die
+ fi
+}
+
+src_configure() {
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ if [[ ${CHOST} != *-mingw* ]]; then
+ if [[ ! -v MINGW_BYPASS ]]; then
+ unset AR CC CXX RC STRIP WIDL
+ filter-flags '-fstack-clash-protection' #758914
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-fuse-ld=*'
+ filter-flags '-mfunction-return=thunk*' #878849
+ fi
+
+ CHOST_amd64=x86_64-w64-mingw32
+ CHOST_x86=i686-w64-mingw32
+ CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+ # preferring meson eclass' cross file over upstream's but, unlike
+ # dxvk, we lose static options in the process (from build-win*.txt)
+ append-ldflags -static -static-libgcc -static-libstdc++
+
+ strip-unsupported-flags
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+ # unset again so meson eclass will set ${CHOST}-gcc + others
+ use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX STRIP WIDL
+
+ # prefer ${CHOST}'s widl (mingw) over wine's as used by upstream if
+ # possible, but eclasses don't handle that so setup machine files
+ local widl=$(tc-getPROG WIDL widl)
+ use amd64 && [[ ${widl} == widl && ${ABI} == x86 ]] && widl="widl','-m32"
+ printf "[binaries]\nwidl = ['${widl}']\n" > "${T}"/widl.${ABI}.ini || die
+
+ local emesonargs=(
+ --prefix="${EPREFIX}"/usr/lib/${PN}
+ --{bin,lib}dir=x${ABI: -2}
+ --{cross,native}-file="${T}"/widl.${ABI}.ini
+ $(meson_use {,enable_}extras)
+ $(meson_use debug enable_trace)
+ $(usev !debug --strip) # portage won't strip .dll, so allow it here
+ -Denable_tests=false # needs wine/vulkan and is intended for manual use
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ dobin setup_vkd3d_proton.sh
+ einstalldocs
+
+ find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_postinst() {
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "To enable ${PN} on a wine prefix, you can run the following command:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_vkd3d_proton.sh install --symlink"
+ elog
+ elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+ fi
+
+ if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+ ver_test ${REPLACING_VERSIONS##* } -lt 2.7
+ then
+ elog
+ elog ">=${PN}-2.7 requires drivers and Wine to support vulkan-1.3, meaning:"
+ elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
+ fi
+}
diff --git a/app-emulation/vkd3d/Manifest b/app-emulation/vkd3d/Manifest
index 46db80c8c59c..015ed9ca4d75 100644
--- a/app-emulation/vkd3d/Manifest
+++ b/app-emulation/vkd3d/Manifest
@@ -1,5 +1,5 @@
DIST vkd3d-1.6.tar.xz 785844 BLAKE2B 6dff7aaad966b378809c87969a54568b943c52bec072fa03becdb40c4ff098168924c363e642aa42049f4468ff75013175fb847cc213278a4e10ea54e906a288 SHA512 0f640c1b139f5ccce8e6d1986d1439c2b0d14e7ac533216d2408dbeee07172eee51549311db22464c2ae89070ca15191aaffd967749676586984561ce1d4b38f
DIST vkd3d-1.7.tar.xz 807176 BLAKE2B 1e2b03c8440bdf9306e9c08d557dd6b622c689e94f7d4bcb4ce752cbfbe48ddb0b577f9fee14ab8ac2fc08395205328efc5b437a8fc67d5bb0fd868db0902378 SHA512 008c63742d939e8dc755bd382208d52e145d3ad7a5fe7ae71d41be3e3efd609b513add2ec43c6947a183b6a7595e3f0d8bdc6628835577fa5b7f7ec8a5dea347
EBUILD vkd3d-1.6.ebuild 953 BLAKE2B 7bc70de3a18044a97ad4323df4d2bba852109e968425c9cae9c4b0250f3977eaef933d64b6eac1d0a603868ab4a798370b73b151403454a61ce29bc626593b95 SHA512 62e5827659163f08fcc1cb247202a5e8e303a4e018ba9220ce171a9d40c4e66926baf8abec9d9b020004b996357ee21fe1772bf295c356c358d003040c2089ee
-EBUILD vkd3d-1.7.ebuild 955 BLAKE2B 6c07bfaf9fef56957b298efa120a79d4b20a5ab7da8af1ac5d47a8b12e2e08566c080c8fcb8498bd7dff3c1c70c2bd5e7bf4d8452cd019cc8441683716776fd6 SHA512 4ff642fb41072a96ed8f8571bf1effe3ba2628f08e3b957ca0d2da29143da2db42b60f0c42b55e6065588aa8c997d713d14530eaafaec63e92987fc5826930ab
+EBUILD vkd3d-1.7.ebuild 953 BLAKE2B 0e57f0cdb2b971e06df97e10df11d18d00ec517d809a72eb77352f621322767b69fb4601f4c9a22d326a0557cb6bc5c78ee9cd59dcdb130acf37e2b86820c207 SHA512 48082c3b522bbca92debe3121731623e8c5fbd8e302e23394250a4af77ddc1cdd917a72a3d732efe64fcaeb169930f755e632a4b2a2cefbd4f9112faa471bda6
MISC metadata.xml 563 BLAKE2B c976a16a495bdb5863811acda56b2cc628683a63fc2a22c18d2a09775d3a38c845e00f83b97b318d9a0e5267bb470dd56d334dc9f43e3716784254802b8db60b SHA512 3d5afb7890b3b10ad424fcfe3fa2b42a9227ba0b82be8ab85308126966f476798818ee0ecc88c53105b218f465a72b213efe00968112431169884a4a6f48c6a8
diff --git a/app-emulation/vkd3d/vkd3d-1.7.ebuild b/app-emulation/vkd3d/vkd3d-1.7.ebuild
index cea4a98c8e5e..0a6c10a184bc 100644
--- a/app-emulation/vkd3d/vkd3d-1.7.ebuild
+++ b/app-emulation/vkd3d/vkd3d-1.7.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://dl.winehq.org/vkd3d/source/${P}.tar.xz"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="ncurses spirv-tools"
RESTRICT="test" #838655
diff --git a/app-emulation/wine-mono/Manifest b/app-emulation/wine-mono/Manifest
index fc63c32e6d15..5e2ee5e25215 100644
--- a/app-emulation/wine-mono/Manifest
+++ b/app-emulation/wine-mono/Manifest
@@ -4,7 +4,10 @@ DIST wine-mono-7.3.1-x86.msi 86930432 BLAKE2B f43b605ab7b07a7b4d8d4675297af6e827
DIST wine-mono-7.3.1-x86.tar.xz 43216532 BLAKE2B bc00f41d2e9e88c0a687fad6bdd48e9a836f3d7369747602665691ca3e430c895655e9c5e9ef955a5cf45a96818b6858bc3cc93d90c3d7a49f8d8f4ff824d45a SHA512 a2c8d10d9b34fd7775eeddb6494b84f2f04e6a2f21d93940dc902434b189d43bdfdcd198baf8133cda8b17c2bc25ee84538e12a32027cdd66da9ab029eed6777
DIST wine-mono-7.4.0-x86.msi 87334912 BLAKE2B c0b778f9db59d1a2917631f1d6ca1a1798972a6a42e27975da78f3a35b77018a99228d7d95e5640c57618533a6b01bf2252859e3e978e2aa8dbdc8cd62afcc28 SHA512 cf35513b368324487c387d4339e5b05a90c4825b25ea603140524b79e69786ccc20dfb898213a9548c0313c0b0e4b160acb88364e4b280dd6712d185d9e5ae57
DIST wine-mono-7.4.0-x86.tar.xz 45404344 BLAKE2B 3a74106b9b3f21a88c2435f7988d66a54e08beea931a0ce0df6431c21add4ee2685bf9c9cb2404ee1a685736d61b1aee3cdd507130e5c5dddba7e506a2ff18bb SHA512 108cb5d969e84deeda3d2b11dba7cd73853fc3b088ecf2bcdb9bc5c5bbaaff03e72cd4f485d1935eda43cdd95b927886441be1d2204edeaee1ff1fea75735d22
+DIST wine-mono-7.4.1-x86.msi 87339008 BLAKE2B 571469f21f4b2f4483172ef88cd973f94dd09eed3b9312775339711901fc5cd753944802a10e35c22f68b8685ae10f782e005f6ae9fcf7afc7b4da039a732b34 SHA512 ac2b398ce4c58b35da05d6d002f04cbdf7c615a9058f3db8e00f6c10166be84d90fc09ffa7e44f171e97bd91b741855f1547036d2eca2a688a92e3ed4297762a
+DIST wine-mono-7.4.1-x86.tar.xz 44433444 BLAKE2B 28adbcca630698e74e455fbe37b8cd60c3d836c503db6a2df20e4db3e12f549a5d1fae6a4c0ccd6068e2667f700fbfe09858b95f156ad8d660ef3804773179a0 SHA512 2d0b231ee6e34d23f1e2ae0d7995dd31caab352f30816302743f884f5da56a071e931dabb53f813dd5389c82bdab70057b1d5c6430f1f88ace93789e41962cb6
EBUILD wine-mono-7.0.0.ebuild 612 BLAKE2B 39b9a3190973e810ad32da319b29e8448de94e7289b264579900c9261d32fe3bf101dd1b46e2fd71ba61d2fa4b073aceb59526e0fdb59b8e15abb55bd0eadb4b SHA512 eded1db18604b14f9a634d8364ed5013ec84821f32a31ee459f5aa38172f2f8f1b3e3d38e1527d87208e69d604dec49f01d8b9dc30ca70530aacc7e1f9039039
EBUILD wine-mono-7.3.1.ebuild 662 BLAKE2B f2f93392f9b755e268615f55ca56bb17e4f6016a6cf5b429db3a6bee6f919bf007dc6decaf1b89173cf1ba93271958abdd0d034730a1c92e815a31f27e08544e SHA512 0f7f8305547cc3a502991df847c393180da67ca74be5bef604536bd1c22c23e2d56e0807b6c9b252073d93a5ae1c9d5938089011d79e4080ae85e8f9272461b8
EBUILD wine-mono-7.4.0.ebuild 662 BLAKE2B 1e4e33a1f0a9f6436d787091a0186b8f8d77a6678c5d86fac205720a02ae5fb21e6a40e3df33d8f1501af6974261ce23f3b47c0a558ea299b454fd439b19b7d3 SHA512 930cebc2ad75709cda8819b527c3bbd0c34c6e59fec7562197b8d1ad8fc3e0597b62a789e1e37951ce63fe8687158617f6d332cea585db4787b71de576ea0982
+EBUILD wine-mono-7.4.1.ebuild 664 BLAKE2B 5b6f81e3dfeab25abbb9e5259fad782b5e064a6ccd421ddff0a069484bd5613257fa12dc0cb4710e20c3c3de971119b041f39c61c375cd2d7fd61d2d7ebd9dff SHA512 1a9f450a43cf303fc3520a4abbafda47bdc72c7ca3cc738de869568d8051cec68e9030906709583689dae3e607b741aa5d94e2d06357786ad6cd0b7f94e312b0
MISC metadata.xml 746 BLAKE2B f9afe281dd6e667a39d5c42dc0580f7bd6581edf5271a0c54e7436e6398a69ea415e09425fd5df56342cbcd128cf24ad4c94f43d64d1d42bcdc528073c72e3b7 SHA512 83016f049bca7f127af165425648857df8e44c3d6cbcb33d849501ff1ddefbec590c38e8a59d3c69e4ab583c89ac4dabc9cba5d7fe8ada66eaffe5b4d55dd13b
diff --git a/app-emulation/wine-mono/wine-mono-7.4.1.ebuild b/app-emulation/wine-mono/wine-mono-7.4.1.ebuild
new file mode 100644
index 000000000000..96896ce732cf
--- /dev/null
+++ b/app-emulation/wine-mono/wine-mono-7.4.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Replacement for the .NET runtime and class libraries in Wine"
+HOMEPAGE="https://wiki.winehq.org/Mono"
+SRC_URI="
+ shared? ( https://github.com/madewokherd/wine-mono/releases/download/${P}/${P}-x86.tar.xz )
+ !shared? ( https://github.com/madewokherd/wine-mono/releases/download/${P}/${P}-x86.msi )"
+S="${WORKDIR}"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="+shared"
+
+src_install() {
+ insinto /usr/share/wine/mono
+
+ if use shared; then
+ doins -r ${P}
+ else
+ doins "${DISTDIR}"/${P}-x86.msi
+ fi
+}
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 8f940077b4e4..b34bde03d67d 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,11 +1,14 @@
-AUX README.gentoo 2365 BLAKE2B f8cef4abd8f97cd1e4b6594049fb698d8d2bd570968c433681bb5438f698ca2e0f90172ff45edd64b0ad3a0270b9043b8699ef657ebc6213b81206919a35c0b0 SHA512 543f27ee24e8e73c4decf48c35674f1833672004d62420eb1dd89bb00651a6ac2d86b3f9eb83f00d6ff0537802bfaa4b70c98a5845e3447d306d8ece33a60eae
+AUX README.gentoo 2365 BLAKE2B 2b86abd79b855ac916334cba56ed0c255e858d51c245db0fa90058b5a9cd51044ab6dbd118acadf134bd5f6bd48fc179dd68edc39333ba0b0c0cd88d5ec901b6 SHA512 94e70c27bd368052ac2479c396bd882696437b809a01a546e940a2c7d48ebb59564d1ec32d17bbf35b966b02ee74aa586cfcf89784574336e89cc36a6026a424
AUX wine-proton-7.0.4-musl.patch 505 BLAKE2B 5c6d46c505e38c19e4c92e05243244739e6a2b84ebc548989167b65fe5ede439c628b510bce57ff8cd7ca765114c13dbb098116ba201ceba44069bf38daf5a64 SHA512 5e687119aa461e3440d3c7bbb2318db04ffbe414329931877b59a3f9752ee36e492bb25dda9b26c2f741664665487a34575423b24718e3f1b65f2d850c3681aa
AUX wine-proton-7.0.4-noexecstack.patch 223 BLAKE2B dff1867e2977bd14fcfab9dfa2c2f1d3288f7edca75ddd7c9f02bfd06e9f63fac37bd59ea8aa891e13ab77bac35b369825d5490a9175ed9a7736e523b61d8944 SHA512 4ba3677042b693e513fc7a133c76a509f63d0ca20633d1e8d448bca9534c0d1a0fc58e77fa9b28fd8d936393605e97ee6e3bb5fac00872d6ac5808b7712586e3
AUX wine-proton-7.0.4-restore-menubuilder.patch 572 BLAKE2B 7ace97fb82498d8f19297cab205d8b9ca07c5293172a0b017b5d887ec1f5daeb3ed64eb0a322904e528a72f4a225813c27b544015587d71fce97c41b6b1463a2 SHA512 1384f06d4264e22d332eb12fabd7408b8e250e39c195460f876460fe40d35d617c73100815c395f481e3af66676ccaa1a14592c05f1e5b092bfafe2f87112106
AUX wine-proton-7.0.4-unwind.patch 1694 BLAKE2B 954cb0a395c3b45afc7a3f39f33d34cf041b9cf5a6c77d0a217d296c4c8d1f6503322c4f77188c4729b98318913b9bc86d37b7573713643590550297a0ae372a SHA512 f958e811a4754614bc9e7223f727e2c581c18607dccf14c6d7014012ff29107bd850540a40ff7a62e7bae6b87ae1ac28fd104fbbaf9ce954bf3acb38ddbeb7df
+AUX wine-proton-8.0.1c-unwind.patch 1488 BLAKE2B 1a6d69484fb36f94f32d74679e809cfd7666363bede5dddedd2449e07251823b1ce86a717e06d342eec782aff501f27bc23433511c163da0b2a50c411df7ac53 SHA512 82ff0510fcab35471aa0db8f32f48cd62dbf78b3f5f36e3d191b86be55cb476df1ee689e5cd53c95d4f02199b5900eb0c8a45959693739a6c35e4c8b3cfa243f
DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
+DIST proton-wine-8.0-1c.tar.gz 48204851 BLAKE2B 5a746cf4d10e605ce30e93a5116e73c4ae893a6ccb105984afa3e65e0ec64780ca58462fe5fc89e51aef0499fdc52be9756254878d8f7f28160a1cf4ed0ee3a9 SHA512 67dbd73287409aaecd5cfab29f79ddf455bbbd25e79289c66828bd4f0fac3003e68afe3e65ea39e18e2390b825342a52285c4be1368928606628b72a274b5456
EBUILD wine-proton-7.0.5.ebuild 10514 BLAKE2B 598b8593b601dbcc4d23c888cfe849f8fd62e225a718a0f9436748a673871900a58f119244766f706aa45c5d7373f691969f550ffb81cd0f01de475d01f817d1 SHA512 a61e86c1cf0d180512da2e07b4bdc029307d760dee138bb90d747852be92c1cd98a9552824a651e646d3322d810ae80f0dbcc8f72fb840c669b5a073cc167f62
-EBUILD wine-proton-7.0.6.ebuild 10515 BLAKE2B a825980f96c63d0710efc8fb670c0d29dc10ca8f59c27c932700751b8aed305a754e3e7c1b3c2d752b87cc63f53610a4230298366842dac9f04b4277f6758a36 SHA512 79cf374648ff540f2a8644191765ad10b34754a4ad9f6dd6ac0f0f3b4c70a23d956068c55450b05405d7919ba5c9a875749f53644c8b313b0e32229a26886147
-EBUILD wine-proton-7.0.9999.ebuild 10515 BLAKE2B a825980f96c63d0710efc8fb670c0d29dc10ca8f59c27c932700751b8aed305a754e3e7c1b3c2d752b87cc63f53610a4230298366842dac9f04b4277f6758a36 SHA512 79cf374648ff540f2a8644191765ad10b34754a4ad9f6dd6ac0f0f3b4c70a23d956068c55450b05405d7919ba5c9a875749f53644c8b313b0e32229a26886147
+EBUILD wine-proton-7.0.6.ebuild 10519 BLAKE2B 4f3009aa1c1bc54dfacc9a264b9ff411dc402c4964ffda280563626d757ba4fc56f83da1019b414a2590b3d9c159fccc656079786c7af16d2c35d8b7ce6ab0ab SHA512 ea934f2f71e7054bb52861453da351e81b7272aab09caf617162ca0f23aa90e6b0003daa5b9ec01caa735207f18d0cb75643b912b8d9209bbd0c141aa6716778
+EBUILD wine-proton-7.0.9999.ebuild 10519 BLAKE2B 4f3009aa1c1bc54dfacc9a264b9ff411dc402c4964ffda280563626d757ba4fc56f83da1019b414a2590b3d9c159fccc656079786c7af16d2c35d8b7ce6ab0ab SHA512 ea934f2f71e7054bb52861453da351e81b7272aab09caf617162ca0f23aa90e6b0003daa5b9ec01caa735207f18d0cb75643b912b8d9209bbd0c141aa6716778
+EBUILD wine-proton-8.0.1c.ebuild 10571 BLAKE2B 61318d905fc5fae990c115d14ff130cd49c34347d19c3c000889b5f6caab1a3b71295c3f2dbbeba9d316bcc1b6c1d22cbb2df8b5254868d37f53ee67967d8556 SHA512 5ef719ed250cb85a95072b0f9bbdb2c0daab41180a3a86aaab109ec66bb6aa1265a5bd97aeec3072704b2b95e1c30f5e152aa4e3f61d271794284e8c029e8ace
MISC metadata.xml 1222 BLAKE2B 75e8a33a16e4d718c5299ae719cdd009e9ac6f0d2eafb112c9e38e7d860a51d7f4d5be14912c1c812718b36fd4d71a9d3ddf2c68f5a076fc71f5d47fab120736 SHA512 3fc770b9d6f1e7cb7cba7fc28f90d5f51ad431f38e757dcb47b03543985d0919e29b6648b8c3f6bb6e1c7b172bb164cde35e2fea24564e476088c1a91e6131c8
diff --git a/app-emulation/wine-proton/files/README.gentoo b/app-emulation/wine-proton/files/README.gentoo
index 5b24fb4b7b8f..a6354c92ee53 100644
--- a/app-emulation/wine-proton/files/README.gentoo
+++ b/app-emulation/wine-proton/files/README.gentoo
@@ -7,7 +7,7 @@ To keep a low maintenance cost, these changes are not reverted in Gentoo
with the exception of re-enabling winemenubuilder for desktop entries.
Also, given this Wine variant is oriented toward running games, some
-normally unrelated features (e.g. ldap) may not have real upstream
+normally unrelated features (e.g. cups) may not have real upstream
(Valve) support. Because of this, some are left always disabled.
If needed, use other variants for the more expected Wine behavior.
diff --git a/app-emulation/wine-proton/files/wine-proton-8.0.1c-unwind.patch b/app-emulation/wine-proton/files/wine-proton-8.0.1c-unwind.patch
new file mode 100644
index 000000000000..50fc5be57abc
--- /dev/null
+++ b/app-emulation/wine-proton/files/wine-proton-8.0.1c-unwind.patch
@@ -0,0 +1,36 @@
+Fix build with llvm-libunwind, and also fix for non-llvm libunwind
+when using clang+bfd given clang doesn't have _Unwind_Find_FDE in
+its rtlib and expects it from llvm-libunwind.
+
+The _CONFIG_H_ check is for <llvm-libunwind-15 (adds _VERSION).
+--- a/dlls/ntdll/unix/dwarf.h
++++ b/dlls/ntdll/unix/dwarf.h
+@@ -257,5 +257,7 @@
+ };
+
++#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
+ extern const struct dwarf_fde *_Unwind_Find_FDE (void *, struct dwarf_eh_bases *);
++#endif
+
+ static unsigned char dwarf_get_u1( const unsigned char **p )
+--- a/dlls/ntdll/unix/signal_x86_64.c
++++ b/dlls/ntdll/unix/signal_x86_64.c
+@@ -648,5 +648,5 @@
+ int rc;
+
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__)
+ rc = unw_getcontext( &unw_context );
+ if (rc == UNW_ESUCCESS)
+@@ -774,4 +774,5 @@
+ CONTEXT *context = params->context;
+ struct dwarf_eh_bases bases;
++#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
+ const struct dwarf_fde *fde = _Unwind_Find_FDE( (void *)(context->Rip - 1), &bases );
+
+@@ -779,4 +780,5 @@
+ return dwarf_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context, fde,
+ &bases, &dispatch->LanguageHandler, &dispatch->HandlerData );
++#endif
+ #ifdef HAVE_LIBUNWIND
+ return libunwind_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context,
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index fd2ff4ec13f1..6cb4c973b3db 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -39,7 +39,6 @@ RESTRICT="test"
# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
WINE_DLOPEN_DEPEND="
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
media-libs/freetype[${MULTILIB_USEDEP}]
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
@@ -53,7 +52,10 @@ WINE_DLOPEN_DEPEND="
fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index fd2ff4ec13f1..6cb4c973b3db 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -39,7 +39,6 @@ RESTRICT="test"
# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
WINE_DLOPEN_DEPEND="
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
media-libs/freetype[${MULTILIB_USEDEP}]
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
@@ -53,7 +52,10 @@ WINE_DLOPEN_DEPEND="
fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
diff --git a/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild
new file mode 100644
index 000000000000..e514971ce399
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild
@@ -0,0 +1,329 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.4.1
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+ perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
+ +xcomposite xinerama"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/binutils
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
+ "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
+ # build using upstream's way (--with-wine64)
+ # order matters: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ pe_arch=i386
+ if (( bits == 64 )); then
+ pe_arch=x86_64
+ : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+ : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+ # CROSSCC is no longer recognized by Wine, but still use for now
+ # (future handling for CROSS* variables is subject to changes)
+ conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+ # use *FLAGS for mingw, but strip unsupported
+ : "${CROSSCFLAGS:=$(
+ # >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
+ append-cflags '-fno-strict-aliasing'
+ filter-flags '-fstack-clash-protection' #758914
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(
+ filter-flags '-fuse-ld=*'
+ CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{C,LD}FLAGS
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # symlink for plain 'wine' and install its man pages if 64bit-only #404331
+ if use abi_x86_64 && use !abi_x86_32; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+ use debug ||
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+
+ dodoc ANNOUNCE AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest
index f8bd3055608e..3f0bab8835c6 100644
--- a/app-emulation/wine-vanilla/Manifest
+++ b/app-emulation/wine-vanilla/Manifest
@@ -9,7 +9,7 @@ DIST wine-8.4.tar.xz 29031312 BLAKE2B 0b91267a68e4e332544d273646bb1e9389c3af3f48
DIST wine-8.5.tar.xz 29064032 BLAKE2B 35fa6d7ec88ff67d9acf13466b3618eb45d664bed0a9ee581e46cb6e7692395837c8c8e86dead1dbcad582ef29c674a0df4b7180addee837b466eba7fdcd350a SHA512 f6aaab8a32eb7bce7f48d21d99417c9e6e8fe41b3d36320762775ef954db7ddd4fcff01d56475f35038d814557834a41a9e3ae85e5cae8a1b820c5044b42a327
DIST wine-8.6.tar.xz 29118124 BLAKE2B e4659785722f0c1adb9ce4a156fbafc8484977a5fe2f4a6e1d5eaf8f1f14c6787f080b9d389cdd8716eb7fd00ee2879fab2042af5dcb970530d2e19628442c73 SHA512 602680675f5e062121767769106199179c52a6dd93e97b9b8b4d8365134c72f7745e37d4e3edf6c89c553fb1bfe55b914e77177508fb4f032410d423359abba7
EBUILD wine-vanilla-7.0.1.ebuild 10516 BLAKE2B a6ae70e54cf3267bb6eff8a47d7c549ba9e8843b2ec0e24eee8e68ca3a3c1e1ebf570e23a8ff5fd6c520c8ceea635f2b8a08d9960fc030318220b644b02a30fc SHA512 64d3a95a34baeb68d021fd1de2faf796fde0e38ab9f56e98885961a80e9e8e26a4fdf755be28a18d1bbbe058a56825f8dfee1d4fc6b2ff67f06080dd5b982d07
-EBUILD wine-vanilla-7.0.2.ebuild 10518 BLAKE2B 27a309b1fec43ac120089fee5f4d4c818465160c293cdb37d84ae786122592ff79c01e165ceecf54871a92001306dd4eb015501fc5eaaf58a318baa6b1431c9b SHA512 4b86bc1c73b27fc4c917866ce43d984e8c9ea1dca882a8198fe1019a7090251f1b1b6eb0526f25855ab80b9a4a57cf99fa7115fa77dab22b38b7753fc8db1163
+EBUILD wine-vanilla-7.0.2.ebuild 10517 BLAKE2B 6976d611eb52e0f20a2094685ee2d9b9db34ef17d424d43d59acf5fb864ee15ca60b964f12e16841238c3232a74debc134602dff6e08c81ee0dda82ee92bceaa SHA512 ea0dcbb249ff0f9fd7cff93af24ca5fe1cb6afbc11cbe28a6e8c2561c3721a4e555a0ea81dd816ae8597fbba7ae0f4b0f79a1b9c9f72800635dce1936b789e94
EBUILD wine-vanilla-8.0.ebuild 10534 BLAKE2B 01742704db68023493742748281f19933ef206236ccc2b1bb16dd276ad6910362509a2f3c89c1c0803fa13bad0bf294356c6abe81207e750de1f1dc04ecc5bab SHA512 313ca0bfc18b4ec6bc300d7998a64ddc720e9b4463f8f240f539f9e814ee1fe8fea0b32ac35c510f06f328824441b05f347f8ea6d71caabd57641988e778369f
EBUILD wine-vanilla-8.3.ebuild 10634 BLAKE2B 75887b9906eac617bb5bb7ea474f7c8e262a6a9d0c9be983cd5a07577e3158869002e74b935fdbe3bd81811e5ad975b55741b83f0fda248f2eb489a8e55489a4 SHA512 b0b405ff944b7115199d663a5cd149b9c4434aee6b07aba6b554a2e3dcee4feb188c186f8b77560787030fd0530fbe4fe5eefd2d02fac6a6bbe3f8d6add8d8e9
EBUILD wine-vanilla-8.4.ebuild 10716 BLAKE2B 1538ea47e8e0f3ad6a7cb11be52b8e60519ece845080ed97afb678f14b66e8320dd68b89119bf8db46b8ec45957c31d5f49617493a5c71b4a5cb7f5c6dea8f95 SHA512 2074327e2084b6b9ffe0296783e5a5898d0cdeceb7051a4f5b06b6892da2aec3312130faaa3537a5e8f2062be1ab9ea2265250a469304852e12392c32f8a54e3
diff --git a/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild
index 53b146197a48..87cd1e61cd65 100644
--- a/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild
+++ b/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild
@@ -16,7 +16,7 @@ else
(( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz"
S="${WORKDIR}/wine-${PV}"
- KEYWORDS="-* ~amd64 ~x86"
+ KEYWORDS="-* ~amd64 x86"
fi
DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
diff --git a/app-emulation/xen-tools/Manifest b/app-emulation/xen-tools/Manifest
index 5fc9f4586452..c5b5ce0523be 100644
--- a/app-emulation/xen-tools/Manifest
+++ b/app-emulation/xen-tools/Manifest
@@ -31,7 +31,7 @@ DIST xen-upstream-patches-4.15.5-pre-patchset-0.tar.bz2 21880 BLAKE2B 89ef7b8cc5
DIST xen-upstream-patches-4.16.4-pre-patchset-0.tar.bz2 60151 BLAKE2B 5c8a8f772ba6be5f776b3270b9f1e64df35c2be7b4e238262eb4ec6b4859576b3ecb448880e1e05ad53dbdaa71643e678978151b10d0d47c901ab3e3518b7eb0 SHA512 b33a9b2f602f18165e048ef6a339bc5bf3f800fb1f2449e2e1a6090774ce3ef07b1d7ea8e9e6449fae7b91afcc1a6e281c1bb218a56bca74ba7f12b491fab186
DIST xen-upstream-patches-4.17.1-pre-patchset-0.tar.bz2 87023 BLAKE2B 4b6c66c20aecde5a696ee6879b1a9e9b365eba3a2e55c7b13153adb4c100081242a5f4498e17597697ac96a75685d88536309accb8dcebee45b31c9b35a3d7d8 SHA512 9da15f7726f2813a6dc701dbf67c1aa52a574c8049238c6d18d68bc0c0c80db98b925cd1cb7ec5627ff8b3489847608a185353cda6e599e6e5bffe75339b18a7
EBUILD xen-tools-4.15.4-r1.ebuild 16891 BLAKE2B 196a04b2d2bf0d33734b7086835aa84737d4b23c3c290e20d967e78833aeef71e0c0c853fcce2bd08e7b764c99e82d9e8fdcec177c24b76e8992f8e3416e13c7 SHA512 d2fe60ed130b5c4c2d8239472fd92db6d35baf60efabcf51089b44168b9839f8dad1916e7bce952e46fa49b2e39ad59feacd409fbbdaf65b010bb0ef6478ad44
-EBUILD xen-tools-4.15.5_pre1.ebuild 16900 BLAKE2B a642f8763d7269c566a0f4bc7a5a60d270d54b424b47b08cd8680822fc5976beaad680c3355fff7253d269e8e350edb9bcbdf469e9fd3ac760a0ece8f79de42d SHA512 22d37d408e2a5cf08e00e32ea0632dd83937c21ae763a7866761504061d89ec14235af88bedde80f33c22061cb2891965837d70d6255d8d0985a5010169ab889
+EBUILD xen-tools-4.15.5_pre1.ebuild 16898 BLAKE2B 399e699c7b43031c10c264911b79438b566673669799bbd892a7def93bdfbb6da51d1eafafcd919a5cda7bac9da57fe1e549a9c751bb2278f8f5772fca6d8ade SHA512 406d9c98717e0888e773957da582a3a6e7b2a84ffbbc11d8ff3c201c80561da47615b745f72322316349308d61f1c078c09139f8a740bb3c2f687e941b01d9b6
EBUILD xen-tools-4.16.3.ebuild 16238 BLAKE2B 5eaab0ec3cbd2de0c8be12a03ca584b7b9037c379e4beb24f15043844bb7a4ccd230e730450cd4803ec9c7d19c1274c32d14d446d04f65190e7efeddab9afa47 SHA512 8000d9e9f046817b16f756d3d613e7db337e708bcf9a60312b3c559555b3db413dc673c6939ca4c6a172e1fbc0bd6888e418bb2f5427e04e7f30f68d3e38e6dc
EBUILD xen-tools-4.16.4_pre1.ebuild 16245 BLAKE2B 35abcd9455d8536483d89e800d48a07e3fc462fa17b30041ec8ec839d18fab4e943a0678603021f539a220205d6bb8946952f9e1244044132d00d6e2cf7a9562 SHA512 e5b115714a1206ea7390956f109c0bcfac2442e59f382c9bc52d8f3038b204660249afadf0d6cb859dd7accf196f63ae2c931d0f6f49f75b929da64a6371b06d
EBUILD xen-tools-4.17.1_pre1.ebuild 16259 BLAKE2B aea6c86c5da388e98b788ef88568c035a033a5dbefa727912762d435886290809f6343a5ea219d2241ffe337c2bb8016f88f62469121fa5f0d5fa74c416a149b SHA512 550e69dee803e19a35952402fb650fdb8098f0563ae6f2b1ff91ad4583d33d706f9a663c75ca74b659d2dd03af1731a3ad3baa5d057800c61bfbfa7513982438
diff --git a/app-emulation/xen-tools/xen-tools-4.15.5_pre1.ebuild b/app-emulation/xen-tools/xen-tools-4.15.5_pre1.ebuild
index 394a30374346..75003ae0412f 100644
--- a/app-emulation/xen-tools/xen-tools-4.15.5_pre1.ebuild
+++ b/app-emulation/xen-tools/xen-tools-4.15.5_pre1.ebuild
@@ -14,7 +14,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
S="${WORKDIR}/${REPO}"
else
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+ KEYWORDS="amd64 ~arm ~arm64 x86"
SEABIOS_VER="1.16.0"
EDK2_COMMIT="7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5"
diff --git a/app-emulation/xen/Manifest b/app-emulation/xen/Manifest
index 63c33e12a6b1..af16d0f42c03 100644
--- a/app-emulation/xen/Manifest
+++ b/app-emulation/xen/Manifest
@@ -9,7 +9,7 @@ DIST xen-upstream-patches-4.15.5-pre-patchset-0.tar.bz2 21880 BLAKE2B 89ef7b8cc5
DIST xen-upstream-patches-4.16.4-pre-patchset-0.tar.bz2 60151 BLAKE2B 5c8a8f772ba6be5f776b3270b9f1e64df35c2be7b4e238262eb4ec6b4859576b3ecb448880e1e05ad53dbdaa71643e678978151b10d0d47c901ab3e3518b7eb0 SHA512 b33a9b2f602f18165e048ef6a339bc5bf3f800fb1f2449e2e1a6090774ce3ef07b1d7ea8e9e6449fae7b91afcc1a6e281c1bb218a56bca74ba7f12b491fab186
DIST xen-upstream-patches-4.17.1-pre-patchset-0.tar.bz2 87023 BLAKE2B 4b6c66c20aecde5a696ee6879b1a9e9b365eba3a2e55c7b13153adb4c100081242a5f4498e17597697ac96a75685d88536309accb8dcebee45b31c9b35a3d7d8 SHA512 9da15f7726f2813a6dc701dbf67c1aa52a574c8049238c6d18d68bc0c0c80db98b925cd1cb7ec5627ff8b3489847608a185353cda6e599e6e5bffe75339b18a7
EBUILD xen-4.15.4.ebuild 4793 BLAKE2B dd8879112c36615b2323d55406b4698dd4c3da96a4ba87b4796c82fbea35f1b30ea25e8fd8268aed8464fe62868f50cf9a2d222e196a7f15dde78dc28fe6f58b SHA512 0252cf80f8fcbdd00c72c6fdbc268b6dd3fe9d1346d91d8af39ca2c427d0bfdddbc27d7b690b563698fd502ac56f57c3894e2b45c4aefcfddf3713e4f13b814c
-EBUILD xen-4.15.5_pre1.ebuild 4801 BLAKE2B e32c99e947669a943ab835ee6bba95243dba03f9b00f637ff9f978aae4a151b993833042160dcd1ae62ba038ba356c1ffebf0bf4493133a75f4865b1f7c240c5 SHA512 a77281193bd093b7c94ba3b7f787eadc51c9f14fb301ecee5466f57796f6150a0b97cdc658f2992a4fa59bdd5061faf658a27044b7bcc393fa007ede1b1b986a
+EBUILD xen-4.15.5_pre1.ebuild 4800 BLAKE2B d671c011e811b8e724a97421e892692e8206ac7210362bfe6faba9d868ccef96bda01b8fa1e366609523cbd2bce0d0d036e0a743d7d35a9b15af71ba2dec7757 SHA512 6128b6a63c9a49d13b3efb282cf939d22a690156ab80682ce7629ab44a18520fc71e008edae4e187cda4931d6c12b2586a6c8f00575a03a37d4b9eb8b76ed780
EBUILD xen-4.16.3.ebuild 4413 BLAKE2B ac9e09a43a8a8d592ec6c49500f03192d291b377fbca306677419d6d4840612fc613b9895fcc4bdf074e6cda4947922371ae033b9f60576113b6bd64c9fab52b SHA512 b9d4da75c9d8973c7c75cb28319a5d006df20681b0193df2de6b4a645f83465b709d20e0b51201c4d31c8b64165a6eba9f01c9ec86a1138bf8374cab84f344a9
EBUILD xen-4.16.4_pre1.ebuild 4420 BLAKE2B 329e46cc61b7d1c3b8d982ce53a7ce3d8ea8ec368f9944c79418f41ee38ef218f6d45fe3faf77fc15477092694d91305f52051e3eaa5d58f48551bc4239c39dc SHA512 c5d74771e4da8cd2a99630c139612e26bd96fff05012c76b127c9bb2db284d227dde64439ece20822b210faf8e82668f8de5ad7654c0b4ecbdc397e0d5728329
EBUILD xen-4.17.1_pre1.ebuild 4420 BLAKE2B a42a477b2160c15c7dcf1f2f52fe78bb0e6b50094f6a8003d3ffc8b238e7754b8ef7744b4aa9aa693deeff9c47bdb2b1b256f6cc3698ee1adc9e12ae5a1f0869 SHA512 41233558e10b6d81fbe558d027097d433309e8a2d5616b202f44e5edb731891b52098030fbb76feccc0f08753f900d3ab752e5f93e958d9ff698647dcf4d0c4d
diff --git a/app-emulation/xen/xen-4.15.5_pre1.ebuild b/app-emulation/xen/xen-4.15.5_pre1.ebuild
index 625298cde5de..6e2e5476fb6f 100644
--- a/app-emulation/xen/xen-4.15.5_pre1.ebuild
+++ b/app-emulation/xen/xen-4.15.5_pre1.ebuild
@@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
SRC_URI=""
else
- KEYWORDS="~amd64 ~arm -x86"
+ KEYWORDS="amd64 ~arm -x86"
XEN_GENTOO_PATCHSET_NUM=
XEN_GENTOO_PATCHSET_BASE=