diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-08-10 15:32:41 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-08-10 15:32:41 +0100 |
commit | 56e9cc62c11546e2c081f8dc14a9cc965f14787c (patch) | |
tree | 6dd5cbe22a937288e8c471e95a9f92bffb5d5707 /app-emulation | |
parent | d087665a0d6764fc223d2f88a04db01d76af9cc0 (diff) |
gentoo auto-resync : 10:08:2023 - 15:32:40
Diffstat (limited to 'app-emulation')
37 files changed, 429 insertions, 463 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz Binary files differindex 4f1580339fcc..6ea103466443 100644 --- a/app-emulation/Manifest.gz +++ b/app-emulation/Manifest.gz diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest index ae7c790cd59b..5ad9574fec6b 100644 --- a/app-emulation/dxvk/Manifest +++ b/app-emulation/dxvk/Manifest @@ -7,9 +7,9 @@ DIST dxvk-libdisplay-info-d39344f466.tar.bz2 81232 BLAKE2B af76ccd3c40bc953008bc DIST dxvk-spirv-headers-0bcc624926.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c DIST dxvk-vulkan-headers-98f440ce68.tar.gz 1691979 BLAKE2B bf6fd288f16df7adcb5cebeb6e13713db1c26a0b833dead2fb522227861abc60b2d0cda8e3f46f8e89cccb629e01081ba27763989ad6fd336c60a475b198c1c8 SHA512 69238d37d0af0162e0fd68094cd2fa9baa320497d34a9de491dea086c23291d0815b51e89218b1f0ee2b3314cbc8ac1809d6edb15ca51fcb282fe1e2b39a1a77 DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121 -EBUILD dxvk-1.10.3.ebuild 4692 BLAKE2B 95c96b7fcd85fb95e44ed94bf0e858d0a28f57a2c493384d9266013bd4abf441b6a790f0e3ef6ae1ace9278022493b4be0102596dad6749e38a2b8a06e70e63f SHA512 5269c642502d08482011b4bf50fad235083479cd3b24da8b89e7a013be891d7dbda4ff3bf9aaf0e5960dd56a249adf0fed0ab18e2c3733e35583411762e72403 -EBUILD dxvk-2.0.ebuild 5569 BLAKE2B 16751fb83ddd014cf3c509434b2d89f0ac66299e099395fc4d7ca8dc8dc80c2e64ab4ce96b04743008ab6922bdb8c4f2f6d4a69fc760b8754720781774835a44 SHA512 32420d946564e84f70ea256d37aef3b3cf12776ca65704f0f2de9cce7633274a5dd63133064197eda014d4bb550e95355c0fb18ca889a921e41f7888fba4b2c7 -EBUILD dxvk-2.1.ebuild 6316 BLAKE2B 3644954dd2c97af504e32df613d34f0d07110ab71683b35fbe64b33aba6c6288a5fdcdebf9f9822715ed9032ddb926e954288b808c8fc233b173d22d523ea813 SHA512 fcdba9450cd008c63e40fca01cbf41a97f6710e2ce14f69168eaecd0de45f7839b55e240e795ff5352ef88caaf7bcd07b75b17582803c267ff7439b381ac4a68 -EBUILD dxvk-2.2.ebuild 6263 BLAKE2B bcd75c1bd5f0703db7d7ae1c7c94dfde6b7985ae8d7aa219babb77d0dbbc27e4b6b3151fadb75535086447c7887b3fc6d4e5a96139a168984beedeada89acbc8 SHA512 96664eb5cbe56e16f4f6e01aa7bd509a3aafd8401ceda12a6c18a717f43b7e8619a948ecef058067f6edf93088798114e04ae76c96a9dd3afa9f3502fa32f0e3 -EBUILD dxvk-9999.ebuild 6265 BLAKE2B 342d35896748f7308ce2d337d2584a2aa9eae372a1d686c82e687d6489946dcb2762bdf6e7178aaaf64c077aac175581d9027a0eb971e63d8964232d84ebb9cc SHA512 22cd7e33b32a388ad90a73d19857c0f1f7626141780f2578b64637853c973b47c4704da14ad814fc3fcb70f3e7e77a6ecdd67212eb0ac5a5e1a50b7215e1be65 +EBUILD dxvk-1.10.3.ebuild 4749 BLAKE2B fd9cd430c1ba8a26c651d2f48b80bcf342f8f6e29b7e4ef482f040ca6b3e5dec929c5231f261ef19c7b834b4388f9d0ca04326f5a540aa36f9f5c919300739a9 SHA512 39c20df5745c0d900fa203e8c08b4e65843c01f981cbd05bce5526ac9495f97d146b44bebcf64893fd24d4f1305e0bdaf46d48606313ad460c6606dceea8e484 +EBUILD dxvk-2.0.ebuild 5626 BLAKE2B 6b5e635decab96c3f80e28a982d812fc709159cc606ad4c45b4a236e8839dd1bf55481fdf2e4ea38dd3d62e40d7cb627e298513690db86e713b1b04cfa63e05b SHA512 18437696864b04f5ce8869499123976152d7645c51e7a03dae7cb155452a957b90bdeddccaa13ce1cc995ec02052b74bb26dca9bb7eb7fc706561da4f942185a +EBUILD dxvk-2.1.ebuild 6373 BLAKE2B 5fcc8d2d344c62095b6a0fc6378d0c156ffd116f59b9f6d3377c0efedeb4ee18dcaa8918cb992f9b046601f8db0d4cf56cecc6da0c1c5e0664d2d0d1fee471ac SHA512 53e8a705da21c70cef86053c02af443fac029ebc10c093ad23f2b0be6839c35f72f12fb3d13988049a851160debc0071b65d493a16c77c7748e294fd81100e91 +EBUILD dxvk-2.2.ebuild 6320 BLAKE2B 57a49436331be13f9c45299ebb923e95e4106738580ab80b30a288a91ad339b2d59b926d845cd6e2b249669e1d284407c81a446ee0e5ac708007e1143307ed5e SHA512 6426a28d8add392481d5c0d1f60711ecd075f2f10f57b6fd7ea993425471db45da0dd44c27fef6d547fe51fc8d7affc67ba7b3c1270131189de08efd6759c8e4 +EBUILD dxvk-9999.ebuild 6322 BLAKE2B 6982d08a5bc5bcb78dcfacc95c557218f530331fc1e0a78c4df71f55f41f1492049cff14be5298b08bcd13c3bdc327705a33415560f8ecf03e8d104bdd94ebdd SHA512 7c564b73df8d9a75fd09e4b010caebdbd81d5581712cbcb2e28927e6a2ddd253f7b8e210215da25e0e411d9557ae295276e54d10f65cdc0d914c49ed8073fc60 MISC metadata.xml 818 BLAKE2B 88081c074b99329c925174de4b7ff9b2c220ffc67eb64a5324f4eaf2a35f98f06c9978ddc0e929ba76b341a389a8eff025b7aa0a2414e3f7ae496c44a023c65c SHA512 90d76ac3df3abe003371cd25b9cf0e6570a53b371349fb2e048cae1818e51f0482e17b3d5490eb82c57d891bb43c4a7cd41530101b888591719c33c566788e3b diff --git a/app-emulation/dxvk/dxvk-1.10.3.ebuild b/app-emulation/dxvk/dxvk-1.10.3.ebuild index c11db845a715..378c0c51c184 100644 --- a/app-emulation/dxvk/dxvk-1.10.3.ebuild +++ b/app-emulation/dxvk/dxvk-1.10.3.ebuild @@ -6,6 +6,7 @@ EAPI=8 # note: version <2.0 should be kept for longer given it's the # last version to support <wine-7.1 and <nvidia-drivers-510 +MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/ MULTILIB_COMPAT=( abi_x86_{32,64} ) inherit flag-o-matic meson-multilib diff --git a/app-emulation/dxvk/dxvk-2.0.ebuild b/app-emulation/dxvk/dxvk-2.0.ebuild index 51375fb11c10..1790de09e942 100644 --- a/app-emulation/dxvk/dxvk-2.0.ebuild +++ b/app-emulation/dxvk/dxvk-2.0.ebuild @@ -3,6 +3,7 @@ EAPI=8 +MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/ MULTILIB_COMPAT=( abi_x86_{32,64} ) inherit flag-o-matic meson-multilib diff --git a/app-emulation/dxvk/dxvk-2.1.ebuild b/app-emulation/dxvk/dxvk-2.1.ebuild index 28608a67906c..b39f6fe9f3c9 100644 --- a/app-emulation/dxvk/dxvk-2.1.ebuild +++ b/app-emulation/dxvk/dxvk-2.1.ebuild @@ -4,6 +4,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..12} ) +MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/ MULTILIB_COMPAT=( abi_x86_{32,64} ) inherit flag-o-matic meson-multilib python-any-r1 diff --git a/app-emulation/dxvk/dxvk-2.2.ebuild b/app-emulation/dxvk/dxvk-2.2.ebuild index b2ad8ecef4f0..cc5675a641c1 100644 --- a/app-emulation/dxvk/dxvk-2.2.ebuild +++ b/app-emulation/dxvk/dxvk-2.2.ebuild @@ -4,6 +4,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..12} ) +MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/ MULTILIB_COMPAT=( abi_x86_{32,64} ) inherit flag-o-matic meson-multilib python-any-r1 diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild index 12656f42a335..062d70604759 100644 --- a/app-emulation/dxvk/dxvk-9999.ebuild +++ b/app-emulation/dxvk/dxvk-9999.ebuild @@ -4,6 +4,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..12} ) +MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/ MULTILIB_COMPAT=( abi_x86_{32,64} ) inherit flag-o-matic meson-multilib python-any-r1 diff --git a/app-emulation/firecracker-bin/Manifest b/app-emulation/firecracker-bin/Manifest index b72dd9ce75b8..df51aa3f8636 100644 --- a/app-emulation/firecracker-bin/Manifest +++ b/app-emulation/firecracker-bin/Manifest @@ -1,16 +1,7 @@ -DIST firecracker-v1.2.0-aarch64.tgz 4060245 BLAKE2B 28434aa623eb473b1886e5a6da2a2b97a7bb1f6d6692724dccbeaef49cbd2204f3d0f409c59a1ca54b293f15b83ced5eb545d9c93c450048cb9f652e99c97a3c SHA512 c0ce21fb54fd16e0b649da65a05cbd43af470b5b8660a1b86cbcd7220c88ca535e5e107114c6ff30cd1d8818d046c741af0365ce6c2f25b7b2cac5b13f77634e -DIST firecracker-v1.2.0-x86_64.tgz 3932475 BLAKE2B 3db4b5f0746db48e8cd6e00735ba859e16b1bec94a23854cdc3af65d032773c596e8b52cf0a0cd40e363de1a5c67817176a5287af9c692167e8f4681a6b07e9a SHA512 67fcd8b898ebc3207de8f93a466430261c923d27bce97bb32636bd243957cb757da1fc72ebec2751c14205e111d2ffb80c94cfa033aecf715962e59b813fbe5f -DIST firecracker-v1.3.1-aarch64.tgz 4178577 BLAKE2B 80636ee5878acce741f12647c7107b111430ee4a6f1da9e09af44d30bce16ac8e69d11ebc59b6220cbf145882876b38f4ee0e0a7c0050830ee93b6c925c0bd7e SHA512 f82ab276bac1d8187d33b4b0b07e871122170199025ca693d2eaf3a02d93e03dcbfe50af87584a69ac2c00868e0c02a8a7350f5e1b1e9cb196dc52d7c677f539 -DIST firecracker-v1.3.1-x86_64.tgz 4105205 BLAKE2B ab40e91c641c34b621542a991c642be61404aaa77d861341827d0555e5128773f7407277355a342fdc7c4c26d6a604e357901672175ef0a6578b25c9207c2e45 SHA512 272f3579f2943ee32663590e99658ee52cf7b8693b402d2f342e1de8a55fa4c05db5fb4b6a0495c88dfb51f0830640c3e6ef9e1569264f6c2eb9ab99c84bc2b5 -DIST firecracker-v1.3.2-aarch64.tgz 4192631 BLAKE2B b1a44c7fb0458f8e9298eddebc047cb4582ca4164926b29b23961a3c9decba26278bd70117365b89e29c414561aed1e79f4e2c248d362ea3e389d58bc5a60235 SHA512 9e88396270da04f8b0ee92c0b15f4abb8e05674c97b2dc9233ea181e9ce5a9c96400d2cc870279d9dd3fd5763cbefc3e74db01cb0ecacd1d84c966eb9c7d39d9 -DIST firecracker-v1.3.2-x86_64.tgz 4152061 BLAKE2B f9025e827b53b482bd0f44918533ad0834eaa2ca4e4d13bedda5899ba3790e9bd0bf31793d2d6e53b7791b988a2fe0b5c69b5c08eba94d865660ee4e6c2ce282 SHA512 ff5c8ed9c7a200c87436ea5f952ecf584476030a2153eaa6d753624a324fa980687249a2a3351cb120f984b86c13395c611dbb44029072f2a961d79c54dbe731 -DIST firecracker-v1.3.3-aarch64.tgz 4203758 BLAKE2B 0ce55d98420fe23281c54ad43b83a5c6040e6cb14fc0cfcfc75b9945a20af26c58f67f9b173ae6259b069aebc5b99af9ef47534a749763a24cdc1088df9baf49 SHA512 ba543ba1dbae2a4e0321c1d8dbf1fc9cc3da11dec773815175773a6c07f135f9bc3103cfdb3a083743478fd3084c4b2e8988ebf62beff0d4473d644bd21bd9f8 -DIST firecracker-v1.3.3-x86_64.tgz 4170049 BLAKE2B 691135ef0d269667cde73bded237b2b6b59c6d74bd92dc0938b6b6b31babc6c28de841eef3ecb6769a6c5f4fe7d85e1ebf25f133608746676a02af4ae0e5028e SHA512 12697db9ce0cd2724dbb7a56643fc660c1b0faf7910090fbd227300099f54bf4f69678fa328f84827c18031db3827104262a7365db53fffdede7759e7562f1bc DIST firecracker-v1.4.0-aarch64.tgz 8415004 BLAKE2B 8311a8ec4a98be63ca6398559bab173e083eeecbd359dfcee972d84f978b465d80d35c36e557b56b3aaa9a3c4bfaec3f8562077101c215bf2835bd941b5ee31e SHA512 c22074c50b9d4ca94f10dcdbe81bffa03f9a9bd5fe43a1e7a545469feee51234217664a422c70e8c111690c69ff93e72003eaa4df84a484db4d45215b6fe40ce DIST firecracker-v1.4.0-x86_64.tgz 8818170 BLAKE2B 0f5ed139ad6426f45e31b1c29238199a67af2140a8c8992779472563cd4dc75d0311161f0bf95dd708a9660b2f3d55e5f89f4c0e8e5767958f98cf57a4b2157f SHA512 e72aafcc667a78ac691000e81d67aaf0cc69adbbefaed19e647d294988a084612b0c3b6f73738200e8b5769cc128b07e0bf8bc1a079402f11317c70e17147594 -EBUILD firecracker-bin-1.2.0.ebuild 2595 BLAKE2B 9cd3c8dcda4729aca3b2cf97a7198973ebe51c136a81f01b90a06e061144814db63319653cbed5be36baba5a025321801b11329f12298af860769659a86aca19 SHA512 53e9eff94c97db469a679d73954a7786a2a962775f98e0dd5b031f12ae3d9c56022398f257d3fa991e96bf79ff0396684288159b14b41a38e179820ff16fc267 -EBUILD firecracker-bin-1.3.1.ebuild 2595 BLAKE2B 4345c2baa20a8018d3ad6621fa0e424cde734ba75b479bb2dce86b013325f47e4644b56e89a85c77beec6f2417b54a63523c689e9f46dd7beeb7e2d52d5a77b9 SHA512 63c14567ce066eb05a4da7b452c9546c3e0601722436aa5639fd1f5486f9e7bce4b8be3e4fd834888bd61daec035696cc6f3ae4d7f827ec86b43909e610680f4 -EBUILD firecracker-bin-1.3.2.ebuild 2595 BLAKE2B 4345c2baa20a8018d3ad6621fa0e424cde734ba75b479bb2dce86b013325f47e4644b56e89a85c77beec6f2417b54a63523c689e9f46dd7beeb7e2d52d5a77b9 SHA512 63c14567ce066eb05a4da7b452c9546c3e0601722436aa5639fd1f5486f9e7bce4b8be3e4fd834888bd61daec035696cc6f3ae4d7f827ec86b43909e610680f4 -EBUILD firecracker-bin-1.3.3.ebuild 2595 BLAKE2B 4345c2baa20a8018d3ad6621fa0e424cde734ba75b479bb2dce86b013325f47e4644b56e89a85c77beec6f2417b54a63523c689e9f46dd7beeb7e2d52d5a77b9 SHA512 63c14567ce066eb05a4da7b452c9546c3e0601722436aa5639fd1f5486f9e7bce4b8be3e4fd834888bd61daec035696cc6f3ae4d7f827ec86b43909e610680f4 +DIST firecracker-v1.4.1-aarch64.tgz 8517732 BLAKE2B 4c12716654a48aaf82c1b8888ad26449f2d9f8ffb9d002707dc921de9ec72a25b6afb5dd6f3d65cd7857de3ca5f65e9eede9f352a4aab55d4fe7cccbf939c201 SHA512 c8b83515d8e84c6bb42c5e9a7a8f08bd7eb5a91d7e255551849ff703f1867ab30e7e69dc139215f138035e253e853367697ff431e67dc868ec5cacce2b5762b2 +DIST firecracker-v1.4.1-x86_64.tgz 8957780 BLAKE2B ba6f9a4a01157e3e5e93a3e8676ec7b32cd40a9f9dac101c441e359e965db02adaa2f1c439f98732ac66c4b65b384db0d1fa8032d605a2db7377ab3691a09a06 SHA512 a56db43bf725c547ad5fae15c72ebb669fc66e037f63bc30048a1287d4f0b49a2841949693da23af0359ba2d2e43e82ef8c016a88f3fa2ced311580e3bd98fee EBUILD firecracker-bin-1.4.0.ebuild 2610 BLAKE2B 0e37b779716e5d2041ed63cd4d959ae6f3a2f1ba62cd254ea3e178bd0288019456c723e406991e8f9e8e302be108637eef54e48af3dde61eb2eb4c3a718266c9 SHA512 a2584ed120673321122bbaf30f335e959495bc733484701eec983329cc7ab65f5f7f3a5a4f066f8d08a942c36f0ff7a16fdb3fefcd8b66cdb6d270cf8cc4c2ab +EBUILD firecracker-bin-1.4.1.ebuild 2610 BLAKE2B 0e37b779716e5d2041ed63cd4d959ae6f3a2f1ba62cd254ea3e178bd0288019456c723e406991e8f9e8e302be108637eef54e48af3dde61eb2eb4c3a718266c9 SHA512 a2584ed120673321122bbaf30f335e959495bc733484701eec983329cc7ab65f5f7f3a5a4f066f8d08a942c36f0ff7a16fdb3fefcd8b66cdb6d270cf8cc4c2ab MISC metadata.xml 512 BLAKE2B 5088571672374708995301bad5f1427c9f33d89104ca971134bc5fc1afb70a6513a27ec88b938716c538db7ef8ff15b74fc7fce3aa70de49574fdbcd00a81a72 SHA512 dcb061c53e06929eb8ff6850a610ad8df17364089575b7d0f7f7e0a7ff2becb6cd446a666b2015745460f5a33f67e0a6f8df534bb03081866c0fb35bddb3460d diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.2.0.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.2.0.ebuild deleted file mode 100644 index d91fe042b78a..000000000000 --- a/app-emulation/firecracker-bin/firecracker-bin-1.2.0.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit linux-info - -DESCRIPTION="Secure and fast microVMs for serverless computing (static build)" -HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker" -SRC_URI=" - amd64? ( - https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-x86_64.tgz - ) - arm64? ( - https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64.tgz - )" - -LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64" - -RESTRICT="test strip" - -RDEPEND="acct-group/kvm" - -QA_PREBUILT="usr/bin/firecracker - usr/bin/jailer - usr/bin/rebase-snap - usr/bin/seccompiler-bin" - -S="${WORKDIR}" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 4 14; then - eerror "Firecracker requires a host kernel of 4.14 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use" - ERROR_TUN+=" virtual network devices." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - - if use amd64 || use amd64-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - # Now do the actual checks setup above - check_extra_config - fi - fi -} - -src_compile() { :; } - -src_install() { - if use amd64; then - my_arch=x86_64 - elif use arm64; then - my_arch=aarch64 - fi - - dodoc "release-v${PV}-${my_arch}/firecracker_spec-v${PV}.yaml" - dodoc "release-v${PV}-${my_arch}/seccomp-filter-v${PV}-${my_arch}.json" - - newbin "release-v${PV}-${my_arch}/firecracker-v${PV}-${my_arch}" firecracker - newbin "release-v${PV}-${my_arch}/jailer-v${PV}-${my_arch}" jailer - newbin "release-v${PV}-${my_arch}/rebase-snap-v${PV}-${my_arch}" rebase-snap - newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin -} diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.3.2.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.3.2.ebuild deleted file mode 100644 index ec091124b7ad..000000000000 --- a/app-emulation/firecracker-bin/firecracker-bin-1.3.2.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 2021-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit linux-info - -DESCRIPTION="Secure and fast microVMs for serverless computing (static build)" -HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker" -SRC_URI=" - amd64? ( - https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-x86_64.tgz - ) - arm64? ( - https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64.tgz - )" - -LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64" - -RESTRICT="test strip" - -RDEPEND="acct-group/kvm" - -QA_PREBUILT="usr/bin/firecracker - usr/bin/jailer - usr/bin/rebase-snap - usr/bin/seccompiler-bin" - -S="${WORKDIR}" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 4 14; then - eerror "Firecracker requires a host kernel of 4.14 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use" - ERROR_TUN+=" virtual network devices." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - - if use amd64 || use amd64-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - # Now do the actual checks setup above - check_extra_config - fi - fi -} - -src_compile() { :; } - -src_install() { - if use amd64; then - my_arch=x86_64 - elif use arm64; then - my_arch=aarch64 - fi - - dodoc "release-v${PV}-${my_arch}/firecracker_spec-v${PV}.yaml" - dodoc "release-v${PV}-${my_arch}/seccomp-filter-v${PV}-${my_arch}.json" - - newbin "release-v${PV}-${my_arch}/firecracker-v${PV}-${my_arch}" firecracker - newbin "release-v${PV}-${my_arch}/jailer-v${PV}-${my_arch}" jailer - newbin "release-v${PV}-${my_arch}/rebase-snap-v${PV}-${my_arch}" rebase-snap - newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin -} diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.3.3.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.3.3.ebuild deleted file mode 100644 index ec091124b7ad..000000000000 --- a/app-emulation/firecracker-bin/firecracker-bin-1.3.3.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 2021-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit linux-info - -DESCRIPTION="Secure and fast microVMs for serverless computing (static build)" -HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker" -SRC_URI=" - amd64? ( - https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-x86_64.tgz - ) - arm64? ( - https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64.tgz - )" - -LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64" - -RESTRICT="test strip" - -RDEPEND="acct-group/kvm" - -QA_PREBUILT="usr/bin/firecracker - usr/bin/jailer - usr/bin/rebase-snap - usr/bin/seccompiler-bin" - -S="${WORKDIR}" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 4 14; then - eerror "Firecracker requires a host kernel of 4.14 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use" - ERROR_TUN+=" virtual network devices." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - - if use amd64 || use amd64-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - # Now do the actual checks setup above - check_extra_config - fi - fi -} - -src_compile() { :; } - -src_install() { - if use amd64; then - my_arch=x86_64 - elif use arm64; then - my_arch=aarch64 - fi - - dodoc "release-v${PV}-${my_arch}/firecracker_spec-v${PV}.yaml" - dodoc "release-v${PV}-${my_arch}/seccomp-filter-v${PV}-${my_arch}.json" - - newbin "release-v${PV}-${my_arch}/firecracker-v${PV}-${my_arch}" firecracker - newbin "release-v${PV}-${my_arch}/jailer-v${PV}-${my_arch}" jailer - newbin "release-v${PV}-${my_arch}/rebase-snap-v${PV}-${my_arch}" rebase-snap - newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin -} diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.3.1.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.4.1.ebuild index ec091124b7ad..42c1d8f40fe2 100644 --- a/app-emulation/firecracker-bin/firecracker-bin-1.3.1.ebuild +++ b/app-emulation/firecracker-bin/firecracker-bin-1.4.1.ebuild @@ -66,6 +66,7 @@ pkg_pretend() { src_compile() { :; } src_install() { + local my_arch if use amd64; then my_arch=x86_64 elif use arm64; then diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest index 6fbfa0f0e060..337f7522b247 100644 --- a/app-emulation/vkd3d-proton/Manifest +++ b/app-emulation/vkd3d-proton/Manifest @@ -11,8 +11,8 @@ DIST vkd3d-proton-spirv-headers-ae217c1780.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b DIST vkd3d-proton-vulkan-headers-83e1a9ed8c.tar.gz 1299014 BLAKE2B 0b1e635aaa6eebec3525b13698a064e0e5b8a78829a772cbe9e1890148059bf396bc5c830e8d6ee3070a3343775991642565283994c65acfa0d82a91590b7d84 SHA512 ecb2158cad55edb4ba069383668f3b311a2f6aa6777b5b7ed94795d454622426ee34fee52b13c97d2f07b5b2f965815ee61a0203b76a0b0d2c708a4786d06b96 DIST vkd3d-proton-vulkan-headers-b7a86d3b2b.tar.gz 1753074 BLAKE2B a2588e84edd09a04c3622a95310acc781432d6a962c69c1f5a709b65e2bfeb5196d9d217b0d261532c4b5c1424f13ff64d33728303c989fdbce3048741add486 SHA512 377ada7a9721c225067c6548475109cf4ad1f3d677b835fbe7a4bc7520621acd816cc59d4b75b23bc28f25891b556792cf853b98c0dfb915856774ff27eb6aba DIST vkd3d-proton-vulkan-headers-bd6443d28f.tar.gz 1827419 BLAKE2B 911ef9d8039c052742a26784f800826af3f3da0d24026198540eceebb798990089eddefb518bf92ae50b039fa04477dc3256367593ed77852d90a332f9c4d0d5 SHA512 20e722bc5918af6c5ebeb6599d0f7f09821a3045d014f1c178ba8e038bdb4ace11a6ae261c75b38a0098cffff9bbfe4a518a541699575fbf642f13a73ca0faca -EBUILD vkd3d-proton-2.6.ebuild 6592 BLAKE2B f08d9c80a4b530cb7b8640c8b99898c72f8fd7953afd57a3a4c51f73e21b29365044dfd74531a2176cad671c1b160f621ef514bac49756e098cf9f1a530f79a6 SHA512 204c311a70822c6f4d8d26b29c6413be90c2e4ffaa28c08054aeb1497c0d2887947a8c015310efb491956bb9089dd339e6074913ef202bdba14d2cd09ef8f5d4 -EBUILD vkd3d-proton-2.8.ebuild 7068 BLAKE2B 0ac3f0c1f7501bad2bd1e4be8f0e8e7b5cc048d4b59971f75f2a3711f6d1bedbc5bcb9e946833cc5839b19689f0deea7b2f8d5f0f14ebdcb4dcc62abafb6efdd SHA512 44ec4a0fa66ab7df0a106504354bc4277d4c2f6e2bbff89e89029a5cf1f4a21b2bc3fc3cdc705035e505a85de61fecea8cd9c6313121cc0a8231a1ca85314c0f -EBUILD vkd3d-proton-2.9.ebuild 7654 BLAKE2B fcb2d0a2b8a6f336496528e65b3c164c7f5f52aa82d75dd5518c84d1c2bc1c193c55e189d98a874dc9aded15ad1e1cbaed25c573b9666bf06f3b987354894a29 SHA512 9313f05189f40d7421e721e6ccf9a5a87f73a62d2670e5994771c929a3d6a6e79533bcbc9096ad2eaf59a49aeb3a4c990dadbb5a6abf959ef6f1edd28c307450 -EBUILD vkd3d-proton-9999.ebuild 7662 BLAKE2B b2366bd15783f428f6632d7428d10392392262ac44ebd696cbcbdd40cb95b6d30cea6422cdaef9a1858db4070969f8443c00aad3424bf96fb8c105e88402a76f SHA512 8ef4d0e305b5e2216aeeda308af5feccce6ea03b6190b96b96b89b711593c60346e5b0a40a55b52ac7208dda5cf4cf13082c5155afcdf327745bb190ff3af7d8 +EBUILD vkd3d-proton-2.6.ebuild 6649 BLAKE2B a1c4fad8bc4dac02544610c116f25f74493a1e1f279f1440cb56606c97b8f99e96d729318e2b0712caa0bf81cade60c4a9ce1e8c974637df72a9de4b44c38e47 SHA512 3c20099e9539d9eff975507a309b633363dc802caeddd48f7379c8281fde131fc63608510d466ca6a9ec1b17d84d8ae52c8b22420a14db9b3983672c603d64df +EBUILD vkd3d-proton-2.8.ebuild 7125 BLAKE2B deb01348dbd8f4bd3da0e49d64a14a7f642a5ef7331cf1e498d6c5d99ccf3cba7961c4febd8be539fe9a419ef8e841b5f8a68f80dcba54e75b2eb3143b588b3d SHA512 2592cffd0ce8d32cec26bc4ef549cc98db755f3155adc95656c562b0e69431ece4e342fc6b72c9c01e5f4ccf602b911d3f93dee02edb305e18b4af38d3304328 +EBUILD vkd3d-proton-2.9.ebuild 7711 BLAKE2B c520bd7ae16ba345c0c3c332efe3ae272482e90b32f787a8d1f8407b018ec50040e14d077d5d4a2e57fad742d88cbaa38af4d7204988697d3329af56dd3d9354 SHA512 c721e2160361557dc14647b1e1f2debeea8db33b88611fb6b4f420bab6409fec73945f4a5304efb95fe3b541a522d4da1755b2a157f630f5f3acb1d4419d7b38 +EBUILD vkd3d-proton-9999.ebuild 7719 BLAKE2B 252edb291a8c788e46b4bc025c395d9b5a80bc72ab5170046345d0d1a93a1d8d533a60edb5a2ea77eb6dbce8f4c470885c79bc1dd8ac62c094dc753c4e32ff3f SHA512 c91b8cd543be510e2b4ae8f927ef9fa0337915421b1a8471bb1ab8e207d9b6018c8835c5ee0c04abefd5375971bfd9da9187cd4a6b2f4b99886e178ce7caf4d5 MISC metadata.xml 618 BLAKE2B 4382557118c0ea56972d05a10c9cc1f94a4fbcc58a414f1cd5e4354ce6ed1de15c95377f167ed5627231c2887ecce3c00756908720458fedddea5ed6732771ff SHA512 b5cc86b412c30ee5d54868a87c9f4892337c83988b738806532cd9e2cc295a2326e776030c19cae9a2e9dd4f5f615b1d962ec48a4b310fd8a94ec4024dde99ab diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild index 3c960bc15b97..b2963d7ca105 100644 --- a/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild +++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6.ebuild @@ -6,6 +6,7 @@ EAPI=8 # note: version 2.6 should be kept for longer given it's the # last version to support <wine-7.1 and <nvidia-drivers-510 +MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/ MULTILIB_COMPAT=( abi_x86_{32,64} ) inherit flag-o-matic meson-multilib toolchain-funcs diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild index cd727dfb9b35..d9c77a55fbc2 100644 --- a/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild +++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.8.ebuild @@ -3,6 +3,7 @@ EAPI=8 +MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/ MULTILIB_COMPAT=( abi_x86_{32,64} ) inherit flag-o-matic meson-multilib toolchain-funcs diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild index e51d2c12d6be..025dbe03397b 100644 --- a/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild +++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.9.ebuild @@ -3,6 +3,7 @@ EAPI=8 +MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/ MULTILIB_COMPAT=( abi_x86_{32,64} ) inherit flag-o-matic meson-multilib toolchain-funcs diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild index 3aa61a026157..5c521dc6e224 100644 --- a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild +++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild @@ -3,6 +3,7 @@ EAPI=8 +MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/ MULTILIB_COMPAT=( abi_x86_{32,64} ) inherit flag-o-matic meson-multilib toolchain-funcs diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest index 97cf15989456..2125941a075d 100644 --- a/app-emulation/wine-proton/Manifest +++ b/app-emulation/wine-proton/Manifest @@ -7,7 +7,7 @@ AUX wine-proton-7.0.6-mingw64-11.0.0.patch 849 BLAKE2B 26833ef532e7c5b8b0ae14424 AUX wine-proton-8.0.1c-unwind.patch 1488 BLAKE2B 1a6d69484fb36f94f32d74679e809cfd7666363bede5dddedd2449e07251823b1ce86a717e06d342eec782aff501f27bc23433511c163da0b2a50c411df7ac53 SHA512 82ff0510fcab35471aa0db8f32f48cd62dbf78b3f5f36e3d191b86be55cb476df1ee689e5cd53c95d4f02199b5900eb0c8a45959693739a6c35e4c8b3cfa243f DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef DIST proton-wine-8.0-3c.tar.gz 48254135 BLAKE2B fee58928555376f71579099d3fb39dbe2242516b671af1ca2507a135c3119422d6e168ed2a258d29c57a8fc33a026e5cf788d8362f238f1c0c4c7c81c9cbb147 SHA512 5d473534834ce8ea855d4ee2d39f1596117c0abab0925ee50875245ff6e1f49fe4684fe6f162e92a4b5e408795ff8c9b15b382fb013074216dd565143ecd9efc -EBUILD wine-proton-7.0.6.ebuild 10798 BLAKE2B 5511bfe5386ea33af4b76c1a9d58e630c8c2cdbe39a64e8305e9c859f6e850032474992beebfc82023a7c263d443162ed5e39cb4294670a4d052506e8caa429f SHA512 87659fbfe50e34eae90aaab12880f7509386d4dd5c77e0672de92e3b1950eca54536451cb1174fc317f20e27b700b888e6f8d39107627f216a49744ef36bf2bf -EBUILD wine-proton-8.0.3c.ebuild 10936 BLAKE2B abccff09f367e67b8117c8ebe0d04efa420c96945c1c190c3cb6673f76127eebd0ba8893b2f8e24f7062da4b3a135f6b8677d8dea7c6048f997225534870ae30 SHA512 d14b893fdb1dafe42b2011aa4aa56db94ef0b0dab2892431fbfd4ccb1a24461f40af6f6ae1fcbf32e8b9748b2fad15b54921f56b551f033687aca6a2bc8e06e2 -EBUILD wine-proton-8.0.9999.ebuild 10996 BLAKE2B 00f2707f7f211f9dbf7dc47ccb18b714a0e3980fbe04ce6eb12a2afcf32dcab4153f345df5d2e1c1f844ce38171fdd42b01ea202134565c4df0aab73bc0e578f SHA512 f2f2ddd91b94bd7dddbc8cbf9b4e4a672c584ffc34ad3e8fd67d5ce49bda050477487a81cb94fdcae2a39ce913faaffb13127f57de2e7d9cfc2c4a898ed82765 +EBUILD wine-proton-7.0.6.ebuild 10957 BLAKE2B 42161cb65325f6cb0c129055c58301efbd7f38151958809289d269053c0573c60e11ce8ff6a393c87e39e31c737a3c92a2984b322e1178ac6f8e51e9913fe735 SHA512 6447856a8664212ed1ec7ca068f94b3003e5790f730db5703ec10bdfade5f8ad6e48de85c6e1e80a7cc6ce91b548b81fdadeb26d8312e8ba50aee8680584f0ac +EBUILD wine-proton-8.0.3c.ebuild 11215 BLAKE2B 8712763fbb60efb62860a0511ab50b412466037cb4a888abc8d8aff1114bcca07ea6c98a8e6e59cdd048b2f9c352d8ec2a86b54a87942f9af3eb9d5167458e1d SHA512 472139158349310af399ddbeaf975d1b668a14b7779022fdcbbd22ed4e44ac0eeca86e348bec617a7fcacbb170af652fb58862ab4897014b3da2c6b8d67cb78a +EBUILD wine-proton-8.0.9999.ebuild 11275 BLAKE2B 2cc71b94cf649b3bc4cd4873ecb6bd7c4aa4d15235a26b5524f4cf70d284cb426e2914f1fe80b7584b80e4ee15afd63575cdbf3108f5c5a49f15b4fed1286a16 SHA512 04d9ec9711121a3e8b59a65144cf9e5de1210cff551a55c517d936bb4d0cd529f0e9c93811fa777caf238b2948a41bb534bf5e0ed69bc23680e0f4bf9cd61a5c MISC metadata.xml 1222 BLAKE2B 75e8a33a16e4d718c5299ae719cdd009e9ac6f0d2eafb112c9e38e7d860a51d7f4d5be14912c1c812718b36fd4d71a9d3ddf2c68f5a076fc71f5d47fab120736 SHA512 3fc770b9d6f1e7cb7cba7fc28f90d5f51ad431f38e757dcb47b03543985d0919e29b6648b8c3f6bb6e1c7b172bb164cde35e2fea24564e476088c1a91e6131c8 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 086837096042..294e5c9aab65 100644 --- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild +++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild @@ -5,8 +5,8 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) PYTHON_COMPAT=( python3_{10..12} ) -inherit autotools flag-o-matic multilib multilib-build python-any-r1 -inherit readme.gentoo-r1 toolchain-funcs wrapper +inherit autotools flag-o-matic multilib multilib-build prefix +inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper WINE_GECKO=2.47.3 WINE_MONO=7.4.0 @@ -158,6 +158,9 @@ src_prepare() { # similarly to staging, append to `wine --version` for identification sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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 @@ -263,7 +266,7 @@ src_configure() { # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` # crashes with -march=skylake >=wine-8.10, similar issues with # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx + use custom-cflags || append-cflags -mno-avx CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" : "${CROSSLDFLAGS:=$( filter-flags '-fuse-ld=*' diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild index e5ff1bbe7cce..3f2ba5ab1d26 100644 --- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild +++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild @@ -5,8 +5,8 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) PYTHON_COMPAT=( python3_{10..12} ) -inherit autotools flag-o-matic multilib multilib-build python-any-r1 -inherit readme.gentoo-r1 toolchain-funcs wrapper +inherit autotools flag-o-matic multilib multilib-build prefix +inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper WINE_GECKO=2.47.3 WINE_MONO=7.4.1 @@ -155,6 +155,9 @@ src_prepare() { # similarly to staging, append to `wine --version` for identification sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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 @@ -215,7 +218,11 @@ src_configure() { $(use_with xinerama) ) - tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097) + # builds with non-bfd but broken at runtime (bug #867097) + # TODO: retest mold and lld, and figure out what's wrong if + # still broken given (at least) lld is supposed to work + tc-ld-force-bfd + 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} @@ -265,7 +272,7 @@ src_configure() { # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` # crashes with -march=skylake >=wine-8.10, similar issues with # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx + use custom-cflags || append-cflags -mno-avx CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" : "${CROSSLDFLAGS:=$( filter-flags '-fuse-ld=*' diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild index d44d6d421587..68a943a8042e 100644 --- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild +++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild @@ -5,8 +5,8 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) PYTHON_COMPAT=( python3_{10..12} ) -inherit autotools flag-o-matic multilib multilib-build python-any-r1 -inherit readme.gentoo-r1 toolchain-funcs wrapper +inherit autotools flag-o-matic multilib multilib-build prefix +inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper WINE_GECKO=2.47.3 WINE_MONO=8.0.0 @@ -155,6 +155,9 @@ src_prepare() { # similarly to staging, append to `wine --version` for identification sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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 @@ -217,7 +220,11 @@ src_configure() { --without-vosk # unpackaged, file a bug if you need this ) - tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097) + # builds with non-bfd but broken at runtime (bug #867097) + # TODO: retest mold and lld, and figure out what's wrong if + # still broken given (at least) lld is supposed to work + tc-ld-force-bfd + 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} @@ -267,7 +274,7 @@ src_configure() { # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` # crashes with -march=skylake >=wine-8.10, similar issues with # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx + use custom-cflags || append-cflags -mno-avx CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" : "${CROSSLDFLAGS:=$( filter-flags '-fuse-ld=*' diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest index 12a1367d92bc..393865df107b 100644 --- a/app-emulation/wine-staging/Manifest +++ b/app-emulation/wine-staging/Manifest @@ -8,9 +8,9 @@ DIST wine-staging-8.0.tar.gz 9529620 BLAKE2B c9540195ea885d9f1e980232b0af471e92c DIST wine-staging-8.11.tar.gz 9715880 BLAKE2B 2795389381d6e52215d8b1b2c437a47beaf61e9b36e78f99c45b3fcd79d554f2d4abafcbf34c366dcb7ce4fc14d66b8751466c30648ae0d7c451aaa345c30c5f SHA512 fb7a5f575c092e84afa78868e3b15fa33d67205a5e20deae61a60613714df784b18d54cd32167355ae38543f047f4304bfbc7f2ba2b3f6050c9f738812a15154 DIST wine-staging-8.12.tar.gz 9764049 BLAKE2B 739c6dfdcef6e744fc7f6dcee24abdedd5f96b7ad688bdd5cc667627cec0b21d658354369ecc0de71a4ba682636e369105cef3de97dbf095f1ee1025d9a12fc2 SHA512 11364b2367e25706b98c168710288b796e9dea1e3400efc0d010ea8827cb8c4187385f53aebd1fda46611902f6619282ea97ce9d7c20fe18aa48c14f15c99d14 DIST wine-staging-8.13.tar.gz 9785058 BLAKE2B 6c797cd50276009cc23619447a70ac972b5c7ad7684d7bd99f20cd7607b88f911eb89f59df98680ef8786495f2f8ff2910c8bbd930d811bb31147aa230105ce1 SHA512 b2104b0893ba27ee7f4f5495f7dee990962ff668786fd95e11af6d3975b7d00bc4ecb2572f280d27fbb6d1672745e0acbdb392ec7b3fd5b330a846783c23e12d -EBUILD wine-staging-8.0.ebuild 11757 BLAKE2B 983c33bccc4407babf442e583cc5805d2612b17e00e12504cc38a9ea64d586fde11a00a243fab1279e5f4a4a0313eb0a376b813d95cdfb2c175be5ac57fd039c SHA512 3faea23a639ac0cae4f55516d29fa3a02b8ffbc21281a316ceb0ab5d6f8d22ef0336fc41fe72178dc30898c8c21b1bdf740cd4680e2a6ab24f8ad414dba04547 -EBUILD wine-staging-8.11-r1.ebuild 12076 BLAKE2B 830ead3b2a0c7b149e2ac7e8797b515e10aba4b4dee61c0d296c8b0bad3fb4a577c277aa35ccced03e9650ca33184625cb305f46562a26f33f8953c02fa573fb SHA512 565442c9383a0661693652cdc60fe0a9a4541756ae8645cddbca6ef8e619d8dcb5acf676ef18ed122025a4d642a6fb40cafd9ca49d1e1cbbb61cbd88aa9ae628 -EBUILD wine-staging-8.12.ebuild 12076 BLAKE2B 830ead3b2a0c7b149e2ac7e8797b515e10aba4b4dee61c0d296c8b0bad3fb4a577c277aa35ccced03e9650ca33184625cb305f46562a26f33f8953c02fa573fb SHA512 565442c9383a0661693652cdc60fe0a9a4541756ae8645cddbca6ef8e619d8dcb5acf676ef18ed122025a4d642a6fb40cafd9ca49d1e1cbbb61cbd88aa9ae628 -EBUILD wine-staging-8.13.ebuild 12076 BLAKE2B 830ead3b2a0c7b149e2ac7e8797b515e10aba4b4dee61c0d296c8b0bad3fb4a577c277aa35ccced03e9650ca33184625cb305f46562a26f33f8953c02fa573fb SHA512 565442c9383a0661693652cdc60fe0a9a4541756ae8645cddbca6ef8e619d8dcb5acf676ef18ed122025a4d642a6fb40cafd9ca49d1e1cbbb61cbd88aa9ae628 -EBUILD wine-staging-9999.ebuild 12076 BLAKE2B 830ead3b2a0c7b149e2ac7e8797b515e10aba4b4dee61c0d296c8b0bad3fb4a577c277aa35ccced03e9650ca33184625cb305f46562a26f33f8953c02fa573fb SHA512 565442c9383a0661693652cdc60fe0a9a4541756ae8645cddbca6ef8e619d8dcb5acf676ef18ed122025a4d642a6fb40cafd9ca49d1e1cbbb61cbd88aa9ae628 -MISC metadata.xml 2339 BLAKE2B 1b947010c803306d2e1a02e82c427461377651faf0fde13cc5ce5c6a08a9790f5699ad427f16f10c6057bcf9c53e707e4486e28bed6d0d27d23d3ec118d5f518 SHA512 aa5aa60a8488dcebb5f45c992cf77eef215b8559c2911cae4066c48fd8cd74f4d2029ba989cc65ed0200927f9fcd3b7b253b93003302d2b88230b035eb274ebb +EBUILD wine-staging-8.0.ebuild 11924 BLAKE2B 0e4562181251cd9844b940bb43dfa010e1867417086102b67be02492d1f28a579cd6b4c075de2cd00ccac65d2e69b451f95f17ba5559f581e57cbf8869a37bea SHA512 404a62047ff77551065f9109ad43c301f65744f07b33fbbfdd8cfe3a172a92956ab4d313ab2ddef1e1bfd00b39f3f4fd92dc308783ee1c6e5f221beabd28d5f4 +EBUILD wine-staging-8.11-r1.ebuild 12235 BLAKE2B f4b5947c95e11e2bfcb20c4c52e859501a8ceff4369ac52af4ab41829530c8ad98b07000e01285e6b53665a08c30828f294e743261526faeffa7022b44aefc4b SHA512 b9b009b867264879549a6d8bce9ef3da3b64bfbe61536ca3a6e17a547047ef3bcf448b7b9efc6524c1c6b02b77d0009ad8d6c18e2d52b851f80575f3f504f536 +EBUILD wine-staging-8.12.ebuild 12235 BLAKE2B f4b5947c95e11e2bfcb20c4c52e859501a8ceff4369ac52af4ab41829530c8ad98b07000e01285e6b53665a08c30828f294e743261526faeffa7022b44aefc4b SHA512 b9b009b867264879549a6d8bce9ef3da3b64bfbe61536ca3a6e17a547047ef3bcf448b7b9efc6524c1c6b02b77d0009ad8d6c18e2d52b851f80575f3f504f536 +EBUILD wine-staging-8.13.ebuild 13170 BLAKE2B f1c806debf31857bb49c3681fdd82d6b1f9488636816930fd12491182473267c8510f3987f0d56022df7dc45cc37b74b461d6605dbc0bccf8ce78176e3749b09 SHA512 042185b7516f9e6a5c2570c686844f1e2201a40734e1787c2d0a4ccb697c4eb0ed38bfe0b983196f9e320c527fbfecfcebbdfa17c5ed9235737235a6f19ac0b6 +EBUILD wine-staging-9999.ebuild 13170 BLAKE2B f1c806debf31857bb49c3681fdd82d6b1f9488636816930fd12491182473267c8510f3987f0d56022df7dc45cc37b74b461d6605dbc0bccf8ce78176e3749b09 SHA512 042185b7516f9e6a5c2570c686844f1e2201a40734e1787c2d0a4ccb697c4eb0ed38bfe0b983196f9e320c527fbfecfcebbdfa17c5ed9235737235a6f19ac0b6 +MISC metadata.xml 2534 BLAKE2B 9b25b0ade2b7b2ad5bbfa37e30c8e0a3756d8ea0a5430a8e76537e7e309987961b438022929b087c2cf262ac26ffaedfac48225ed22233ab94e5584daae4f7ce SHA512 1f07d61995be3634bb8c39861e0cd959b80a131e3f3a827dab486defff6cf75e29f36ef26be8e7747cfd6c348e9743c336fa452ae8406b238d7d3c6c15522911 diff --git a/app-emulation/wine-staging/metadata.xml b/app-emulation/wine-staging/metadata.xml index 3ef81511155b..455c48fd0a96 100644 --- a/app-emulation/wine-staging/metadata.xml +++ b/app-emulation/wine-staging/metadata.xml @@ -29,6 +29,11 @@ This variant of the Wine packaging includes the Wine-Staging patchset. <flag name="perl">Install helpers that require perl (winedump/winemaker)</flag> <flag name="samba">Pull in <pkg>net-fs/samba</pkg> with winbind for NTLM auth support</flag> <flag name="sdl">Enable gamepad support using <pkg>media-libs/libsdl2</pkg></flag> + <flag name="wow64"> + Enable running 32bit applications without 32bit ELF + multilib by mapping to 64bit calls (experimental, + USE=abi_x86_32 is recommended for complete support) + </flag> </use> <upstream> <bugs-to>https://bugs.winehq.org/describecomponents.cgi?product=Wine-staging</bugs-to> diff --git a/app-emulation/wine-staging/wine-staging-8.0.ebuild b/app-emulation/wine-staging/wine-staging-8.0.ebuild index c8412919b5a8..d5832e55b076 100644 --- a/app-emulation/wine-staging/wine-staging-8.0.ebuild +++ b/app-emulation/wine-staging/wine-staging-8.0.ebuild @@ -4,7 +4,8 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit autotools flag-o-matic multilib multilib-build toolchain-funcs wrapper +inherit autotools flag-o-matic multilib multilib-build +inherit prefix toolchain-funcs wrapper WINE_GECKO=2.47.3 WINE_MONO=7.4.0 @@ -203,6 +204,9 @@ src_prepare() { # 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 @@ -305,7 +309,7 @@ src_configure() { # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` # crashes with -march=skylake >=wine-8.10, similar issues with # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx + use custom-cflags || append-cflags -mno-avx CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" : "${CROSSLDFLAGS:=$( filter-flags '-fuse-ld=*' diff --git a/app-emulation/wine-staging/wine-staging-8.11-r1.ebuild b/app-emulation/wine-staging/wine-staging-8.11-r1.ebuild index 940bb93e3836..4c8102d89813 100644 --- a/app-emulation/wine-staging/wine-staging-8.11-r1.ebuild +++ b/app-emulation/wine-staging/wine-staging-8.11-r1.ebuild @@ -6,7 +6,7 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) PYTHON_COMPAT=( python3_{10..12} ) inherit autotools edo flag-o-matic multilib multilib-build -inherit python-any-r1 toolchain-funcs wrapper +inherit prefix python-any-r1 toolchain-funcs wrapper WINE_GECKO=2.47.4 WINE_MONO=8.0.0 @@ -217,6 +217,9 @@ src_prepare() { # 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 @@ -318,7 +321,7 @@ src_configure() { # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` # crashes with -march=skylake >=wine-8.10, similar issues with # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx + use custom-cflags || append-cflags -mno-avx CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" : "${CROSSLDFLAGS:=$( filter-flags '-fuse-ld=*' diff --git a/app-emulation/wine-staging/wine-staging-8.12.ebuild b/app-emulation/wine-staging/wine-staging-8.12.ebuild index 940bb93e3836..4c8102d89813 100644 --- a/app-emulation/wine-staging/wine-staging-8.12.ebuild +++ b/app-emulation/wine-staging/wine-staging-8.12.ebuild @@ -6,7 +6,7 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) PYTHON_COMPAT=( python3_{10..12} ) inherit autotools edo flag-o-matic multilib multilib-build -inherit python-any-r1 toolchain-funcs wrapper +inherit prefix python-any-r1 toolchain-funcs wrapper WINE_GECKO=2.47.4 WINE_MONO=8.0.0 @@ -217,6 +217,9 @@ src_prepare() { # 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 @@ -318,7 +321,7 @@ src_configure() { # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` # crashes with -march=skylake >=wine-8.10, similar issues with # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx + use custom-cflags || append-cflags -mno-avx CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" : "${CROSSLDFLAGS:=$( filter-flags '-fuse-ld=*' diff --git a/app-emulation/wine-staging/wine-staging-8.13.ebuild b/app-emulation/wine-staging/wine-staging-8.13.ebuild index 940bb93e3836..3a7cda74ca11 100644 --- a/app-emulation/wine-staging/wine-staging-8.13.ebuild +++ b/app-emulation/wine-staging/wine-staging-8.13.ebuild @@ -6,7 +6,7 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) PYTHON_COMPAT=( python3_{10..12} ) inherit autotools edo flag-o-matic multilib multilib-build -inherit python-any-r1 toolchain-funcs wrapper +inherit prefix python-any-r1 toolchain-funcs wrapper WINE_GECKO=2.47.4 WINE_MONO=8.0.0 @@ -37,11 +37,13 @@ IUSE=" llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer kerberos +mingw +mono netapi nls opencl +opengl osmesa pcap perl pulseaudio samba scanner +sdl selinux smartcard +ssl +strip - +truetype udev udisks +unwind usb v4l +vulkan wayland +xcomposite - xinerama" + +truetype udev udisks +unwind usb v4l +vulkan wayland wow64 + +xcomposite xinerama" +# bug #551124 for truetype REQUIRED_USE=" X? ( truetype ) - crossdev-mingw? ( mingw )" # bug #551124 for 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 @@ -108,7 +110,10 @@ RDEPEND=" games-emulation/dosbox-staging ) ) - gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] ) + 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? ( @@ -139,6 +144,7 @@ BDEPEND=" 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 )" @@ -161,7 +167,8 @@ pkg_pretend() { 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 + 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:" @@ -217,6 +224,9 @@ src_prepare() { # 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 @@ -232,9 +242,13 @@ src_configure() { --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) @@ -269,19 +283,56 @@ src_configure() { $(use_with xinerama) ) - tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097) + # builds with non-bfd but broken at runtime (bug #867097) + # TODO: retest mold and lld, and figure out what's wrong if + # still broken given (at least) lld is supposed to work + tc-ld-force-bfd + filter-lto # build failure - use mingw || filter-flags -fno-plt # 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 + if use mingw; then + use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH} + + filter-flags -fno-plt # build failure + + # 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="$( + filter-flags '-fstack-protector*' #870136 + filter-flags '-mfunction-return=thunk*' #878849 + + # -mavx with mingw-gcc has a history of obscure issues and + # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` + # crashes with -march=skylake >=wine-8.10, similar issues with + # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 + use custom-cflags || append-cflags -mno-avx + + CC=${mingwcc} test-flags-CC ${CFLAGS:--O2} + )" + + 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 ( @@ -290,10 +341,7 @@ src_configure() { 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+=( @@ -303,28 +351,6 @@ src_configure() { # _setup is optional, but use over Wine's auto-detect (+#472038) multilib_toolchain_setup x86 fi - : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}" - - if use mingw; then - # 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:=$( - filter-flags '-fstack-protector*' #870136 - filter-flags '-mfunction-return=thunk*' #878849 - # -mavx with mingw-gcc has a history of obscure issues and - # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` - # crashes with -march=skylake >=wine-8.10, similar issues with - # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx - CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" - : "${CROSSLDFLAGS:=$( - filter-flags '-fuse-ld=*' - CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}" - export CROSS{C,LD}FLAGS - fi ECONF_SOURCE=${S} econf "${conf[@]}" ) @@ -340,8 +366,13 @@ 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 + if use wow64; then + # compat symlinks, albeit ideally no one should call "wine64" + dosym wine ${WINE_PREFIX}/bin/wine64 + dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader + elif use abi_x86_64 && use !abi_x86_32; then + # if no 32bit support it instead only installs "wine64" which may + # come as unexpected, so provide "wine" alongside its man page dosym wine64 ${WINE_PREFIX}/bin/wine dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader local man @@ -379,6 +410,13 @@ src_install() { } 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 that the experimental USE=wow64 can allow 32bit without multilib." + fi + eselect wine update --if-unset || die } diff --git a/app-emulation/wine-staging/wine-staging-9999.ebuild b/app-emulation/wine-staging/wine-staging-9999.ebuild index 940bb93e3836..3a7cda74ca11 100644 --- a/app-emulation/wine-staging/wine-staging-9999.ebuild +++ b/app-emulation/wine-staging/wine-staging-9999.ebuild @@ -6,7 +6,7 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) PYTHON_COMPAT=( python3_{10..12} ) inherit autotools edo flag-o-matic multilib multilib-build -inherit python-any-r1 toolchain-funcs wrapper +inherit prefix python-any-r1 toolchain-funcs wrapper WINE_GECKO=2.47.4 WINE_MONO=8.0.0 @@ -37,11 +37,13 @@ IUSE=" llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer kerberos +mingw +mono netapi nls opencl +opengl osmesa pcap perl pulseaudio samba scanner +sdl selinux smartcard +ssl +strip - +truetype udev udisks +unwind usb v4l +vulkan wayland +xcomposite - xinerama" + +truetype udev udisks +unwind usb v4l +vulkan wayland wow64 + +xcomposite xinerama" +# bug #551124 for truetype REQUIRED_USE=" X? ( truetype ) - crossdev-mingw? ( mingw )" # bug #551124 for 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 @@ -108,7 +110,10 @@ RDEPEND=" games-emulation/dosbox-staging ) ) - gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] ) + 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? ( @@ -139,6 +144,7 @@ BDEPEND=" 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 )" @@ -161,7 +167,8 @@ pkg_pretend() { 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 + 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:" @@ -217,6 +224,9 @@ src_prepare() { # 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 @@ -232,9 +242,13 @@ src_configure() { --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) @@ -269,19 +283,56 @@ src_configure() { $(use_with xinerama) ) - tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097) + # builds with non-bfd but broken at runtime (bug #867097) + # TODO: retest mold and lld, and figure out what's wrong if + # still broken given (at least) lld is supposed to work + tc-ld-force-bfd + filter-lto # build failure - use mingw || filter-flags -fno-plt # 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 + if use mingw; then + use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH} + + filter-flags -fno-plt # build failure + + # 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="$( + filter-flags '-fstack-protector*' #870136 + filter-flags '-mfunction-return=thunk*' #878849 + + # -mavx with mingw-gcc has a history of obscure issues and + # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` + # crashes with -march=skylake >=wine-8.10, similar issues with + # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 + use custom-cflags || append-cflags -mno-avx + + CC=${mingwcc} test-flags-CC ${CFLAGS:--O2} + )" + + 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 ( @@ -290,10 +341,7 @@ src_configure() { 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+=( @@ -303,28 +351,6 @@ src_configure() { # _setup is optional, but use over Wine's auto-detect (+#472038) multilib_toolchain_setup x86 fi - : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}" - - if use mingw; then - # 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:=$( - filter-flags '-fstack-protector*' #870136 - filter-flags '-mfunction-return=thunk*' #878849 - # -mavx with mingw-gcc has a history of obscure issues and - # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` - # crashes with -march=skylake >=wine-8.10, similar issues with - # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx - CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" - : "${CROSSLDFLAGS:=$( - filter-flags '-fuse-ld=*' - CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}" - export CROSS{C,LD}FLAGS - fi ECONF_SOURCE=${S} econf "${conf[@]}" ) @@ -340,8 +366,13 @@ 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 + if use wow64; then + # compat symlinks, albeit ideally no one should call "wine64" + dosym wine ${WINE_PREFIX}/bin/wine64 + dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader + elif use abi_x86_64 && use !abi_x86_32; then + # if no 32bit support it instead only installs "wine64" which may + # come as unexpected, so provide "wine" alongside its man page dosym wine64 ${WINE_PREFIX}/bin/wine dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader local man @@ -379,6 +410,13 @@ src_install() { } 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 that the experimental USE=wow64 can allow 32bit without multilib." + fi + eselect wine update --if-unset || die } diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index dfd41590a80a..bd4789c5e15f 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -7,11 +7,11 @@ DIST wine-8.0.2.tar.xz 29060452 BLAKE2B dcffaba6c90c4e02a7bc591a81e11aced06c0063 DIST wine-8.11.tar.xz 29236492 BLAKE2B db97b9abde6e1f4c854b449d27bdbafbc91bd75b835d84da401777c6ae2f4f623f2130f470d2e9a3aaf7e737f75d143a07191d38b409c06596373bece3df23c5 SHA512 f3e37f51f0a13aacbd41b017fc3d35e197614b03c00f5b9959c0fabc4e89975b5c3f411b38329e45ce6f9d2a2d82952b95e0907fbe2d6ae35cc4bec293825769 DIST wine-8.12.tar.xz 29276732 BLAKE2B c1bf0d32eaf17f06b47dd7ffc495db4874f72ffec7cfca9edd9b2b9def8ab16db2583349950c3af447d85d476aa013914554f990d5f42d5bc8243b9effbaf869 SHA512 6b9eab7ca1ed5a13202b1250d8d95f6bd8ee5176f0c39b5358aedaf28f7f23543f4a73bf0782c3b4e50936813fc2a459582b5d294569c976ace784fbd9e0af1b DIST wine-8.13.tar.xz 29379824 BLAKE2B fa07edba8e45ef17813e63f793ca18cd05fd421b803d416421ec0fb7aeb4223ae44376a7e75a195e91c30259f27b48c3ed4ab0b613cbb9464b824f51e85ea240 SHA512 952c670635f91879cf6908343a04c0f41ae54e213123242e24fc282f9705fbe3b800dc1de454b6cfb1ebb89431b0e6eb3df3b094c1d9f4e69835d0f1b8f4fcb5 -EBUILD wine-vanilla-7.0.2.ebuild 10800 BLAKE2B e4cfdd976d435c77273888585d94100874043c0865e0db93f7f6d2f78ded0ca5d1500f2ac3afb6792d230c0e50ebd069b4ac65726d2e00a14bf94ff1458713be SHA512 1b5a919a9023ef7e0c01a9942f8bab1bd186d7faf4a9226c279d441fd991d2f5dc63a65381a7c884431d9267a8339e46e775546b5a046ac5e531fbd867dc35f1 -EBUILD wine-vanilla-8.0.1.ebuild 10818 BLAKE2B 8a1baeb0b48aaa82e61a75654d4c8fb59cddc2208753eaaba82a11fa7f9dacba2921be78bec86ed753e027c68fba4a8dd6942b384734244d802bfff59d6f0d8d SHA512 98788ebac348ee717c50c7f99693882ab14234d869798ff4402ed3912a6409d6071829dcc147c111ce906aa67fa2ffaa02253b3e25e2846ca93a974bf34484b0 -EBUILD wine-vanilla-8.0.2.ebuild 10892 BLAKE2B 6218ab6a2251b052ab809bd839f5285aaf9d253e97905368ef07059fa7e04a0523ecaa36b950f80ef6231fface574463e30d93952edd65be6e4ba97bef005722 SHA512 7b038adc259191f588344222098126610a4b844d320e724145a0ef8b5e882d484610407880094d09131c6d1206815612bb4295f5f869a5f73436907375d91688 -EBUILD wine-vanilla-8.11-r1.ebuild 11001 BLAKE2B 170aafaeb4b0dfab12dbf7a5843d37c0ac2bbd93040ec12e408b401bbbd107cd8f6e65a8bac3bd4a21fa6a113c4859391003c14ae344e45760f41ea92594d4c9 SHA512 f7bd217518a701f03e5459c0ab323d735872b4b1128a43e4650441e64834e7ce771a0ca95e5e2ecba4858b30ed36d0ff602cf8467d52b45afa37bc0123b0355d -EBUILD wine-vanilla-8.12.ebuild 11001 BLAKE2B 170aafaeb4b0dfab12dbf7a5843d37c0ac2bbd93040ec12e408b401bbbd107cd8f6e65a8bac3bd4a21fa6a113c4859391003c14ae344e45760f41ea92594d4c9 SHA512 f7bd217518a701f03e5459c0ab323d735872b4b1128a43e4650441e64834e7ce771a0ca95e5e2ecba4858b30ed36d0ff602cf8467d52b45afa37bc0123b0355d -EBUILD wine-vanilla-8.13.ebuild 11001 BLAKE2B 170aafaeb4b0dfab12dbf7a5843d37c0ac2bbd93040ec12e408b401bbbd107cd8f6e65a8bac3bd4a21fa6a113c4859391003c14ae344e45760f41ea92594d4c9 SHA512 f7bd217518a701f03e5459c0ab323d735872b4b1128a43e4650441e64834e7ce771a0ca95e5e2ecba4858b30ed36d0ff602cf8467d52b45afa37bc0123b0355d -EBUILD wine-vanilla-9999.ebuild 11001 BLAKE2B 170aafaeb4b0dfab12dbf7a5843d37c0ac2bbd93040ec12e408b401bbbd107cd8f6e65a8bac3bd4a21fa6a113c4859391003c14ae344e45760f41ea92594d4c9 SHA512 f7bd217518a701f03e5459c0ab323d735872b4b1128a43e4650441e64834e7ce771a0ca95e5e2ecba4858b30ed36d0ff602cf8467d52b45afa37bc0123b0355d -MISC metadata.xml 2406 BLAKE2B 3632339181cdc1fa339771f8d98fcd871930704a15acd4d91fff21964ce31f6892bf980c563851efda257503930adecaf6c8311c81ac16de66908127d2d5a1e7 SHA512 94f9ee47e3dd04f0908f6a0fa934ed64b74b906b89010717aa3180078edc2391fac54987fd4ab12aa25fa5891399a205c5ccd7b852ab7bb3814f16851b25ab38 +EBUILD wine-vanilla-7.0.2.ebuild 10967 BLAKE2B bb7d128114fe10630ad356de3be55ec24efcb23b78d07de69ac2bca936dd16ea6a8846d1abd2a878ce989eec8a13b31504f74a9cd9de8a3ceab796845f063140 SHA512 c3ae177905e552f1d83bdc298d8f1fe36812ee11352e27998861eb7e92aa8acf52de5576c42700fd803b10747f1c3f14357e394a2f6fac49d867337a131e9d27 +EBUILD wine-vanilla-8.0.1.ebuild 10985 BLAKE2B 7b93e79599ebcf73c6fc743ffd3fe883e495505627ee77ebce11cd2b726503c3668dbe49483378fcb6918f1698e5bd4f59ab48c270564877fe56288c4482cbe0 SHA512 d5a2df24f0102283086831bd3eac762f5d8d0d6e3b784f3648b383a98c2346c324f09d851b20ce5ad9f21487a3a720cb6f049b1437186e80e24fbec3ad581a50 +EBUILD wine-vanilla-8.0.2.ebuild 11059 BLAKE2B 7a9da133c7eb9402d6fd96a907cf9cb7fae17e12f960839628ceea2f01ace53a3c20217eba0ad9857b65c5536c0a40baacad43049757a9f1883b0300e884badd SHA512 228319c47c2f9962aa12edde4eaec14da3142f00f80b5546b03dec93749c5be030339abc123ebe328cc57b423d75a51770b1b9ae68410d5eb245f0b2563a586d +EBUILD wine-vanilla-8.11-r1.ebuild 11168 BLAKE2B aa9617531bb05bc9fc27881772062da0982ece732a269adcb7b09a31b9e63ffef84bf795c10a34d1475d7a3c52910bd0012652bb2f4875365b0fb0d8e853984a SHA512 fb6cf93d21420a893a20d5738a4f57e9530eeb7af4a2080667b29820a8d1a1f87e3f48075b90e3ed4705eaf65af72e5982a6300579fe321d1f34e15d4e5e40c2 +EBUILD wine-vanilla-8.12.ebuild 11168 BLAKE2B aa9617531bb05bc9fc27881772062da0982ece732a269adcb7b09a31b9e63ffef84bf795c10a34d1475d7a3c52910bd0012652bb2f4875365b0fb0d8e853984a SHA512 fb6cf93d21420a893a20d5738a4f57e9530eeb7af4a2080667b29820a8d1a1f87e3f48075b90e3ed4705eaf65af72e5982a6300579fe321d1f34e15d4e5e40c2 +EBUILD wine-vanilla-8.13.ebuild 12103 BLAKE2B 3905dad0cff9feb25e4b5aaebf10b2169b4b40b1e962d930834c7f3a51d14921cb69cebd77a5e5da16dc807d81ca917f1848c685334871d076a9125be8339f5b SHA512 9500db758da61237e41d1ff3a938c0a48e6664f12a50c0a3ae73535aaf3e7caba867fffa174efdd4e41a4380c9a1c7c3ce653f8947540bec5d5b36930b3028c2 +EBUILD wine-vanilla-9999.ebuild 12103 BLAKE2B 3905dad0cff9feb25e4b5aaebf10b2169b4b40b1e962d930834c7f3a51d14921cb69cebd77a5e5da16dc807d81ca917f1848c685334871d076a9125be8339f5b SHA512 9500db758da61237e41d1ff3a938c0a48e6664f12a50c0a3ae73535aaf3e7caba867fffa174efdd4e41a4380c9a1c7c3ce653f8947540bec5d5b36930b3028c2 +MISC metadata.xml 2601 BLAKE2B 7ea5c29a376394f61536668a7a675f6206bad0e3abdd07b361d8652189ccc81e9b508c60c22994c520927686ec20b81ca50de9da39718ffc594c71e16745985a SHA512 286b346dd6785331f26b75c0437b4cd90f2d8041b6b7d079f0ce9d39b55de45fab8ae2823a4550f2f95312de491e7cdbe29e0ee34d283303523cd22f489b6641 diff --git a/app-emulation/wine-vanilla/metadata.xml b/app-emulation/wine-vanilla/metadata.xml index c9f0e02fc1eb..08f1c1fa3035 100644 --- a/app-emulation/wine-vanilla/metadata.xml +++ b/app-emulation/wine-vanilla/metadata.xml @@ -30,6 +30,11 @@ This variant of the Wine packaging does not include external patchsets <flag name="samba">Pull in <pkg>net-fs/samba</pkg> with winbind for NTLM auth support</flag> <flag name="sdl">Enable gamepad support using <pkg>media-libs/libsdl2</pkg></flag> <flag name="vkd3d">Enable DirectX 12 support using <pkg>app-emulation/vkd3d</pkg></flag> + <flag name="wow64"> + Enable running 32bit applications without 32bit ELF + multilib by mapping to 64bit calls (experimental, + USE=abi_x86_32 is recommended for complete support) + </flag> </use> <upstream> <bugs-to>https://bugs.winehq.org/describecomponents.cgi?product=Wine</bugs-to> 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 fe54aab83894..31bb2a4e7fdf 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild @@ -4,7 +4,8 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit autotools flag-o-matic multilib multilib-build toolchain-funcs wrapper +inherit autotools flag-o-matic multilib multilib-build +inherit prefix toolchain-funcs wrapper WINE_GECKO=2.47.2 WINE_MONO=7.0.0 @@ -173,6 +174,9 @@ src_prepare() { # 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 @@ -271,7 +275,7 @@ src_configure() { # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` # crashes with -march=skylake >=wine-8.10, similar issues with # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx + use custom-cflags || append-cflags -mno-avx CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" : "${CROSSLDFLAGS:=$( filter-flags '-fuse-ld=*' diff --git a/app-emulation/wine-vanilla/wine-vanilla-8.0.1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-8.0.1.ebuild index 6aa6458e6edd..289ad34feeb6 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-8.0.1.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-8.0.1.ebuild @@ -4,7 +4,8 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit autotools flag-o-matic multilib multilib-build toolchain-funcs wrapper +inherit autotools flag-o-matic multilib multilib-build +inherit prefix toolchain-funcs wrapper WINE_GECKO=2.47.3 WINE_MONO=7.4.0 @@ -171,6 +172,9 @@ src_prepare() { # 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 @@ -273,7 +277,7 @@ src_configure() { # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` # crashes with -march=skylake >=wine-8.10, similar issues with # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx + use custom-cflags || append-cflags -mno-avx CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" : "${CROSSLDFLAGS:=$( filter-flags '-fuse-ld=*' diff --git a/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild index 4603de37abfd..155c0a95a312 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild @@ -4,7 +4,8 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit autotools flag-o-matic multilib multilib-build toolchain-funcs wrapper +inherit autotools flag-o-matic multilib multilib-build +inherit prefix toolchain-funcs wrapper WINE_GECKO=2.47.3 WINE_MONO=7.4.0 @@ -171,6 +172,9 @@ src_prepare() { # 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 @@ -273,7 +277,7 @@ src_configure() { # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` # crashes with -march=skylake >=wine-8.10, similar issues with # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx + use custom-cflags || append-cflags -mno-avx CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" : "${CROSSLDFLAGS:=$( filter-flags '-fuse-ld=*' diff --git a/app-emulation/wine-vanilla/wine-vanilla-8.11-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-8.11-r1.ebuild index 11ed198a2f98..28ee8cb167cc 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-8.11-r1.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-8.11-r1.ebuild @@ -4,7 +4,8 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit autotools flag-o-matic multilib multilib-build toolchain-funcs wrapper +inherit autotools flag-o-matic multilib multilib-build +inherit prefix toolchain-funcs wrapper WINE_GECKO=2.47.4 WINE_MONO=8.0.0 @@ -175,6 +176,9 @@ src_prepare() { # 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 @@ -277,7 +281,7 @@ src_configure() { # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` # crashes with -march=skylake >=wine-8.10, similar issues with # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx + use custom-cflags || append-cflags -mno-avx CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" : "${CROSSLDFLAGS:=$( filter-flags '-fuse-ld=*' diff --git a/app-emulation/wine-vanilla/wine-vanilla-8.12.ebuild b/app-emulation/wine-vanilla/wine-vanilla-8.12.ebuild index 11ed198a2f98..28ee8cb167cc 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-8.12.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-8.12.ebuild @@ -4,7 +4,8 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit autotools flag-o-matic multilib multilib-build toolchain-funcs wrapper +inherit autotools flag-o-matic multilib multilib-build +inherit prefix toolchain-funcs wrapper WINE_GECKO=2.47.4 WINE_MONO=8.0.0 @@ -175,6 +176,9 @@ src_prepare() { # 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 @@ -277,7 +281,7 @@ src_configure() { # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` # crashes with -march=skylake >=wine-8.10, similar issues with # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx + use custom-cflags || append-cflags -mno-avx CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" : "${CROSSLDFLAGS:=$( filter-flags '-fuse-ld=*' diff --git a/app-emulation/wine-vanilla/wine-vanilla-8.13.ebuild b/app-emulation/wine-vanilla/wine-vanilla-8.13.ebuild index 11ed198a2f98..6a19271a4121 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-8.13.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-8.13.ebuild @@ -4,7 +4,8 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit autotools flag-o-matic multilib multilib-build toolchain-funcs wrapper +inherit autotools flag-o-matic multilib multilib-build +inherit prefix toolchain-funcs wrapper WINE_GECKO=2.47.4 WINE_MONO=8.0.0 @@ -31,11 +32,13 @@ IUSE=" llvm-libunwind custom-cflags +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 +xcomposite - xinerama" + +truetype udev udisks +unwind usb v4l +vulkan wayland wow64 + +xcomposite xinerama" +# bug #551124 for truetype REQUIRED_USE=" X? ( truetype ) - crossdev-mingw? ( mingw )" # bug #551124 for 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 @@ -103,7 +106,10 @@ RDEPEND=" games-emulation/dosbox-staging ) ) - gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] ) + 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? ( @@ -125,6 +131,7 @@ BDEPEND=" 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 )" @@ -146,7 +153,8 @@ pkg_pretend() { 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 + 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:" @@ -175,6 +183,9 @@ src_prepare() { # 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 @@ -190,9 +201,13 @@ src_configure() { --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) @@ -228,19 +243,56 @@ src_configure() { $(usev !odbc ac_cv_lib_soname_odbc=) ) - tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097) + # builds with non-bfd but broken at runtime (bug #867097) + # TODO: retest mold and lld, and figure out what's wrong if + # still broken given (at least) lld is supposed to work + tc-ld-force-bfd + filter-lto # build failure - use mingw || filter-flags -fno-plt # 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 + if use mingw; then + use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH} + + filter-flags -fno-plt # build failure + + # 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="$( + filter-flags '-fstack-protector*' #870136 + filter-flags '-mfunction-return=thunk*' #878849 + + # -mavx with mingw-gcc has a history of obscure issues and + # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` + # crashes with -march=skylake >=wine-8.10, similar issues with + # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 + use custom-cflags || append-cflags -mno-avx + + CC=${mingwcc} test-flags-CC ${CFLAGS:--O2} + )" + + 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 ( @@ -249,10 +301,7 @@ src_configure() { 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+=( @@ -262,28 +311,6 @@ src_configure() { # _setup is optional, but use over Wine's auto-detect (+#472038) multilib_toolchain_setup x86 fi - : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}" - - if use mingw; then - # 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:=$( - filter-flags '-fstack-protector*' #870136 - filter-flags '-mfunction-return=thunk*' #878849 - # -mavx with mingw-gcc has a history of obscure issues and - # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` - # crashes with -march=skylake >=wine-8.10, similar issues with - # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx - CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" - : "${CROSSLDFLAGS:=$( - filter-flags '-fuse-ld=*' - CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}" - export CROSS{C,LD}FLAGS - fi ECONF_SOURCE=${S} econf "${conf[@]}" ) @@ -299,8 +326,13 @@ 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 + if use wow64; then + # compat symlinks, albeit ideally no one should call "wine64" + dosym wine ${WINE_PREFIX}/bin/wine64 + dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader + elif use abi_x86_64 && use !abi_x86_32; then + # if no 32bit support it instead only installs "wine64" which may + # come as unexpected, so provide "wine" alongside its man page dosym wine64 ${WINE_PREFIX}/bin/wine dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader local man @@ -338,6 +370,13 @@ src_install() { } 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 that the experimental USE=wow64 can allow 32bit without multilib." + fi + eselect wine update --if-unset || die } diff --git a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild index 11ed198a2f98..6a19271a4121 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild @@ -4,7 +4,8 @@ EAPI=8 MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit autotools flag-o-matic multilib multilib-build toolchain-funcs wrapper +inherit autotools flag-o-matic multilib multilib-build +inherit prefix toolchain-funcs wrapper WINE_GECKO=2.47.4 WINE_MONO=8.0.0 @@ -31,11 +32,13 @@ IUSE=" llvm-libunwind custom-cflags +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 +xcomposite - xinerama" + +truetype udev udisks +unwind usb v4l +vulkan wayland wow64 + +xcomposite xinerama" +# bug #551124 for truetype REQUIRED_USE=" X? ( truetype ) - crossdev-mingw? ( mingw )" # bug #551124 for 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 @@ -103,7 +106,10 @@ RDEPEND=" games-emulation/dosbox-staging ) ) - gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] ) + 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? ( @@ -125,6 +131,7 @@ BDEPEND=" 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 )" @@ -146,7 +153,8 @@ pkg_pretend() { 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 + 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:" @@ -175,6 +183,9 @@ src_prepare() { # 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 @@ -190,9 +201,13 @@ src_configure() { --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) @@ -228,19 +243,56 @@ src_configure() { $(usev !odbc ac_cv_lib_soname_odbc=) ) - tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097) + # builds with non-bfd but broken at runtime (bug #867097) + # TODO: retest mold and lld, and figure out what's wrong if + # still broken given (at least) lld is supposed to work + tc-ld-force-bfd + filter-lto # build failure - use mingw || filter-flags -fno-plt # 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 + if use mingw; then + use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH} + + filter-flags -fno-plt # build failure + + # 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="$( + filter-flags '-fstack-protector*' #870136 + filter-flags '-mfunction-return=thunk*' #878849 + + # -mavx with mingw-gcc has a history of obscure issues and + # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` + # crashes with -march=skylake >=wine-8.10, similar issues with + # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 + use custom-cflags || append-cflags -mno-avx + + CC=${mingwcc} test-flags-CC ${CFLAGS:--O2} + )" + + 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 ( @@ -249,10 +301,7 @@ src_configure() { 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+=( @@ -262,28 +311,6 @@ src_configure() { # _setup is optional, but use over Wine's auto-detect (+#472038) multilib_toolchain_setup x86 fi - : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}" - - if use mingw; then - # 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:=$( - filter-flags '-fstack-protector*' #870136 - filter-flags '-mfunction-return=thunk*' #878849 - # -mavx with mingw-gcc has a history of obscure issues and - # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` - # crashes with -march=skylake >=wine-8.10, similar issues with - # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 - append-cflags -mno-avx - CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}" - : "${CROSSLDFLAGS:=$( - filter-flags '-fuse-ld=*' - CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}" - export CROSS{C,LD}FLAGS - fi ECONF_SOURCE=${S} econf "${conf[@]}" ) @@ -299,8 +326,13 @@ 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 + if use wow64; then + # compat symlinks, albeit ideally no one should call "wine64" + dosym wine ${WINE_PREFIX}/bin/wine64 + dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader + elif use abi_x86_64 && use !abi_x86_32; then + # if no 32bit support it instead only installs "wine64" which may + # come as unexpected, so provide "wine" alongside its man page dosym wine64 ${WINE_PREFIX}/bin/wine dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader local man @@ -338,6 +370,13 @@ src_install() { } 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 that the experimental USE=wow64 can allow 32bit without multilib." + fi + eselect wine update --if-unset || die } |