summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/Manifest.gzbin15311 -> 15301 bytes
-rw-r--r--app-emulation/wine-proton/Manifest2
-rw-r--r--app-emulation/wine-proton/metadata.xml7
-rw-r--r--app-emulation/wine-staging/Manifest18
-rw-r--r--app-emulation/wine-staging/metadata.xml7
-rw-r--r--app-emulation/wine-staging/wine-staging-8.0.ebuild399
-rw-r--r--app-emulation/wine-staging/wine-staging-8.21.ebuild466
-rw-r--r--app-emulation/wine-staging/wine-staging-9.0.ebuild3
-rw-r--r--app-emulation/wine-staging/wine-staging-9.1.ebuild3
-rw-r--r--app-emulation/wine-staging/wine-staging-9.2.ebuild3
-rw-r--r--app-emulation/wine-staging/wine-staging-9.3.ebuild3
-rw-r--r--app-emulation/wine-staging/wine-staging-9999.ebuild3
-rw-r--r--app-emulation/wine-vanilla/Manifest2
-rw-r--r--app-emulation/wine-vanilla/metadata.xml7
14 files changed, 30 insertions, 893 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz
index 01477f280515..0efd56b1a0d5 100644
--- a/app-emulation/Manifest.gz
+++ b/app-emulation/Manifest.gz
Binary files differ
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index f3105dccaeee..7dc4a22215ad 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -15,4 +15,4 @@ EBUILD wine-proton-8.0.4.ebuild 12191 BLAKE2B 52012f33cf665f915bfa6e86d73727862b
EBUILD wine-proton-8.0.5c.ebuild 12316 BLAKE2B 33035edca356091865ab26c2355cc7cf5d0d509699fb1e12226c5fff3ac608d4909ace1dfa802789f81992a6b0c0dfc397514dcc4e3e94a29c24ea93efbdd633 SHA512 b5c2f44f48e09258b81240b7b4b545b5c4d283416fd083d97faffb1ecc2937c25973a687c48900eaae5fda08f2d451af5bce482f4beeb39cafd7025df1da72cb
EBUILD wine-proton-8.0.9999.ebuild 12376 BLAKE2B bc65e631edfc12ab8f86f4bbb74bf12337ccff6da5357c182bd63a8214e51072eaef566a4847435bab2520b3eef8d16caba30b9e4a42de112a4d251cc2b15342 SHA512 4796664c55b7ff0b20c8015a20828606ca8f08215bb8f4e9c03bc7b8adb86b755bf923be277e99646f64e99d0cf3a1434426f86dd5b0f5c248ac2dc22e5e3a71
EBUILD wine-proton-9.0.9999.ebuild 13484 BLAKE2B 82de343c4faf7e6aada72ffdf7ac52206bfd3432b0f0f34b75e6c001b0353e83e26be9281af301d6dcf86c77aa99e8a3c21a268544e4280354ca3a591ce49958 SHA512 d2f75869288714c2e709aa43815ec4b05adb9b6eaa3681da545e06429b1a285ff58ba423515556a851579c6b8d00e4c36539be690e7208e5b2627d937bf1fb0c
-MISC metadata.xml 1528 BLAKE2B 7f7a6ed659838e294adb23bc9855249b2c659ef7c1d8e13e81c9f2ea84723080ae0e4ec94be60449f074b5e35fff9969927f3e27c8a85b8a3457bd58e3fe0674 SHA512 64e6bb278f461c3bcfe4da1ecefbd8e94ed43734d29ac20f7fe8b9f2e1ce16ccfc4937cf83eab57252d5cce3f96a585882c3e30a5a1d511052b6d5c74c001ecf
+MISC metadata.xml 1591 BLAKE2B 172bfb9a6cf7d1acb62b933e3940ab795465133eab869b59efb18d3e11a8c7009d7ba11279dbb17e66272140d3080c7b0fc1392078473e3dd059f7f351829d8a SHA512 ddd13e0cd9d6180c1401637dbb14028bea9c04bda94d9331c1a60a5c308fac070ea4eee8c35162f01383591b25738bafb98d1ab5b2d5825b9de5889e0c26359a
diff --git a/app-emulation/wine-proton/metadata.xml b/app-emulation/wine-proton/metadata.xml
index 16afd8a54c41..2e414ed41543 100644
--- a/app-emulation/wine-proton/metadata.xml
+++ b/app-emulation/wine-proton/metadata.xml
@@ -23,9 +23,10 @@
<flag name="wow64">
Enable running 32bit applications without 32bit ELF
multilib by mapping to 64bit calls (experimental,
- may have worse OpenGL performance or other issues
- compared to USE=abi_x86_32) -- still requires (just)
- <pkg>dev-util/mingw64-toolchain</pkg> with abi_x86_32
+ may have slightly worse OpenGL performance or other
+ issues compared to USE=abi_x86_32, also lacks 16bit
+ support) -- still need <pkg>dev-util/mingw64-toolchain</pkg>
+ with abi_x86_32 which itself does not need multilib
</flag>
</use>
<upstream>
diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest
index b7561b2ddb80..a76c14973c60 100644
--- a/app-emulation/wine-staging/Manifest
+++ b/app-emulation/wine-staging/Manifest
@@ -1,23 +1,17 @@
AUX wine-staging-7.17-noexecstack.patch 223 BLAKE2B 6e6cfc208f11c2c2b7bbc392e3703c50669ba9abf088dac0dd7aa8d6e59fcdd6656f5ad6955e4ef87c25d6f4082d83af71a09b2928934222b25847b8b2b5089f SHA512 43fc5c50c33e09f028c2369a660499fbb6c240931c6b7d44c4e838deee1df0390706967b375d36ee8eea339e86a5af1c7a49a76d884860c045c3476d8c8d2a5f
AUX wine-staging-7.20-unwind.patch 1450 BLAKE2B 80e9222c95393aaa4b95e05597a4181030fc988d95e416d2f92631f29f640b9abb3dd0853d005de4725b41c09224e478741902075259d48a30830a923790579f SHA512 e1a72f1463be32975daa02064acb96189cd79cb41ff98f89b58e46c97100a3ac46405b1b9982378c9de275acbdb74168853e47b932e06398cdd2981b23f483ce
AUX wine-staging-8.13-rpath.patch 554 BLAKE2B 209d8c581a9178242ee622338c5252f79b798cf5574f72b3984d71b7933e011b488060502715aa75630fbc3d10fcb03743ac31ed31664cacfc22b725253a117b SHA512 bbb25e02d19bd7c1a1f2d7db331d93cfcd5ce9172206ad9e19a44c52e5ece865d474eac024c2a5791dfa006c6efe0f68cd783ffc925ac793bf447d56090bdd02
-DIST wine-8.0.tar.xz 29054044 BLAKE2B baf8f96b665119c9f38a148a2472dbe8f6ca8d4641d9d09d48cb72cb4de2585c274b8b7981c2fa622ead6da2f087c57652e9b48edc8a17c0cfd6be9a36732f02 SHA512 53ba813b260a65a271ec575822725b97631f60038fb026dcc0fe66862711eedcc29a8feb29ff54ae4f64458f85c290d8f3838eff5e4c77a5420a7d2b951fef77
-DIST wine-8.21.tar.xz 29919212 BLAKE2B 2e1c135d1c247f4b268c0323538748944b01fe65c82dee27d81f70613aa2fe632c1b4d696f05838a6ab801579a4d13a191de0f4c1a2e2222d40ca767499a98c3 SHA512 4d04d40141d2ea5e548b76aed870ac28d8a03241ffd4e761979c795310baa19136e54a8e518c6ea9bf563c3b23d3c4eb1baefc9906d7eeca469e9942ff99dc40
DIST wine-9.0.tar.xz 30007216 BLAKE2B cf53177201a2f7eeb35d0d8ce220f80808d979099a928ad60652d1dee92620c433cc105dffab4e9309f41766087ad1544ef49d2922538bb420d62f6dd64117a1 SHA512 838daf2c4581f83f8573b988036f517d57b84894b090a2a17433255d6d044dfa880e6724cdb83082a36c333df9d2083ab68ae53927622a620edd59f33462ada4
DIST wine-9.1.tar.xz 30028220 BLAKE2B 92d4bbaf02b414b657351fb51cb3d3a5a267ab9242a3effc8296fa73b540e23dce534d4e3e82b492f4b8539ce459b40e6d44f6708da4e5585ab2afb22045b8cf SHA512 12ec508b1e457a94391ab3072ed602ff07da2e5beb4bbe4f76e42d71e87f7fa11f6531f1f1c71e96e884b10a99240a9eaf999867479b8eeadf3576df46e0a73a
DIST wine-9.2.tar.xz 30062580 BLAKE2B f7deac8b89d99df3cb5ff264c2cc572b696a5885051753263dabceedbf27298d7bec5d96e0047d8d3b6c401608ad0ddd384bb1e2b48f698bdee331e2895e48f9 SHA512 9bffc10e573cc0ee0aaa37b09dda642c64c1456e39518256e39a752dc249e67283dece865cdb3e495b0950553a0dc004d906ecfc032c8fff936f3ef71c2d1a0d
DIST wine-9.3.tar.xz 30098792 BLAKE2B fa6f0c73f0886918b035557a37c0553feeea5692ae15e8d67fc4360c59c1bbab9f7f93e58ae29a41800da50b961b49957cf2d060d6b5da34bd956bf7cb3e5fab SHA512 3d75a0e1360765aca453d120e1f47fb50716119f3cab2be1176003a19bba31a6affae4a845840ce52665d97e0edd46dc78a13462d6d6a7e861cd970a0a3d4d1d
-DIST wine-staging-8.0.tar.gz 9529620 BLAKE2B c9540195ea885d9f1e980232b0af471e92c61eb079cae35fdb3af5c13d4660b3466f751772440e38f15874082db296d16d1f1d68827a505b2dd949617eda0203 SHA512 76a729d7ced1ff634ddb455ddfaa66ca103b652f43cd152b57ada7431bb5fbb74f5e92bf2f4f329b6df6f5908130afad84e609cbce6df645d6cf8131e9b949f9
-DIST wine-staging-8.21.tar.gz 9669500 BLAKE2B 600ad4b5696a38adefbde2fb9f51623dc7a7d9249ba15ceddcf1062040d840064285c6d2602266fd90f3658f0bdfe2fbca6a486f40e6e3f317fe704553ce39c7 SHA512 abba6084f2aefa8507c2a79c688b717f8137375168e5457ee40a0c96bfce31e9dc44370ecb5a8e8a397e90ce2eb8543fd07b447bf48c4b2d4c68aac9b3674214
DIST wine-staging-9.0.tar.gz 9577631 BLAKE2B 0012978f54c618e73d407dd49dccff02853912d0c015098889802518e8c51b280f5d60e11291335dafc68944ee01cbcb7fd6c5825ef10ae1520c7b82d9846718 SHA512 362209fcadcf029152b681c76beb231d0cc8de1609b994094f1dc88ab871fddda08b3d8c2fe36ceb38909a9d634c1ade864ca0f28a6a7715ec286a8b2884981f
DIST wine-staging-9.1.tar.gz 9650475 BLAKE2B d5ef171f5314c3d980bf3404b4a7e51b57e8320fb3b08c42231078816b821b6a019e9d0dc2b11607d6f74bc7ab7c495166acafdc3c093136a44c9716084d7e9e SHA512 070e09acf8bca60a4f2512874f48f653cc03a7fcfcfef34b4f292731d49e0670a5cf69557c268fc5dc11f0a7a8e0e7347d9665b98e6bb47e0521e3fe164ff118
DIST wine-staging-9.2.tar.gz 9662465 BLAKE2B 6b78558c9b4ff5d6afb1e44163e35bef2bd56c4dd492262e479d191490dd97a2a008e6c4d8b6f5a4305e1195781519e5cee94eb2c80ab76e87a522127c692e1b SHA512 9b04e1359c1b485fabc7de5b3e685f8e8b8f60951b0168484aaaecce9e524df45813edfdf4a6f3b1b69bffee4e3ba4c5b7eeabcdf260f1409d1d72f0e9a00cd0
DIST wine-staging-9.3.tar.gz 9672031 BLAKE2B 9613d3ac8aab4208e1f4392e7fdf0f673a6159751665b2f0ab868b9140edaf32f1d4bbb5efe75458e4cce910385ebe6cec2b898f172bd0e0de87bdc675bfe221 SHA512 56a92cd8bbc1ba7fda9fea9d998efac44d2a805d4ebb4253a37ecff8edd51852773f848556935f05418f488698e1ec4cc52a79327f7f5d77390af90f95f9bdf6
-EBUILD wine-staging-8.0.ebuild 12784 BLAKE2B 4f3cc62c2834489d51bef78cecd10e8311a9d9c4982062da46c4248f183ce78eaaac84ea779335926c99464b7c2e873a36d90bf1a2a18f7e5589811e2203e93c SHA512 ddd4f828c7c5ab6eceb07b80415b1d211907476ff856ae21ce2bfabc64736bc7f08c7054565b4fb621373f38ffc4597d733696063abb87ac7b8c74e68c0dcc7b
-EBUILD wine-staging-8.21.ebuild 14935 BLAKE2B a12b9d717d706e140950d2e74365717511ede5991ee5b669b7e212424cf254948f8679b6265606ec43f4af7780a022735f5f39f9914b0c62d5d364126451d7cf SHA512 4d89fe2f770f5a7c76257b78003281bd73bf9822c567526703bdc47ff9b34ea3d76a55723c5bc12facac684d50b077b57a2b55bd08aac7a0d0759c1fed1da14f
-EBUILD wine-staging-9.0.ebuild 14647 BLAKE2B d8d9efa99a7a4198b19f5927329ecbcced227a433441f07a08f889b953513a9471e68c2aff9522514bcb3704161af1d60e9d934431051a91a5f935680dbaaabc SHA512 9546288049de1c3ecec39b274e3d6797bf0f16e3435bfb9c032a2d329f8f9bca8ff6263fe694ce42032bf700c52949ebcb68720e75e4cc682e3840a471234ea9
-EBUILD wine-staging-9.1.ebuild 14777 BLAKE2B ed50e1eceed51fec964d390a52d1d29c588e023f7355e8802d7ed2e2ca2b5237582828da6f3ba39c4a60c4b08a15f499b04ae064d843c008dede36abdafd079b SHA512 23c964575bba58ff76a0b5b567edc93197e98b0bf6a9a27fd19a81da87b51ac7e41b7284af6d606f95ddaf58e61c4ac7c1ef3cef40368cc1c7af7eb3b596e180
-EBUILD wine-staging-9.2.ebuild 14777 BLAKE2B f4917eabd72e0d5f0973ab155a69b56a4594b4a2caf66fc9bea1cfa082a0f7df7897699c8e8e1aa8e29d38519734d241c20d9bb1a1ed305e52011d873d42fe54 SHA512 2702a2196d46f804db3c85c892559386224793150258808614a19b72f3675e32d61dfb43cd273a28ade286d64d742f5f362b288efc6f427b483c4a3ff5f716dc
-EBUILD wine-staging-9.3.ebuild 14777 BLAKE2B f4917eabd72e0d5f0973ab155a69b56a4594b4a2caf66fc9bea1cfa082a0f7df7897699c8e8e1aa8e29d38519734d241c20d9bb1a1ed305e52011d873d42fe54 SHA512 2702a2196d46f804db3c85c892559386224793150258808614a19b72f3675e32d61dfb43cd273a28ade286d64d742f5f362b288efc6f427b483c4a3ff5f716dc
-EBUILD wine-staging-9999.ebuild 14777 BLAKE2B f4917eabd72e0d5f0973ab155a69b56a4594b4a2caf66fc9bea1cfa082a0f7df7897699c8e8e1aa8e29d38519734d241c20d9bb1a1ed305e52011d873d42fe54 SHA512 2702a2196d46f804db3c85c892559386224793150258808614a19b72f3675e32d61dfb43cd273a28ade286d64d742f5f362b288efc6f427b483c4a3ff5f716dc
-MISC metadata.xml 2594 BLAKE2B 13e3de45c997289498e6a99a5e473b9fa28afe40b05ca554279aa7977acb03a7cb8cd2f203443ad346633125637d93e120b7bbe315ff5a1b0c25873681982a2b SHA512 2b7b2ebaeeb90c33607b405921738ece7a24713e0cdbe907f8447a37b2250d0f12a7b020ba5e81af2caf904650a05e2d2b845bd28c60a80355d125cca1f914d9
+EBUILD wine-staging-9.0.ebuild 14648 BLAKE2B 08d1a0a4a5b0fdc9ecec8364cd276387b3111a4cee854e8afd4d14f39effcad670968af9599aa87dffbd791c925e04c1e39cd4e7d2e1410a206d8a0c6f8bf238 SHA512 1eae32a3f97e9e896caa89a03c744497587bab8f97c50ad13b6d3c278f5f162daaf0a3166d7b60fcab1030983edbe41b3cd9d9369d2e6ad35b2479f8c8f147a5
+EBUILD wine-staging-9.1.ebuild 14778 BLAKE2B e0623645c1f727c5808b9fe4d8834ba3d9430401a7bb2c28f650d529498e950024183dc40ae3e70e8a68125977d92cfb028e599a7bf7f0c763ddc29538b7d228 SHA512 008d5ae51f8d404205e9513ade3c43014d306204c62efb5a2f6bb511adac60638a106c804c0a8533cf710c30961fe0693d2fdb76d2022b744b9f0159a18baca7
+EBUILD wine-staging-9.2.ebuild 14778 BLAKE2B 8ecd0cf88eb8db9478c512daca77f7893aefaf077705df4b0f923f3a6c0f1f6105b30471a8f4b3a0dc865a6c147037a5172b19933b0a3e4bb400d158450ce434 SHA512 bce1ca7de432da9b838d58d1deb2c0ac2be295c22d790ceb04cd15cf42fe6dc6bafcd77a697c163f5ca52e20ec7478adfbbf5b38daf41fe828cb78c28d3fce26
+EBUILD wine-staging-9.3.ebuild 14778 BLAKE2B 8ecd0cf88eb8db9478c512daca77f7893aefaf077705df4b0f923f3a6c0f1f6105b30471a8f4b3a0dc865a6c147037a5172b19933b0a3e4bb400d158450ce434 SHA512 bce1ca7de432da9b838d58d1deb2c0ac2be295c22d790ceb04cd15cf42fe6dc6bafcd77a697c163f5ca52e20ec7478adfbbf5b38daf41fe828cb78c28d3fce26
+EBUILD wine-staging-9999.ebuild 14778 BLAKE2B 8ecd0cf88eb8db9478c512daca77f7893aefaf077705df4b0f923f3a6c0f1f6105b30471a8f4b3a0dc865a6c147037a5172b19933b0a3e4bb400d158450ce434 SHA512 bce1ca7de432da9b838d58d1deb2c0ac2be295c22d790ceb04cd15cf42fe6dc6bafcd77a697c163f5ca52e20ec7478adfbbf5b38daf41fe828cb78c28d3fce26
+MISC metadata.xml 2657 BLAKE2B 81b0c8b7f88b71d1b5303145a2074e7a9c3f476dbb117ee25903777743b9535fbd6b379048a926522771e2673b947be52cfd3d26c4bc613959478206e97f001a SHA512 b989213a806721f3dbd7b8bfec7db8c7c7f8d3320d6871d27c47c705b236054ee1f59b12f830da27472bfa0f4406eaa3b4b7970a4cab1d5ee775d0076891fa92
diff --git a/app-emulation/wine-staging/metadata.xml b/app-emulation/wine-staging/metadata.xml
index 492b95e98827..cf4b9875b106 100644
--- a/app-emulation/wine-staging/metadata.xml
+++ b/app-emulation/wine-staging/metadata.xml
@@ -31,9 +31,10 @@ This variant of the Wine packaging includes the Wine-Staging patchset.
<flag name="wow64">
Enable running 32bit applications without 32bit ELF
multilib by mapping to 64bit calls (experimental,
- may have worse OpenGL performance or other issues
- compared to USE=abi_x86_32) -- still requires (just)
- <pkg>dev-util/mingw64-toolchain</pkg> with abi_x86_32
+ may have slightly worse OpenGL performance or other
+ issues compared to USE=abi_x86_32, also lacks 16bit
+ support) -- still need <pkg>dev-util/mingw64-toolchain</pkg>
+ with abi_x86_32 which itself does not need multilib
</flag>
</use>
<upstream>
diff --git a/app-emulation/wine-staging/wine-staging-8.0.ebuild b/app-emulation/wine-staging/wine-staging-8.0.ebuild
deleted file mode 100644
index f851c01b3b71..000000000000
--- a/app-emulation/wine-staging/wine-staging-8.0.ebuild
+++ /dev/null
@@ -1,399 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-inherit autotools flag-o-matic multilib multilib-build
-inherit prefix toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=7.4.0
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
- WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
-else
- (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
- SRC_URI="
- https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz
- https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="-* ~amd64 ~x86"
-fi
-S="${WORKDIR}/wine-${PV}"
-
-DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
-HOMEPAGE="
- https://wiki.winehq.org/Wine-Staging
- https://gitlab.winehq.org/wine/wine-staging/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
- +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
- llvm-libunwind debug custom-cflags +fontconfig +gecko gphoto2
- +gstreamer kerberos +mingw +mono netapi nls odbc opencl +opengl
- osmesa pcap perl pulseaudio samba scanner +sdl selinux +ssl
- +truetype udev udisks +unwind usb v4l +vulkan +xcomposite xinerama"
-REQUIRED_USE="
- X? ( truetype )
- crossdev-mingw? ( mingw )" # bug #551124 for truetype
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- X? (
- x11-libs/libXcursor[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/libXi[${MULTILIB_USEDEP}]
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-libs/libXrender[${MULTILIB_USEDEP}]
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
- opengl? (
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
- )
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
- )
- cups? ( net-print/cups[${MULTILIB_USEDEP}] )
- fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
- netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
- odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
- truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )"
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- X? (
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- )
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
- capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- )
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
- pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
- scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
- !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
- )
- usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- dos? (
- || (
- games-emulation/dosbox
- games-emulation/dosbox-staging
- )
- )
- gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- samba? ( net-fs/samba[winbind] )
- selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- sys-kernel/linux-headers
- X? ( x11-base/xorg-proto )"
-BDEPEND="
- dev-lang/perl
- sys-devel/binutils
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- mingw? ( !crossdev-mingw? (
- >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
- ) )
- nls? ( sys-devel/gettext )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- __clear_cache # unused on amd64+x86 (bug #900334)
- res_getservers # false positive
-)
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.17-noexecstack.patch
- "${FILESDIR}"/${PN}-7.20-unwind.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local mingw=-w64-mingw32
- for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
- if ! type -P ${mingw}-gcc >/dev/null; then
- eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
- eerror "yourself by installing sys-devel/crossdev then running:"
- eerror
- eerror " crossdev --target ${mingw}"
- eerror
- eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
- die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
- fi
- done
- fi
-}
-
-src_unpack() {
- if [[ ${PV} == *9999 ]]; then
- EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
- git-r3_src_unpack
-
- EGIT_COMMIT=$("${BASH}" "${EGIT_CHECKOUT_DIR}"/patches/patchinstall.sh --upstream-commit) || die
- EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
- EGIT_CHECKOUT_DIR=${S}
- einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
- git-r3_src_unpack
- else
- default
- fi
-}
-
-src_prepare() {
- local staging=(
- ./patchinstall.sh DESTDIR="${S}"
- --all
- --backend=eapply
- --no-autoconf
- -W winemenubuilder-Desktop_Icon_Path #652176
- ${MY_WINE_STAGING_CONF}
- )
-
- # source patcher in a subshell so can use eapply as a backend
- ebegin "Running ${staging[*]}"
- ( cd ../${P}/patches && . "${staging[@]}" )
- eend ${?} || die "Failed to apply the patchset"
-
- # sanity check, bumping these has a history of oversights
- local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
- dlls/appwiz.cpl/addons.c || die)
- if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
- local gmfatal=
- [[ ${PV} == *9999 ]] && gmfatal=nonfatal
- ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
- fi
-
- default
-
- if tc-is-clang; then
- if use mingw; then
- # -mabi=ms was ignored by <clang:16 then turned error in :17
- # if used without --target *-windows, then gets used in install
- # phase despite USE=mingw, drop as a quick fix for now
- sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
- else
- # ./configure will fail, abort early
- die "building ${PN} with clang is only supported with USE=mingw"
- fi
- fi
-
- # ensure .desktop calls this variant + slot
- sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
- # datadir is not where wine-mono is installed, so prefixy alternate paths
- hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
-
- # always update for patches (including user's wrt #432348)
- eautoreconf
- tools/make_requests || die # perl
- # tip: if need more for user patches, with portage can e.g. do
- # echo "post_src_prepare() { tools/make_specfiles || die; }" \
- # > /etc/portage/env/app-emulation/wine-staging
-}
-
-src_configure() {
- WINE_PREFIX=/usr/lib/${P}
- WINE_DATADIR=/usr/share/${P}
-
- local conf=(
- --prefix="${EPREFIX}"${WINE_PREFIX}
- --datadir="${EPREFIX}"${WINE_DATADIR}
- --includedir="${EPREFIX}"/usr/include/${P}
- --libdir="${EPREFIX}"${WINE_PREFIX}
- --mandir="${EPREFIX}"${WINE_DATADIR}/man
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- --disable-tests
- $(use_with X x)
- $(use_with alsa)
- $(use_with capi)
- $(use_with cups)
- $(use_with fontconfig)
- $(use_with gphoto2 gphoto)
- $(use_with gstreamer)
- $(use_with kerberos gssapi)
- $(use_with kerberos krb5)
- $(use_with mingw)
- $(use_with netapi)
- $(use_with nls gettext)
- $(use_with opencl)
- $(use_with opengl)
- $(use_with osmesa)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pcap)
- $(use_with pulseaudio pulse)
- $(use_with scanner sane)
- $(use_with sdl)
- $(use_with ssl gnutls)
- $(use_with truetype freetype)
- $(use_with udev)
- $(use_with udisks dbus) # dbus is only used for udisks
- $(use_with unwind)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with vulkan)
- $(use_with xcomposite)
- $(use_with xinerama)
- $(usev !odbc ac_cv_lib_soname_odbc=)
- )
-
- tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
- filter-lto # build failure
- use custom-cflags || strip-flags # can break in obscure ways at runtime
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
- # https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
- append-ldflags -fuse-ld=bfd
-
- # build using upstream's way (--with-wine64)
- # order matters: configure+compile 64->32, install 32->64
- local -i bits
- for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
- (
- einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
-
- mkdir ../build${bits} || die
- cd ../build${bits} || die
-
- pe_arch=i386
- if (( bits == 64 )); then
- pe_arch=x86_64
- : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
- conf+=( --enable-win64 )
- elif use amd64; then
- conf+=(
- $(usev abi_x86_64 --with-wine64=../build64)
- TARGETFLAGS=-m32 # for widl
- )
- # _setup is optional, but use over Wine's auto-detect (+#472038)
- multilib_toolchain_setup x86
- fi
- : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
- 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:=$(
- # >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
- append-cflags -fno-strict-aliasing
-
- 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 #912268
-
- 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[@]}"
- )
- done
-}
-
-src_compile() {
- use abi_x86_64 && emake -C ../build64 # do first
- use abi_x86_32 && emake -C ../build32
-}
-
-src_install() {
- use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
- use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
-
- # symlink for plain 'wine' and install its man pages if 64bit-only #404331
- if use abi_x86_64 && use !abi_x86_32; then
- dosym wine64 ${WINE_PREFIX}/bin/wine
- dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
- local man
- for man in ../build64/loader/wine.*man; do
- : "${man##*/wine}"
- : "${_%.*}"
- insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
- newins ${man} wine.1
- done
- fi
-
- use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
- "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
-
- # create variant wrappers for eselect-wine
- local bin
- for bin in "${ED}"${WINE_PREFIX}/bin/*; do
- make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
- done
-
- # don't let portage try to strip PE files with the wrong
- # strip executable and instead handle it here (saves ~120MB)
- if use mingw; then
- dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
- use debug ||
- find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
- -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
- fi
-
- dodoc ANNOUNCE AUTHORS README* documentation/README*
-}
-
-pkg_postinst() {
- if use abi_x86_32 && { use opengl || use vulkan; } &&
- has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
- then
- ewarn "x11-drivers/nvidia-drivers is installed but is built without"
- ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
- ewarn "applications under ${PN} will likely not be usable."
- fi
-
- eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
- eselect wine update --if-unset || die
-}
diff --git a/app-emulation/wine-staging/wine-staging-8.21.ebuild b/app-emulation/wine-staging/wine-staging-8.21.ebuild
deleted file mode 100644
index fee2fc010537..000000000000
--- a/app-emulation/wine-staging/wine-staging-8.21.ebuild
+++ /dev/null
@@ -1,466 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools edo flag-o-matic multilib multilib-build
-inherit prefix python-any-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.4
-WINE_MONO=8.1.0
-WINE_P=wine-$(ver_cut 1-2)
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
- WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
-else
- (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
- SRC_URI="
- https://dl.winehq.org/wine/source/${WINE_SDIR}/${WINE_P}.tar.xz
- https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="-* ~amd64 ~x86"
-fi
-S="${WORKDIR}/${WINE_P}"
-
-DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
-HOMEPAGE="
- https://wiki.winehq.org/Wine-Staging
- https://gitlab.winehq.org/wine/wine-staging/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
- +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
- llvm-libunwind custom-cflags +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 wow64
- +xcomposite xinerama"
-# bug #551124 for truetype
-# TODO: wow64 can be done without mingw if using clang (needs bug #912237)
-REQUIRED_USE="
- X? ( truetype )
- crossdev-mingw? ( mingw )
- wow64? ( abi_x86_64 !abi_x86_32 mingw )"
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- X? (
- x11-libs/libXcursor[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/libXi[${MULTILIB_USEDEP}]
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-libs/libXrender[${MULTILIB_USEDEP}]
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
- opengl? (
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
- )
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
- )
- cups? ( net-print/cups[${MULTILIB_USEDEP}] )
- fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
- netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
- truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )"
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- X? (
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- )
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
- capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- )
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
- pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
- scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
- smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
- !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
- )
- usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
- wayland? (
- dev-libs/wayland[${MULTILIB_USEDEP}]
- x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
- )"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- dos? (
- || (
- games-emulation/dosbox
- games-emulation/dosbox-staging
- )
- )
- gecko? (
- app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
- wow64? ( app-emulation/wine-gecko[abi_x86_32] )
- )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- samba? ( net-fs/samba[winbind] )
- selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- sys-kernel/linux-headers
- X? ( x11-base/xorg-proto )"
-# gitapply.sh prefers git but can fallback to patch+extras
-BDEPEND="
- ${PYTHON_DEPS}
- || (
- dev-vcs/git
- (
- sys-apps/gawk
- sys-apps/util-linux
- )
- )
- || (
- sys-devel/binutils
- sys-devel/lld
- )
- dev-lang/perl
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- mingw? ( !crossdev-mingw? (
- >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
- wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
- ) )
- nls? ( sys-devel/gettext )
- wayland? ( dev-util/wayland-scanner )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- __clear_cache # unused on amd64+x86 (bug #900334)
- res_getservers # false positive
-)
-QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/odbc32.so" # has no compiled objects
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.17-noexecstack.patch
- "${FILESDIR}"/${PN}-7.20-unwind.patch
- "${FILESDIR}"/${PN}-8.13-rpath.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local mingw=-w64-mingw32
- for mingw in $(usev abi_x86_64 x86_64${mingw}) \
- $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
- if ! type -P ${mingw}-gcc >/dev/null; then
- eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
- eerror "yourself by installing sys-devel/crossdev then running:"
- eerror
- eerror " crossdev --target ${mingw}"
- eerror
- eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
- die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
- fi
- done
- fi
-}
-
-src_unpack() {
- if [[ ${PV} == *9999 ]]; then
- EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
- git-r3_src_unpack
-
- # hack: use subshell to preserve state (including what git-r3 unpack
- # sets) for smart-live-rebuild as this is not the repo to look at
- (
- EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
- EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
- EGIT_CHECKOUT_DIR=${S}
- einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
- git-r3_src_unpack
- )
- else
- default
- fi
-}
-
-src_prepare() {
- local patchinstallargs=(
- --all
- --no-autoconf
- # patches known broken with USE=-mingw, retry occasionally (bug #921360)
- $(usev !mingw '
- -W winedevice-Default_Drivers
- -W fltmgr.sys-FltBuildDefaultSecurityDescriptor
- ')
- ${MY_WINE_STAGING_CONF}
- )
-
- edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
-
- # sanity check, bumping these has a history of oversights
- local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
- dlls/appwiz.cpl/addons.c || die)
- if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
- local gmfatal=
- [[ ${PV} == *9999 ]] && gmfatal=nonfatal
- ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
- fi
-
- default
-
- if tc-is-clang; then
- if use mingw; then
- # -mabi=ms was ignored by <clang:16 then turned error in :17
- # if used without --target *-windows, then gets used in install
- # phase despite USE=mingw, drop as a quick fix for now
- sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
- else
- # fails in ./configure unless --enable-archs is passed, allow to
- # bypass with EXTRA_ECONF but is currently considered unsupported
- # (by Gentoo) as additional work is needed for (proper) support
- # note: also fails w/ :17, but unsure if safe to drop w/o mingw
- [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
- die "building ${PN} with clang is only supported with USE=mingw"
- fi
- fi
-
- # ensure .desktop calls this variant + slot
- sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
- # datadir is not where wine-mono is installed, so prefixy alternate paths
- hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
-
- # always update for patches (including user's wrt #432348)
- eautoreconf
- tools/make_requests || die # perl
- # tip: if need more for user patches, with portage can e.g. do
- # echo "post_src_prepare() { tools/make_specfiles || die; }" \
- # > /etc/portage/env/app-emulation/wine-staging
-}
-
-src_configure() {
- WINE_PREFIX=/usr/lib/${P}
- WINE_DATADIR=/usr/share/${P}
-
- local conf=(
- --prefix="${EPREFIX}"${WINE_PREFIX}
- --datadir="${EPREFIX}"${WINE_DATADIR}
- --includedir="${EPREFIX}"/usr/include/${P}
- --libdir="${EPREFIX}"${WINE_PREFIX}
- --mandir="${EPREFIX}"${WINE_DATADIR}/man
-
- $(usev wow64 --enable-archs=x86_64,i386)
-
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- --disable-tests
-
- $(use_with X x)
- $(use_with alsa)
- $(use_with capi)
- $(use_with cups)
- $(use_with fontconfig)
- $(use_with gphoto2 gphoto)
- $(use_with gstreamer)
- $(use_with kerberos gssapi)
- $(use_with kerberos krb5)
- $(use_with mingw)
- $(use_with netapi)
- $(use_with nls gettext)
- $(use_with opencl)
- $(use_with opengl)
- $(use_with osmesa)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pcap)
- $(use_with pulseaudio pulse)
- $(use_with scanner sane)
- $(use_with sdl)
- $(use_with smartcard pcsclite)
- $(use_with ssl gnutls)
- $(use_with truetype freetype)
- $(use_with udev)
- $(use_with udisks dbus) # dbus is only used for udisks
- $(use_with unwind)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with vulkan)
- $(use_with wayland)
- $(use_with xcomposite)
- $(use_with xinerama)
- )
-
- filter-lto # build failure
- use custom-cflags || strip-flags # can break in obscure ways at runtime
-
- # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
- # (do self test until https://github.com/gentoo/gentoo/pull/28355)
- if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
- then
- has_version -b sys-devel/binutils &&
- append-ldflags -fuse-ld=bfd ||
- append-ldflags -fuse-ld=lld
- strip-unsupported-flags
- fi
-
- if use mingw; then
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # CROSSCC was formerly recognized by wine, thus been using similar
- # variables (subject to change, esp. if ever make a mingw.eclass).
- local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
- local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
- local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
-
- conf+=(
- ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
- ac_cv_prog_i386_CC="${mingwcc_x86}"
-
- CROSSCFLAGS="${CROSSCFLAGS:-$(
- filter-flags '-fstack-protector*' #870136
- filter-flags '-mfunction-return=thunk*' #878849
-
- # -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 #912268
-
- CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
- )}"
-
- CROSSLDFLAGS="${CROSSLDFLAGS:-$(
- filter-flags '-fuse-ld=*'
-
- CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
- )}"
- )
- fi
-
- # order matters with multilib: configure+compile 64->32, install 32->64
- local -i bits
- for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
- (
- einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
-
- mkdir ../build${bits} || die
- cd ../build${bits} || die
-
- if (( bits == 64 )); then
- conf+=( --enable-win64 )
- elif use amd64; then
- conf+=(
- $(usev abi_x86_64 --with-wine64=../build64)
- TARGETFLAGS=-m32 # for widl
- )
- # _setup is optional, but use over Wine's auto-detect (+#472038)
- multilib_toolchain_setup x86
- fi
-
- ECONF_SOURCE=${S} econf "${conf[@]}"
- )
- done
-}
-
-src_compile() {
- use abi_x86_64 && emake -C ../build64 # do first
- use abi_x86_32 && emake -C ../build32
-}
-
-src_install() {
- use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
- use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
-
- # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
- # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
- # one or the other could be missing and that is unexpected for users
- # and some tools like winetricks)
- if use abi_x86_64; then
- if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
- dosym wine64 ${WINE_PREFIX}/bin/wine
- dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
-
- # also install wine(1) man pages (incl. translations)
- local man
- for man in ../build64/loader/wine.*man; do
- : "${man##*/wine}"
- : "${_%.*}"
- insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
- newins ${man} wine.1
- done
- elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
- dosym wine ${WINE_PREFIX}/bin/wine64
- dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
- fi
- fi
-
- use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
- "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
-
- # create variant wrappers for eselect-wine
- local bin
- for bin in "${ED}"${WINE_PREFIX}/bin/*; do
- make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
- done
-
- if use mingw; then
- # don't let portage try to strip PE files with the wrong
- # strip executable and instead handle it here (saves ~120MB)
- dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
-
- if use strip; then
- ebegin "Stripping Windows (PE) binaries"
- find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
- -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
- eend ${?} || die
- fi
- fi
-
- dodoc ANNOUNCE AUTHORS README* documentation/README*
-}
-
-pkg_postinst() {
- if use !abi_x86_32 && use !wow64; then
- ewarn "32bit support is disabled. While 64bit applications themselves will"
- ewarn "work, be warned that it is not unusual that installers or other helpers"
- ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
- ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
- elif use abi_x86_32 && { use opengl || use vulkan; } &&
- has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
- then
- ewarn "x11-drivers/nvidia-drivers is installed but is built without"
- ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
- ewarn "applications under ${PN} will likely not be usable."
- fi
-
- eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
- eselect wine update --if-unset || die
-}
diff --git a/app-emulation/wine-staging/wine-staging-9.0.ebuild b/app-emulation/wine-staging/wine-staging-9.0.ebuild
index bc8e31eca376..690bb4e4dc33 100644
--- a/app-emulation/wine-staging/wine-staging-9.0.ebuild
+++ b/app-emulation/wine-staging/wine-staging-9.0.ebuild
@@ -23,7 +23,6 @@ else
https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="-* ~amd64 ~x86"
fi
-S="${WORKDIR}/${WINE_P}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
HOMEPAGE="
@@ -31,6 +30,8 @@ HOMEPAGE="
https://gitlab.winehq.org/wine/wine-staging/
"
+S="${WORKDIR}/${WINE_P}"
+
LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
SLOT="${PV}"
IUSE="
diff --git a/app-emulation/wine-staging/wine-staging-9.1.ebuild b/app-emulation/wine-staging/wine-staging-9.1.ebuild
index 51b9fa2f2d1f..5b678ff26992 100644
--- a/app-emulation/wine-staging/wine-staging-9.1.ebuild
+++ b/app-emulation/wine-staging/wine-staging-9.1.ebuild
@@ -23,7 +23,6 @@ else
https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="-* ~amd64 ~x86"
fi
-S="${WORKDIR}/${WINE_P}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
HOMEPAGE="
@@ -31,6 +30,8 @@ HOMEPAGE="
https://gitlab.winehq.org/wine/wine-staging/
"
+S="${WORKDIR}/${WINE_P}"
+
LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
SLOT="${PV}"
IUSE="
diff --git a/app-emulation/wine-staging/wine-staging-9.2.ebuild b/app-emulation/wine-staging/wine-staging-9.2.ebuild
index 662ff1444ee7..d47f91ceb1aa 100644
--- a/app-emulation/wine-staging/wine-staging-9.2.ebuild
+++ b/app-emulation/wine-staging/wine-staging-9.2.ebuild
@@ -23,7 +23,6 @@ else
https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="-* ~amd64 ~x86"
fi
-S="${WORKDIR}/${WINE_P}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
HOMEPAGE="
@@ -31,6 +30,8 @@ HOMEPAGE="
https://gitlab.winehq.org/wine/wine-staging/
"
+S="${WORKDIR}/${WINE_P}"
+
LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
SLOT="${PV}"
IUSE="
diff --git a/app-emulation/wine-staging/wine-staging-9.3.ebuild b/app-emulation/wine-staging/wine-staging-9.3.ebuild
index 662ff1444ee7..d47f91ceb1aa 100644
--- a/app-emulation/wine-staging/wine-staging-9.3.ebuild
+++ b/app-emulation/wine-staging/wine-staging-9.3.ebuild
@@ -23,7 +23,6 @@ else
https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="-* ~amd64 ~x86"
fi
-S="${WORKDIR}/${WINE_P}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
HOMEPAGE="
@@ -31,6 +30,8 @@ HOMEPAGE="
https://gitlab.winehq.org/wine/wine-staging/
"
+S="${WORKDIR}/${WINE_P}"
+
LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
SLOT="${PV}"
IUSE="
diff --git a/app-emulation/wine-staging/wine-staging-9999.ebuild b/app-emulation/wine-staging/wine-staging-9999.ebuild
index 662ff1444ee7..d47f91ceb1aa 100644
--- a/app-emulation/wine-staging/wine-staging-9999.ebuild
+++ b/app-emulation/wine-staging/wine-staging-9999.ebuild
@@ -23,7 +23,6 @@ else
https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="-* ~amd64 ~x86"
fi
-S="${WORKDIR}/${WINE_P}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
HOMEPAGE="
@@ -31,6 +30,8 @@ HOMEPAGE="
https://gitlab.winehq.org/wine/wine-staging/
"
+S="${WORKDIR}/${WINE_P}"
+
LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
SLOT="${PV}"
IUSE="
diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest
index 24c2588f4c53..7a4c10740c54 100644
--- a/app-emulation/wine-vanilla/Manifest
+++ b/app-emulation/wine-vanilla/Manifest
@@ -15,4 +15,4 @@ EBUILD wine-vanilla-9.1.ebuild 13528 BLAKE2B 69e3aeab1161ad16b7e6150cc72f09a5445
EBUILD wine-vanilla-9.2.ebuild 13528 BLAKE2B 16278b3acc69f68a50eab33e6a98d5a9eaebb65e08bd1d6eb58f6a040dc8a1d2e02c5730f9ba1f070f9f0c97c0584baca52f00240e9132557cf4eb9a3a985047 SHA512 0bce1057382bd4387e3eadde22126dbbc60ec01a8099c47a33c5e1a5b5d7ae332b3ffb47f896d78bdccdca5e4f2e223b504225f26f1e9a3794ed354a7eab408a
EBUILD wine-vanilla-9.3.ebuild 13528 BLAKE2B 16278b3acc69f68a50eab33e6a98d5a9eaebb65e08bd1d6eb58f6a040dc8a1d2e02c5730f9ba1f070f9f0c97c0584baca52f00240e9132557cf4eb9a3a985047 SHA512 0bce1057382bd4387e3eadde22126dbbc60ec01a8099c47a33c5e1a5b5d7ae332b3ffb47f896d78bdccdca5e4f2e223b504225f26f1e9a3794ed354a7eab408a
EBUILD wine-vanilla-9999.ebuild 13528 BLAKE2B 16278b3acc69f68a50eab33e6a98d5a9eaebb65e08bd1d6eb58f6a040dc8a1d2e02c5730f9ba1f070f9f0c97c0584baca52f00240e9132557cf4eb9a3a985047 SHA512 0bce1057382bd4387e3eadde22126dbbc60ec01a8099c47a33c5e1a5b5d7ae332b3ffb47f896d78bdccdca5e4f2e223b504225f26f1e9a3794ed354a7eab408a
-MISC metadata.xml 2661 BLAKE2B 1e62db8bd53d07c696e7b64fce4fa444f7ce27feddf4b4be775e11de095527ca1f8308618b17f488d0b23ff75872fd9b70b256a14c49dfe0f33db81b6e43fa57 SHA512 f0d889a19a037d127363036c7b71468ca9aa7532dab1293e8558ecdcfa82e5f9bc52a7f8dd4a035ac5aa3c14fc9bce3ea28bcb1912157dcc4404fcd77c339ec8
+MISC metadata.xml 2724 BLAKE2B 76def9c10767353af6f9575a974597ed3adfa6fec1064348bccea46ca32258f7d737f4040e4dfd271331586bd425fc0d36e9918ad745c2554e8f828e812772b7 SHA512 7ff4025cbfc89d9f8cb9336685e4efd7cf89e0938d17fb951a59f03c504cb8eab9da53328f965f506c406525e14c5ad2b922ca6f72c60702bb54dd680e0be27a
diff --git a/app-emulation/wine-vanilla/metadata.xml b/app-emulation/wine-vanilla/metadata.xml
index d8858da76906..c7b47d52f1a8 100644
--- a/app-emulation/wine-vanilla/metadata.xml
+++ b/app-emulation/wine-vanilla/metadata.xml
@@ -32,9 +32,10 @@ This variant of the Wine packaging does not include external patchsets
<flag name="wow64">
Enable running 32bit applications without 32bit ELF
multilib by mapping to 64bit calls (experimental,
- may have worse OpenGL performance or other issues
- compared to USE=abi_x86_32) -- still requires (just)
- <pkg>dev-util/mingw64-toolchain</pkg> with abi_x86_32
+ may have slightly worse OpenGL performance or other
+ issues compared to USE=abi_x86_32, also lacks 16bit
+ support) -- still need <pkg>dev-util/mingw64-toolchain</pkg>
+ with abi_x86_32 which itself does not need multilib
</flag>
</use>
<upstream>