summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-09-22 14:47:12 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-09-22 14:47:12 +0100
commit1802160f23e91c618b3c7379fd99127682cfce19 (patch)
tree094c5349b2f0bd88633709f2f1ad322398475815 /app-emulation
parent439c34b3917f0757b9c83eb64a687cac0d477140 (diff)
gentoo auto-resync : 22:09:2024 - 14:47:12
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/Manifest.gzbin15520 -> 15528 bytes
-rw-r--r--app-emulation/libvirt/Manifest3
-rw-r--r--app-emulation/libvirt/files/libvirt-10.7.0-fix-paths-for-apparmor.patch88
-rw-r--r--app-emulation/libvirt/libvirt-9999.ebuild2
-rw-r--r--app-emulation/virtualbox-modules/Manifest1
-rw-r--r--app-emulation/virtualbox-modules/virtualbox-modules-6.1.50-r1.ebuild38
-rw-r--r--app-emulation/wine-proton/Manifest2
-rw-r--r--app-emulation/wine-proton/wine-proton-9.0.2.ebuild2
-rw-r--r--app-emulation/wine-staging/Manifest3
-rw-r--r--app-emulation/wine-staging/wine-staging-9.18.ebuild479
10 files changed, 575 insertions, 43 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz
index ff3fabc525e7..a2bd03d51943 100644
--- a/app-emulation/Manifest.gz
+++ b/app-emulation/Manifest.gz
Binary files differ
diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest
index ae2c84f409d7..3fbd391e082e 100644
--- a/app-emulation/libvirt/Manifest
+++ b/app-emulation/libvirt/Manifest
@@ -3,6 +3,7 @@ AUX libvirt-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch 1665
AUX libvirt-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch 9364 BLAKE2B 05ac0aaea8741102a34657b4910569ae5601364bdfd419743900823537f982348ba68cbac37fe10b21c2869531a35d68de8fbeb462c1f66aa0c3af4a97630405 SHA512 72a40984e6de167af8de9aedabdecf79c0f99bb5e7152b6521e87268bf1a1050b9d0d9acbb86c54810029dbde671a518ebd8a3f11590594a3226d818b89188f1
AUX libvirt-10.3.0-vsh-Don-t-init-history-in-cmdComplete.patch 2935 BLAKE2B b3bb5f7f6c21b645f43c2de8c17fe821a12fcd656629bbb44d780f408c5e50f0ee00e0d6bd82a9aba68b4651b711b29170e6989c317bada28edf3aff36cf06ec SHA512 b3421b7972a226660e475616bfc23fffcba825516e14b5267e8410fd178031e848bd7a69128c04f1188c0b75de39e6155cd480649b87a21ab650c2874765ccc7
AUX libvirt-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch 1439 BLAKE2B e5d837f6f7af00fa6b7d3ef94ba0cdcd6120a17c17f52986df451ff2a66a019526f480cdd71592ea89c0629277c751f84b6f79c898d20017d454eda790ce0c66 SHA512 106e029750ed185c823e1759ead99520f628a52a00926cb5a09ee941e4b51cbbdbc91d4b95294eb9225459cb47bbde402b017016ea4ab177b4ba15c2decea90a
+AUX libvirt-10.7.0-fix-paths-for-apparmor.patch 3902 BLAKE2B 62d7df4963fe57794252549a45b4809581dbd02bc46c51a8c46b21338a72d0e9aea661c527bcf6e0117ea93bab4fe812e97a6b0957f8d8bc957ee170162732ee SHA512 e4cd5577b37b2800da711576696a0c7888c68d0755f820f002451dc4ecd49ce19e0e8759ec16afdb4489647a4b48b4284c1befd3f43e1a53a8871aa6ab1d4833
AUX libvirt-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch 1125 BLAKE2B d161698463c56b9fbb8b4c4a5ec1b7d65e87e088d68ea1a2cde316449c80d9ba2a4ad5883962eb3e4d31b0441917f6b02d4c781869083c47c8eeb432f6826e8b SHA512 d1dbcb9f6e1c66a38fa09af84248c8ac68d1f263f07b275e12ae3087a6fbd223eeefe20c7b241d02be9529c14bcf311d850d418bc8cecac4cb4e225d78800a41
AUX libvirt-9.4.0-do-not-use-sysconfig.patch 8195 BLAKE2B b731d57dc86fe725d3cbd47b6e691a414107d3594377bd1c73e19735368937a0983e407ec05700213d2ec5802e90f429fd5c7354cd03fb25d3acced952ab6f38 SHA512 2a2e08a6034ed37cafebde3b0fd27913d972d1e9f8816e10a9af951e99f10bd3b9bc7ada1ac50c5085e3fdd3d02301365d031eb6ce3b71102e4b3072d609f21b
AUX libvirt-9.4.0-fix_paths_in_libvirt-guests_sh.patch 988 BLAKE2B 5936eafa5c300edad7ed368ec13063d31aea59e3daefeac59cf515ea44667f61aa63b0e2c2a5c88ace24c48cc132789cc5fa1a7c6c04c17e9ac61b114778e46d SHA512 5b80a5ec2898c1c821d0d49b9de67a256f82cb60879215ddde07c2a51f2e8a8b6893fec65617c27edec50cd51a362fb1fcdd21827e8de954f26879adcfa12418
@@ -39,5 +40,5 @@ EBUILD libvirt-10.5.0-r1.ebuild 10024 BLAKE2B d96f601bfad09aec0ab97cf90d8a9a4910
EBUILD libvirt-10.6.0.ebuild 10024 BLAKE2B d96f601bfad09aec0ab97cf90d8a9a4910551decb9ab2e5a08bdefb7f8e5bf34fb000a9adf82d390c24897b4e1f57829405cb88e9bee7586c42e3d2dd6018388 SHA512 e0e1fcc37f5deb9b2929d226e4fa71340706ef7ef41ce5b96d04008df2e7d90b517886d5f8f78917e33d3a7fce0022e98535b4af08dc0a981932339a50192f2a
EBUILD libvirt-9.8.0-r4.ebuild 10111 BLAKE2B 9b57ccd5f2fed672731c1cd0c5c50b5163c205bd974b0ac68c1b08d10e409297d880019eb49066ef582af2085b1dc22a3b1867ec2e627995fcfe680bc6e724de SHA512 ef219669baccd0b973568ee63614dc07bd1b4693fde246ea2101fbc2822ded69de582d2d2a85b8b09e40889fab41e0313c7b67971e10a493ecfbc3566ed6c469
EBUILD libvirt-9.9.0-r4.ebuild 10165 BLAKE2B 26e058d01c17d6156c22821b0011b403ca39488923fd96d3cc0db3659342f930cae9c0de62df0d33e2eab4698d55613473fdbcbd0a9298d7bce84eb9cc0e8963 SHA512 55e3372924f951a9523cf9f9eddd08173833c3c19561f43fd58284aa0534e7b0732c2ad59e8a4c872c5237b0412ae70a83801f8551ece0670999813e2d1c56d1
-EBUILD libvirt-9999.ebuild 10024 BLAKE2B d96f601bfad09aec0ab97cf90d8a9a4910551decb9ab2e5a08bdefb7f8e5bf34fb000a9adf82d390c24897b4e1f57829405cb88e9bee7586c42e3d2dd6018388 SHA512 e0e1fcc37f5deb9b2929d226e4fa71340706ef7ef41ce5b96d04008df2e7d90b517886d5f8f78917e33d3a7fce0022e98535b4af08dc0a981932339a50192f2a
+EBUILD libvirt-9999.ebuild 10025 BLAKE2B a699fd67de3ec2878c479b423103b542ebf3e4c0351afc6468a1be24cc5cb7f2f4b6f27598851f8a6a45c3ad92745f04d32f983c59a1994f2f1ab7485050256a SHA512 9f373f7e20f30a3f42b80318f81e2655d07bb0f98e43953ed58dc1d17dd7b9ca18105cb496cbcc20db7caa3e98d65bb482b06a2f6ea754963251ee187240158b
MISC metadata.xml 3822 BLAKE2B badb40564def06854a0c3af011b5de2888d722996c9b15df570a709161e49796f3d76ba2365c4adc1724f16bee3518d0e87ed6d2619d505b5ba2f1fd02c90f34 SHA512 f31e86b4d0c1faaf5bf0ac253cf20ce7728b94841debb590356efc0fa1e1a3d095a94e69ce0a34f793faadf10ed00ae1212aac54d13288f1975db4f032fd8b50
diff --git a/app-emulation/libvirt/files/libvirt-10.7.0-fix-paths-for-apparmor.patch b/app-emulation/libvirt/files/libvirt-10.7.0-fix-paths-for-apparmor.patch
new file mode 100644
index 000000000000..082be4bd1721
--- /dev/null
+++ b/app-emulation/libvirt/files/libvirt-10.7.0-fix-paths-for-apparmor.patch
@@ -0,0 +1,88 @@
+From 9e543b61227ce4e34f02bb54db226f2284c6e359 Mon Sep 17 00:00:00 2001
+Message-ID: <9e543b61227ce4e34f02bb54db226f2284c6e359.1726482829.git.mprivozn@redhat.com>
+From: Michal Privoznik <mprivozn@redhat.com>
+Date: Tue, 15 Mar 2022 05:23:29 +0100
+Subject: [PATCH] libvirt-10.7.0-fix-paths-for-apparmor.patch
+
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+---
+ src/security/apparmor/libvirt-qemu.in | 1 +
+ src/security/apparmor/meson.build | 6 +++---
+ src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local | 1 -
+ ...t-aa-helper.in => usr.libexec.libvirt.virt-aa-helper.in} | 4 ++--
+ .../apparmor/usr.libexec.libvirt.virt-aa-helper.local | 1 +
+ 5 files changed, 7 insertions(+), 6 deletions(-)
+ delete mode 100644 src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
+ rename src/security/apparmor/{usr.lib.libvirt.virt-aa-helper.in => usr.libexec.libvirt.virt-aa-helper.in} (94%)
+ create mode 100644 src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
+
+diff --git a/src/security/apparmor/libvirt-qemu.in b/src/security/apparmor/libvirt-qemu.in
+index 8f17256554..fc9df7ee34 100644
+--- a/src/security/apparmor/libvirt-qemu.in
++++ b/src/security/apparmor/libvirt-qemu.in
+@@ -97,6 +97,7 @@
+ /usr/share/sgabios/** r,
+ /usr/share/slof/** r,
+ /usr/share/vgabios/** r,
++ /usr/share/seavgabios/** r,
+
+ # pki for libvirt-vnc and libvirt-spice (LP: #901272, #1690140)
+ /etc/pki/CA/ r,
+diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build
+index b9257c816d..c1b79fef27 100644
+--- a/src/security/apparmor/meson.build
++++ b/src/security/apparmor/meson.build
+@@ -1,5 +1,5 @@
+ apparmor_gen_profiles = [
+- 'usr.lib.libvirt.virt-aa-helper',
++ 'usr.libexec.libvirt.virt-aa-helper',
+ 'usr.sbin.libvirtd',
+ 'usr.sbin.virtqemud',
+ 'usr.sbin.virtxend',
+@@ -82,8 +82,8 @@ if not conf.has('WITH_APPARMOR_3')
+ # AppArmor 3.x, upstream's preference is to avoid creating these
+ # files in order to limit the amount of filesystem clutter.
+ install_data(
+- 'usr.lib.libvirt.virt-aa-helper.local',
++ 'usr.libexec.libvirt.virt-aa-helper.local',
+ install_dir: apparmor_dir / 'local',
+- rename: 'usr.lib.libvirt.virt-aa-helper',
++ rename: 'usr.libexec.libvirt.virt-aa-helper',
+ )
+ endif
+diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local b/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
+deleted file mode 100644
+index c0990e51d0..0000000000
+--- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
++++ /dev/null
+@@ -1 +0,0 @@
+-# Site-specific additions and overrides for 'usr.lib.libvirt.virt-aa-helper'
+diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
+similarity index 94%
+rename from src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
+rename to src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
+index 44645c6989..38fd3bfb88 100644
+--- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
++++ b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
+@@ -72,9 +72,9 @@ profile virt-aa-helper @libexecdir@/virt-aa-helper {
+ /**/disk{,.*} r,
+
+ @BEGIN_APPARMOR_3@
+- include if exists <local/usr.lib.libvirt.virt-aa-helper>
++ include if exists <local/usr.libexec.libvirt.virt-aa-helper>
+ @END_APPARMOR_3@
+ @BEGIN_APPARMOR_2@
+- #include <local/usr.lib.libvirt.virt-aa-helper>
++ #include <local/usr.libexec.libvirt.virt-aa-helper>
+ @END_APPARMOR_2@
+ }
+diff --git a/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
+new file mode 100644
+index 0000000000..974653d797
+--- /dev/null
++++ b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
+@@ -0,0 +1 @@
++# Site-specific additions and overrides for 'usr.libexec.libvirt.virt-aa-helper'
+--
+2.44.2
+
diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild
index 75e4b0092212..64ffa09b3432 100644
--- a/app-emulation/libvirt/libvirt-9999.ebuild
+++ b/app-emulation/libvirt/libvirt-9999.ebuild
@@ -157,7 +157,7 @@ PDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch
"${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch
- "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
+ "${FILESDIR}"/${PN}-10.7.0-fix-paths-for-apparmor.patch
)
python_check_deps() {
diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest
index 3f7715844d9a..341e98062d74 100644
--- a/app-emulation/virtualbox-modules/Manifest
+++ b/app-emulation/virtualbox-modules/Manifest
@@ -4,7 +4,6 @@ AUX virtualbox.conf-r1 30 BLAKE2B 6308dedc75e2677cbdc844b53f51359e6b5745d3510636
DIST vbox-kernel-module-src-6.1.50.tar.xz 680700 BLAKE2B c3a10ce8f3eb7e6c0c05f81cd3c072296557b9f9f6f501bb0aec3f04aabfe1fbb67b553510104139cef290c09ff9e67161085781b8d28c968dfafd15958a1b1a SHA512 7822e421b595263cbdaae08103255742360ca7ab0c385818ec895f10570c5b9ed5c7614742d8fa8bc2414cd426907cd1c49d735cde8caf9d2b7692898058f592
DIST vbox-kernel-module-src-7.0.20.tar.xz 720160 BLAKE2B 833aa87af13a6c3e9426bd00e32b14c8b3958ab14425e8c02141d8579e987255b170662e00abb92f17234d4f03462d6d5b9fc1279d9da5449d344a328c905c8f SHA512 650bb6cf16ae42774524bf2e7ad2ee125d7a8d57de1e58d24b8b49bb9cf2829ea01dd32d2c1e0b2df556eab4a458cb0d84715b92d4085d03891f62a46aaf2916
DIST vbox-kernel-module-src-7.1.0.tar.xz 738408 BLAKE2B d9d88a1a3fcc31557f55be9f136811ce5142f37d94f7ea2144e8461cad09c82e8a4fc01310548a220c645f560849b43a3d4925246961cb8aba9030e8a224c9bb SHA512 385c5062ed8ad5158cb3c3f26c1de90294f1ef108f13da621daef3e99ad21e75f228a91147157fd0fc3dfd14068db976f322f04ea7a22eb3b170361b5a3940bf
-EBUILD virtualbox-modules-6.1.50-r1.ebuild 1007 BLAKE2B 35da91688a97c03ca0ac189e152e3e86d7ee2b17f48028da50e19b8ed755c6c555ebc32f2d86941a8da4409fde376a3b7db84c3b53bdb069e434502f27cce09e SHA512 0966575ad55dce2ffe6408504fe234d86d586b348ff5279655805a7ceda7af4b5ef9ec213f100c188216fb11c9f1ed2426d396054a02937900825de407a0ce4c
EBUILD virtualbox-modules-6.1.50-r2.ebuild 1052 BLAKE2B 0f1c43ab2798cc3231c78651a21b3f4bd75b168013ffedf9ecd8c049608c3fcce2e981d1609a8b42fd38d25db36caa48518ce37ed7fd6178a796472c7144bf20 SHA512 23801a41671154a5a89560bb3c23a0d41fde2352be6ace937f0c223c356b458b7df2585562b60c4a5294b2c74f3bc13b43ade175c4a42e8221ab38b86aa0bac5
EBUILD virtualbox-modules-7.0.20.ebuild 941 BLAKE2B 23539d6f2c798b730f2f9afb007158672cabb6e199356b104c5e34b4f8e819e55f77ae1f303d655333cbc4351b67dc44735c131d59bb04031bc7c1b900d49c7b SHA512 379c3e216af76612970ca077c29a3c750de40c9a91dd288754cf55e7612e64227c261ffe2b0ccb8aef21f47ed1afac713295d6f7b063f27fa083715d311f7c75
EBUILD virtualbox-modules-7.1.0.ebuild 942 BLAKE2B eefe2ce819d229a06584224a5f4ffe531e821df6dcc7b5f761d88605ab854880f9182a22d228953e2194d9a37191e6816fb5db4f87e3e10d324a42f71486ffce SHA512 181fece45985e074c73476473eba544a69151e6e2499e6162ca6019213aff95d6460d240890b01e24ff230eb87070d31f2ab9e595a21545a3020e9f4b1e7da34
diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.50-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.50-r1.ebuild
deleted file mode 100644
index 83d34d6f3df3..000000000000
--- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.50-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# XXX: the tarball here is just the kernel modules split out of the binary
-# package that comes from VirtualBox-*.run
-# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb
-
-EAPI=8
-
-inherit linux-mod-r1
-
-MY_P="vbox-kernel-module-src-${PV}"
-DESCRIPTION="Kernel Modules for Virtualbox"
-HOMEPAGE="https://www.virtualbox.org/"
-SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz"
-S="${WORKDIR}"
-
-LICENSE="GPL-2"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="amd64"
-
-CONFIG_CHECK="~!SPINLOCK JUMP_LABEL"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.0.14-kernel-6.6-warning.patch
-)
-
-src_compile() {
- local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc )
- local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
- linux-mod-r1_src_compile
-}
-
-src_install() {
- linux-mod-r1_src_install
- insinto /usr/lib/modules-load.d/
- newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
-}
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index d27ad34350c7..ccdb47df4321 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -17,7 +17,7 @@ DIST proton-wine-9.0-3.tar.gz 49153588 BLAKE2B 81f80fbcf7045c9e08b8c4fd5feeb24fd
EBUILD wine-proton-7.0.6.ebuild 12716 BLAKE2B 0a8ce5cf58303c15c04e559a48efc84875cc993ab3fcc7412894fc8b85387d756bb1f6a4be49ab66f7cca2e911729d75dee274cf7f70a4589c340abbbb57e938 SHA512 77c12ad4abac47afcc2a50e8165af499a2ada6361a9a0f323889bab9ca6fe4fa8d022aba5fa0d03a35e3389e29868a33e55fb689a7c36284b76db180a461c3f8
EBUILD wine-proton-8.0.5c.ebuild 13331 BLAKE2B 3cef3d1c03720064f77fd2bbb7ff0d67b35f30fbd1685aeec3e2c1c2635bf7ae86d7cb1ec4a9005b3795b0a0f07168f2069dfef0ce31ed2c8ed739decb64e3db SHA512 3ae33940a06a9a345088bd93d0eb78ef0e62ae725ee1363babeeec5a37d5919973ab5bd52cf13c65148926b74f4a4986ba41f8da9aaa5cc04053de4426c2a2ca
EBUILD wine-proton-9.0.1.ebuild 14231 BLAKE2B 6c4200f7f0408ab482eb1b0f4bf0ade5504087004e025e7575f5f91dc33901f8ed533cfbe5f56a3b28be8332d02edd86aded16d42210e01074200f75a211053b SHA512 91b8ab885b16dcb90ab75ac5c594dc7e2e969cf73a4fa74c8c40c1419562054e9e020fbb675e2ce723c777382dfda677b691aa5e1a0f9efb925f0fc8d8c75357
-EBUILD wine-proton-9.0.2.ebuild 14232 BLAKE2B 8877bb76f74481ee9810a0a974eb06abbd81a8fe8f1ae899e09b683199a200bd4a219b61ee571502e66b29d3519b604dc98ae4227a3d87c5f4b976e1ad714ac2 SHA512 99891635a6cf0595fb170df4d931b2f2c23d53e72d4ce3030e3e2ace635bd8d0d4d7ad5ee4499895c8dc21151fbc458126d79834649dbd214d84876bd3c20ad0
+EBUILD wine-proton-9.0.2.ebuild 14231 BLAKE2B 885e269ab54e3b2e5907737ce3a1bc7a09e287e985722ceb40b4b3e4238f7fe79562fdf06f52e44aacb779e2fe15dba33d2ace6c4d9f915e455ef2f403a275be SHA512 4138ad1e19559e506a46cb6a523ea288a4f8b80fdede568fc45589d63204c25a02c9475012daa9e1c4a4cdb55c2346bcd38964ddf11dd92170e86361307eb86b
EBUILD wine-proton-9.0.3.ebuild 14232 BLAKE2B 67970d3c5ec71cec597a6d8c2fa934747eb55cf5e2ccf458eb2f96ab6d4a4992faa8a9b4e25e02a5bd6dad8ddd2bc45c53a0ffd06acb5e0434ec1e02c833001b SHA512 cd3b51be39011494e7f80c4f10cd916dd122436e8dd1ec3ae0e7fd2d20d410ba794644ce6b14f00e98fdc7891091a23fcd567bf09b9caf84c5de7d6971adafec
EBUILD wine-proton-9.0.9999.ebuild 14292 BLAKE2B 6a030232f107e7fb24db44d74754e8be2033292dbb55828bddc5594ea6e6c17f78761021a372eab4cf59f8e942621e939718cd3777a81fbd9e13954cfa6834a2 SHA512 8598aa6c17bf18813f866bd47c73c1f72fd811b1a96974d5a2d4cfdf3e673cc7dccd0df2f8cc95fb4576a7c9f2d715d0912fae8d1d61e98a8bb0ff08a813b7cd
MISC metadata.xml 1593 BLAKE2B 2e07980ce479dbb737394a5b74576925da936ca2ef5c0767b036cad7f56460ae0a6c73e8a416679f512a5195d037329ce9d3ace9808f68e024baf8640f462d94 SHA512 9f99896328a6337e7a2228977a3b7d853e78aef50a19ee40c43d18f657ead529553d7ea788bae1d408bd074f240cb555ba42558a54cd3ff8ab530b167e813d55
diff --git a/app-emulation/wine-proton/wine-proton-9.0.2.ebuild b/app-emulation/wine-proton/wine-proton-9.0.2.ebuild
index 5b65bf80cc44..17bdf7ebbeef 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.2.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.2.ebuild
@@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]]; then
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"
+ KEYWORDS="-* amd64 ~x86"
fi
DESCRIPTION="Valve Software's fork of Wine"
diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest
index eafc1758c7cb..e1dfe1c00174 100644
--- a/app-emulation/wine-staging/Manifest
+++ b/app-emulation/wine-staging/Manifest
@@ -5,13 +5,16 @@ DIST wine-9.0.tar.xz 30007216 BLAKE2B cf53177201a2f7eeb35d0d8ce220f80808d979099a
DIST wine-9.15.tar.xz 30580680 BLAKE2B 70a3dd1d566ce2022a197735bfbc6a879f99608d3b44dcb170dde68762b86cd880581bdc857090dad2733468f5aca3bb2613ef884fa35e361fce19e6e15dcef6 SHA512 4d19b7c0fbdf6ee5dc90c0aef800df47f5bda7e3506e5a3c065dcd29b33cc62840ae4eeb5c20c48e9400c0d1252b897d8bbc60fd5a58da1ad6e76ba677997cb3
DIST wine-9.16.tar.xz 30638928 BLAKE2B 65665d674842980345d4f3730a75a1734fd5b9c3f08a2700624e4cc18b3d496a1db790e6098c404e05ea9544e671e2cf3f5d10f7fdc0863c6cf0714a9b597af9 SHA512 5f2994d20b8c7635125b38b6a4d89db4b71791f096276fa93e36dc6951c47c25b8a3354f0be0931799ac83c54f048e34693b56512cc446b93c74344b1a458187
DIST wine-9.17.tar.xz 30684564 BLAKE2B 36049b7ed096865a647cea9ac1def6cf2a35984a72ae192d402a40f34c8a97e967cee31724d84d422f835f272fcba9ba818e1e787f7940b18d835aa234b0c6b7 SHA512 06ee82fc0f0c8c02f1f646f674e8e3c5d4b9ca9cf64a910b01eb9c6d5dbe0471a6b232875e099c2e5cfd8e1c183ee72850820f24fc026b11523b56872a2efec5
+DIST wine-9.18.tar.xz 30760808 BLAKE2B 2ac93d28c76358be47615d6a1f053fc61ff023193bd000cacded262ceafb39072778461c72fc797657df6ae71c7fc072d0bfe69da04660cd14e4b6ddec36a0b5 SHA512 d6e049374d1e654937a0c767215076e5f12c7ff69aac930881292c075d0eee1a1af4c38937271c515875db12b98adebe8553d356b30e32d78d9ac8b1c7914509
DIST wine-staging-9.0.tar.gz 9577631 BLAKE2B 0012978f54c618e73d407dd49dccff02853912d0c015098889802518e8c51b280f5d60e11291335dafc68944ee01cbcb7fd6c5825ef10ae1520c7b82d9846718 SHA512 362209fcadcf029152b681c76beb231d0cc8de1609b994094f1dc88ab871fddda08b3d8c2fe36ceb38909a9d634c1ade864ca0f28a6a7715ec286a8b2884981f
DIST wine-staging-9.15.tar.gz 9516589 BLAKE2B e0511494a9cefec0349f7f24830e6dafb032ea33290b09c9b168f06cc7c621a53ede34dbc379a0adb17feb17af4d8872c6863ca4a38c5979572feaa3c0cabbc5 SHA512 37237e4f19319e34341fef1bb656d5c98309d148cdef7f105e7cd4eb10134364766df5287755ba23ebc2a3d28294bd10c7991c9a3acbe076ad33a386ae92b304
DIST wine-staging-9.16.tar.gz 9506127 BLAKE2B 05311c5af15052b1a8d846d3ff3f09b476b71eb13f82e37e8d1dcd08032c85d9ab03c27f595d5b72dd121f143f07b6b7246b7bd9f8df16e0923aa26a8f92195f SHA512 513af6d56f491e49c29ffced546b9025d0dbd4cf0c0186cd118132380bf58f45277d129c49fd3f5bc1ccc5d391e456fd2f0792b60b92d1dc448ba8b1f98efa34
DIST wine-staging-9.17.tar.gz 9383269 BLAKE2B b82d74a6cfefce477193f72906fccd69dc34e4199db4f9c68efda484dfc462b6a828c549d4428f6a3c7479d3a3ad939eb3f4b28b2d64e31093d107b1c2316ef8 SHA512 ce21e026870dece09713eb64a046381942085742456057dc147490968724a0f7dc5ef059f0b26f9125f20de50a3e6beaae5cea2aa95ab1fae3e1d92305d92488
+DIST wine-staging-9.18.tar.gz 9439240 BLAKE2B fd21f9d49e2ab28a1b6dc15c01559b42626b6c62cdb59d56ac134c6e8ecb9b3ec40ce34f39b9aa9bfdb7204acdcaf5556f3b7fd396e0269bbc674d915a5597d5 SHA512 21c7ff8e80f48837cbb268ef932906c65fb3d77cf72dfc4f9118fb72a216906222ed051cef9986aa2fd2339e86bd3a5766c93e9390d95dbb7bc46eebfe55ac66
EBUILD wine-staging-9.0.ebuild 15677 BLAKE2B a60e2f72c3896f6de7b045ba51c41338531eb2dccd0b783725c1c793cddf4f17311c5941c99b0d29bc1b61607bb4e26c4114b3240b4c3b219927d26151406593 SHA512 affaba6aff52e930d8345a5b3c6ecf4df5479463f4bf8ad036b9215f7f802bc94efa5ac47897af11bdd9a12f5d93947fdda4407ddc75b937a489f783c9cf2389
EBUILD wine-staging-9.15.ebuild 15630 BLAKE2B d77747e02096632bd21a4f7cdf8ba38bae7101ca157f839ed72ee0a3c00ef0cfc8030822d6499f918eaf7ed619c836b74b69044c172fff9a4e4b86937a664e25 SHA512 cf244df5a00d3efa549c368541fb8bbe22063896d59b16e5cbc051602f0ee8e3d5214640d292c5e35868bb94faadf3cc3a9ab8998f1d136c1304e85e3763f7a7
EBUILD wine-staging-9.16.ebuild 15366 BLAKE2B 3fb369257308b17554c0c3a95e8977f489929364345b4c7895dcd89bfc01b4ea0ba98f517fee19e026707025aa1eb45bae7d60234eaf4f0eb7cd8ffe26af2d43 SHA512 328e3e74578cc28ccc54dce73b06071bc1ad46a7fd6abd1c615f7c9d9eb68a6f2cb37d1cb31fe8d04c8653216b9a2f253318648a7203cea7d2faee170cb8449c
EBUILD wine-staging-9.17.ebuild 15386 BLAKE2B 6035e7adedc96d16b34d7d96741b479171e010fee0115470df8a35df358816cc7a7843934a804daf749d8a41de1498761f4b9026648cb3a9dba6952d0ddbff8a SHA512 133cae5f3d231f3d2e9552c0af9d563d33ee8497cb54a73b754afcb666e0eba485838617d02ab27755f802e1dfb95a185c13d4a660eaa3d99c9a0e9f2e5663d6
+EBUILD wine-staging-9.18.ebuild 15468 BLAKE2B 9cb861dd4f2018ee042a968c93da960fc332426e970769e3a96de2378a7e51f458e45cf32344f2cd03454f88d9caa01800beb9723f119d3c51acfa3cc9248f1b SHA512 eb2b3a9d0e986e1ba785891a274afbd08fde4bd6132fa3e1bc4cb76c36cb3cb7489a177ea8c44966b1d3d0939335b7f2475d60e89849ed779621dd4eb943dafd
EBUILD wine-staging-9999.ebuild 15468 BLAKE2B 9cb861dd4f2018ee042a968c93da960fc332426e970769e3a96de2378a7e51f458e45cf32344f2cd03454f88d9caa01800beb9723f119d3c51acfa3cc9248f1b SHA512 eb2b3a9d0e986e1ba785891a274afbd08fde4bd6132fa3e1bc4cb76c36cb3cb7489a177ea8c44966b1d3d0939335b7f2475d60e89849ed779621dd4eb943dafd
MISC metadata.xml 2659 BLAKE2B 8a80b12643e82b98b71bc408e2fd79736da01c8f7d914c7a592cb685893ea3896bc44fecf0160faec803b284d3f6bb38cf36fb4745d9d43e0e1ced8702fcaf9d SHA512 a271e537318a4e90236c195f1f8c24c3255b5465345246627797d37238e2b6292d0734a9ab19542ee34fc1e9312dc4418694992f5ce3c53310228cc6bf14ef90
diff --git a/app-emulation/wine-staging/wine-staging-9.18.ebuild b/app-emulation/wine-staging/wine-staging-9.18.ebuild
new file mode 100644
index 000000000000..69c45f1c51f2
--- /dev/null
+++ b/app-emulation/wine-staging/wine-staging-9.18.ebuild
@@ -0,0 +1,479 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools edo flag-o-matic multilib multilib-build optfeature
+inherit prefix python-any-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.3.0
+WINE_P=wine-$(ver_cut 1-2)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
+ WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+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_P}.tar.xz
+ https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
+HOMEPAGE="
+ https://wiki.winehq.org/Wine-Staging
+ https://gitlab.winehq.org/wine/wine-staging/
+"
+
+S="${WORKDIR}/${WINE_P}"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags ffmpeg +fontconfig +gecko gphoto2
+ +gstreamer kerberos +mingw +mono netapi nls odbc opencl +opengl
+ osmesa pcap perl pulseaudio samba scanner +sdl selinux smartcard
+ +ssl +strip +truetype udev udisks +unwind usb v4l +vulkan wayland
+ wow64 +xcomposite xinerama
+"
+# bug #551124 for truetype
+# TODO: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
+
+# 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="
+ X? (
+ 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}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[X?,wayland?,${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ ffmpeg? ( media-video/ffmpeg:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${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}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ 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
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+# gitapply.sh "can" work without git but that is hardly tested
+# and known failing with some versions, so force real git
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ dev-vcs/git
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900334)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.17-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.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}) \
+ $(use abi_x86_32 || use wow64 && echo 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"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]]; then
+ EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
+ git-r3_src_unpack
+
+ # hack: use subshell to preserve state (including what git-r3 unpack
+ # sets) for smart-live-rebuild as this is not the repo to look at
+ (
+ EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
+ EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
+ EGIT_CHECKOUT_DIR=${S}
+ einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
+ git-r3_src_unpack
+ )
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ local patchinstallargs=(
+ --all
+ --no-autoconf
+ ${MY_WINE_STAGING_CONF}
+ )
+
+ edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
+
+ # 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
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-staging
+}
+
+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
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with ffmpeg)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with smartcard pcsclite)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(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 vulkan)
+ $(use_with wayland)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ $(usev !odbc ac_cv_lib_soname_odbc=)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+ fi
+
+ # order matters with multilib: 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
+
+ if (( bits == 64 )); then
+ 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
+
+ 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
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ 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
+
+ if use mingw; then
+ # 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
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; }; then
+ # difficult to tell what is needed from here, but try to warn
+ if has_version 'x11-drivers/nvidia-drivers'; then
+ if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ ewarn "Multi-card setups may need this on media-libs/mesa as well."
+ fi
+ elif has_version 'media-libs/mesa[-abi_x86_32]'; then
+ ewarn "media-libs/mesa seems to be in use but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+ fi
+
+ optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+ games-util/game-device-udev-rules
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}