diff options
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/Manifest.gz | bin | 15520 -> 15528 bytes | |||
-rw-r--r-- | app-emulation/libvirt/Manifest | 3 | ||||
-rw-r--r-- | app-emulation/libvirt/files/libvirt-10.7.0-fix-paths-for-apparmor.patch | 88 | ||||
-rw-r--r-- | app-emulation/libvirt/libvirt-9999.ebuild | 2 | ||||
-rw-r--r-- | app-emulation/virtualbox-modules/Manifest | 1 | ||||
-rw-r--r-- | app-emulation/virtualbox-modules/virtualbox-modules-6.1.50-r1.ebuild | 38 | ||||
-rw-r--r-- | app-emulation/wine-proton/Manifest | 2 | ||||
-rw-r--r-- | app-emulation/wine-proton/wine-proton-9.0.2.ebuild | 2 | ||||
-rw-r--r-- | app-emulation/wine-staging/Manifest | 3 | ||||
-rw-r--r-- | app-emulation/wine-staging/wine-staging-9.18.ebuild | 479 |
10 files changed, 575 insertions, 43 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz Binary files differindex ff3fabc525e7..a2bd03d51943 100644 --- a/app-emulation/Manifest.gz +++ b/app-emulation/Manifest.gz 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 +} |