From 770d63f36dbe1722e0ff9ab55eeca49986f01527 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 15 Feb 2025 00:13:03 +0000 Subject: gentoo auto-resync : 15:02:2025 - 00:13:02 --- app-emulation/wine-vanilla/Manifest | 16 +- .../files/wine-vanilla-10.0-binutils2.44.patch | 105 ++++++ .../files/wine-vanilla-7.0-unwind.patch | 40 --- app-emulation/wine-vanilla/metadata.xml | 1 - .../wine-vanilla/wine-vanilla-10.0.ebuild | 1 + .../wine-vanilla/wine-vanilla-10.1.ebuild | 1 + .../wine-vanilla/wine-vanilla-7.0.2.ebuild | 394 --------------------- .../wine-vanilla/wine-vanilla-8.0.2.ebuild | 3 +- app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild | 3 +- .../wine-vanilla/wine-vanilla-9999.ebuild | 26 +- 10 files changed, 121 insertions(+), 469 deletions(-) create mode 100644 app-emulation/wine-vanilla/files/wine-vanilla-10.0-binutils2.44.patch delete mode 100644 app-emulation/wine-vanilla/files/wine-vanilla-7.0-unwind.patch delete mode 100644 app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild (limited to 'app-emulation/wine-vanilla') diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index 8d9a293c69e5..c79baee704d0 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -1,16 +1,14 @@ +AUX wine-vanilla-10.0-binutils2.44.patch 4104 BLAKE2B 607821c8066161b611e01caa8d9754373e0726e1569ed3cd854bf61ec279d89a89e4e001e269b8c7da1b711e2ab2e6166709d6cc6f330c4d4ab96ed32f5fa8f9 SHA512 475b2ed549f39ae6b9381e644eae1e2a067bc9d7f2b48341458e3475e70c7eb5256a597dc87581b2d9253752f801fd9c4121d0ced8dfccc879b026abea48697d AUX wine-vanilla-7.0-noexecstack.patch 223 BLAKE2B dff1867e2977bd14fcfab9dfa2c2f1d3288f7edca75ddd7c9f02bfd06e9f63fac37bd59ea8aa891e13ab77bac35b369825d5490a9175ed9a7736e523b61d8944 SHA512 4ba3677042b693e513fc7a133c76a509f63d0ca20633d1e8d448bca9534c0d1a0fc58e77fa9b28fd8d936393605e97ee6e3bb5fac00872d6ac5808b7712586e3 -AUX wine-vanilla-7.0-unwind.patch 1694 BLAKE2B 017c7b761d692f8e8d23f52e51529880f95bddf5fee4309ab97bee951527bd427924dbb335e4bf57a27405e3d2440666f774c6859b81933d3007247e1cbf4898 SHA512 5d20960a8eda2d80097d6db81287c9d05ed4ea50df974c93391a427b743383a6806f24bc552c18a9336e7aea0ceb801972865ff470bde8ea7fd9423f57eb09ae AUX wine-vanilla-7.20-unwind.patch 1450 BLAKE2B 3f90cc131104ad72a11ae30c582b79b3e4d8c0278d51c0a193fb9e460cf088b315503bd08bd904e8d28f72f40ab3df90f83f2542b991888a2f504cc7d2adad4d SHA512 a6c4672a44c1220d5b1efabeca535a4a3510fe92aac73c38f65a09bfbd271af8b8b1bfe2c408ba5356806cb71252a6956b8130fcd06a475037b9e51d28c2a156 AUX wine-vanilla-8.13-rpath.patch 554 BLAKE2B 209d8c581a9178242ee622338c5252f79b798cf5574f72b3984d71b7933e011b488060502715aa75630fbc3d10fcb03743ac31ed31664cacfc22b725253a117b SHA512 bbb25e02d19bd7c1a1f2d7db331d93cfcd5ce9172206ad9e19a44c52e5ece865d474eac024c2a5791dfa006c6efe0f68cd783ffc925ac793bf447d56090bdd02 DIST wine-10.0.tar.xz 32011244 BLAKE2B 92178cf484cf33e9f3b8340429ee8e68c36e0d25eee4a892f059ab73f103cfcb9eb15e1883bc9fd8c8fe311d4ccbb56582d1f780da7b1406a7839a13addd29ae SHA512 effb41c5641993e2e52eaa825cc19b7d9846e084992c5a5b066ead2339b24384d320898a9cee347a9a87106bcb3b0f54c8cd2c8d4de3a887a658052ddd5168d6 DIST wine-10.1.tar.xz 32026152 BLAKE2B 573c4cc10c96c164eb02111b0a457be5500ab42c6d103180af5b2f88cdbcc134ea1fdb794687e6c736ebb5f9aa266e51424df26cd239fa26679d968ab5844cc3 SHA512 2dbc63e43e2cc1e0bf6294a926e8afc316e9f32efdce644229cb33bba98f6001c3f285b527767a83e5284558ef11f00515048aad031c6fc9122a4ce0692952af -DIST wine-7.0.2.tar.xz 27179980 BLAKE2B 721ab574092638b32d3a483b6ae3def0c9d706cc888662ca461ab8c7060b10077e83cede69663ea2a8b97729f3801209fbba5f8e8828ce20454700ffbbd76cb5 SHA512 330c71005a6a8054b5068ac4484e9015e9f8bf55d5a451aaf5f79b7f78a025732b454251c31473abf21504cce3b78e50cf7e3e0d0116bb755dc8396bd790289a DIST wine-8.0.2.tar.xz 29060452 BLAKE2B dcffaba6c90c4e02a7bc591a81e11aced06c006370c4c316c8a367b2f5814926063482959fabfe9d674ee1b5a560e59087e9b711e28360ced3aee2bbd6bb8fdb SHA512 e86dd31247d757d48ffb2d24f20edab3fc6ef9c3e395567a7b363951bb681335ba3adb8b84639011b24b6eb274582d56880298d6d95fb100acc072383d4e973f DIST wine-9.0.tar.xz 30007216 BLAKE2B cf53177201a2f7eeb35d0d8ce220f80808d979099a928ad60652d1dee92620c433cc105dffab4e9309f41766087ad1544ef49d2922538bb420d62f6dd64117a1 SHA512 838daf2c4581f83f8573b988036f517d57b84894b090a2a17433255d6d044dfa880e6724cdb83082a36c333df9d2083ab68ae53927622a620edd59f33462ada4 -EBUILD wine-vanilla-10.0.ebuild 14493 BLAKE2B f6471f3260d1ea333e7bf9788d456327451fa82ff5572b33a108445b3bacf250c1373b8ee0403462aacdccfbc292993a0db768d29303780329f122600d61b521 SHA512 2f1773cef622aaf15cdba41b2b3a7b257d9e2d2cbc018c0f29c36fffffd8e37da09c7f38185fd31463c434fc8246783b7f100a3c678b2c194acd615998fbcd68 -EBUILD wine-vanilla-10.1.ebuild 14494 BLAKE2B 27dc34b9e28be42a76db150ee0c1eca3ac8bc29cfcc8892262549cb0a84729d3fc20128b6c5541190675b3997870d5a49d03bc05e68b1a7934fe66b1666576a2 SHA512 2f29b829f20d0a38c4e1db134b248ad5a182a140c41700f50cfcfcc76d87e905b3c1c55ece659d3f960b1e42928a582ffec527e60befb29cbb7690b3472db6e4 -EBUILD wine-vanilla-7.0.2.ebuild 12901 BLAKE2B c56de298278ea1f64164156da06828db82b418a5e1041b816635cf21a30b93127bdacd35caca340518a446d4a1cefaccb3095285882d1cc5b89c4de565ed5128 SHA512 5fe2e8c635e0625ae9abc418110498250db8fef4b45484c2c2b147f492f90043fcd251d14072bee2cbe4558c9d7672ea3a114174fff66ac0205c3c6256dd6906 -EBUILD wine-vanilla-8.0.2.ebuild 12989 BLAKE2B 38ec6d327ee3fe44fb3857615ceccd38ab8552d3c90ea7a5e3ca03eaa8b2c489ca02789c88f593bbb429304f62cd92a46f6af72b4cb63920cc0fb8a0338cdb57 SHA512 a39c6e6caa21abfe2a2a43119d4507769004fcc489c66af615d0761cbec02732a35e5bef7c7a2d8422e80311078167695d8d4fbf580aa7290dd06b25cdbe2a30 -EBUILD wine-vanilla-9.0.ebuild 14266 BLAKE2B 7eb89a6784065bdd547d3a4e768e57603a41dc8d5879006ef0e9cb630968000c00169b16bd77b7b2fc42296bb8bcbe3407020becf893b09b73c6c5ee798818cc SHA512 cf52d3b7a90152636c887c7576c17c540896dfd0195912829a49259f1506f84c35daf22f86ecbf9020951332ab32f846ca6cc251ef8ef13ca501566e0a9b0cbc -EBUILD wine-vanilla-9999.ebuild 14494 BLAKE2B 4d06d529dc848c809041b80fa5b2abdb81e2cbc2b268e9c39aec3b8f0587b4059c872368c6c9c75f76d69a965fc6c874b26396af415ecfc975ff527c1f031870 SHA512 cccaf07d1df55481fdaa0ca1185b01b606f2eccc401e126ed84f25bdcb080b7c8528e4d77b0b3365e612a62a7f772e29dcbd6ebd586a0335e13706473608d043 -MISC metadata.xml 2785 BLAKE2B 8f5b1b8e24a96e3735964681c2f55d6c77c2584be75e82a93c79b44fdde34a3730405fc3f226209a2cb140efa106ae202c236f9b35444fbafa7f9cae1751fe4c SHA512 dac99517bc4dc1dce8174ae133e035bf76d14edb2a4b61165f6fade16db30c775f8dc26d4c5dd4ce2cb362dc5ac1df5dea4c18f1795007ece185686179251cb3 +EBUILD wine-vanilla-10.0.ebuild 14538 BLAKE2B 1abaa69f1bacf4834d7b7def542b67bc7a78cc8d5ff3305fcd7a95a14b0e191c6d1d81640d5f0c1c15260ec4753803cfcecb42cc2d1fc7bf24801e42fa07c0aa SHA512 e4178f22b70dca1ac0b495e50d7b742cf1153a79093cf75670f14c8db454032d4ea6ebee63d23a2675d431107a3c072ff85f9e15d85a6f35db9279f2d1eec881 +EBUILD wine-vanilla-10.1.ebuild 14539 BLAKE2B 2a0bc0ff6f1937599d35f41db8b79f514e2a92e4887911f3cf55a975833dc65a8ac41f2be8dec34e5bd19a73cd65106bebd6103957dec7af355b366127e60111 SHA512 0a35a294a4c8c398baec956344278635d950c7db78a3b31e4e97e95877999b79d833fb1af386fbefbfaf8e7ce9310ab1167774fef87fc02d59689c63e8f52ff1 +EBUILD wine-vanilla-8.0.2.ebuild 13034 BLAKE2B 898ed541c3311528ba4a4055da4043833428b2732b06ab5f51f5d87872cc591179c1362dc37b4eab9d6fdd3f1678c7fb1750469cd45c84afb8422de57cfab4a1 SHA512 099c2443f3e6a28bd0cd49c6a81f720f9eaa51c6da0759ee2ba9a4aa204306a319493e581efccef2ca437cc16df80cd7a90427c93e3981d631c82f5268b6ec62 +EBUILD wine-vanilla-9.0.ebuild 14311 BLAKE2B d8f6afb2bf29b3d8e4ecd51265cd3427c1e1711d97d2c77f16f70ba808ddbaca910d8b6993d66b684dc264f05e409fb6c0b62b59225047180ba79aa09cbcc2bd SHA512 b01db0b4849d60181035270e80a9043f659ebf19543d9451a4c5ecdaa73f40bf9eaba514d3c0d59c90429d8da64aad662e1f9dd16d96ce9963dc613f6b675b18 +EBUILD wine-vanilla-9999.ebuild 13722 BLAKE2B 326c9d3f4e877afc9f066b1ddad018cc68ce39e46a76c74d107d2c59c560b2b1f38cd3968e0809272d80dae5ff02d2642c0fa5e5231186336ca6f1936b1091ca SHA512 a576a236d7ec3eb3eeabd32d0cbf6d4f0d0ddffce62c5191a5d076c194d136903410c8103d16afb1126f65e6ea23b75710e5f82a4c5eba3db47c654c2c0743b0 +MISC metadata.xml 2694 BLAKE2B 01c000d837b123829986a3f60d8d70b7f3a294ed5b51a024f65c132daa7536237632c76113c866c250178bd44f833c2de6d3e4c77904dfa5ff7e8fb9a7dd332e SHA512 749d959889c8669c07e3f85c79780a08038b2547f4a9b343cb4f38bd79e62a36909723d405ce2f9c8c509720d7817bd2da21fd832b15ff63dd0bca04745319b6 diff --git a/app-emulation/wine-vanilla/files/wine-vanilla-10.0-binutils2.44.patch b/app-emulation/wine-vanilla/files/wine-vanilla-10.0-binutils2.44.patch new file mode 100644 index 000000000000..d7e30393569e --- /dev/null +++ b/app-emulation/wine-vanilla/files/wine-vanilla-10.0-binutils2.44.patch @@ -0,0 +1,105 @@ +Note that this is only an issue when using mingw (PE) binutils-2.44, +host (ELF) binutils-2.44 has no impact on this and, before this patch, +using 2.44 could only happen with off-by-default USE=crossdev-mingw. + +https://bugs.winehq.org/show_bug.cgi?id=57819 +https://sourceware.org/PR32675 +https://gitlab.winehq.org/wine/wine/-/merge_requests/7328 +--- a/dlls/ntdll/loader.c ++++ b/dlls/ntdll/loader.c +@@ -3750,5 +3750,5 @@ + NTSTATUS nts; + FARPROC fp; +- DWORD id; ++ INT_PTR id; + + TRACE( "(%p, %p, %p, %p, %p, 0x%08lx)\n", base, desc, dllhook, syshook, addr, flags ); +--- a/tools/winebuild/import.c ++++ b/tools/winebuild/import.c +@@ -1332,4 +1332,14 @@ + } + ++static void output_import_section( int index, int is_delay ) ++{ ++ if (!is_delay) ++ output( "\n\t.section .idata$%d\n", index ); ++ else if (index == 5) ++ output( "\n\t.section .data$didat%d\n", index ); ++ else ++ output( "\n\t.section .rdata$didat%d\n", index ); ++} ++ + /* create a Windows-style import library */ + static void build_windows_import_lib( const char *lib_name, DLLSPEC *spec, struct strarray files ) +@@ -1455,18 +1465,18 @@ + output( "\t.long 0\n" ); /* TimeDateStamp */ + +- output( "\n\t.section .idata$5\n" ); ++ output_import_section( 5, is_delay ); + output( "\t%s 0\n", get_asm_ptr_keyword() ); /* FirstThunk tail */ + output( ".L__wine_import_addrs:\n" ); + +- output( "\n\t.section .idata$4\n" ); ++ output_import_section( 4, is_delay ); + output( "\t%s 0\n", get_asm_ptr_keyword() ); /* OriginalFirstThunk tail */ + output( ".L__wine_import_names:\n" ); + + /* required to avoid internal linker errors with some binutils versions */ +- output( "\n\t.section .idata$2\n" ); ++ output_import_section( 2, is_delay ); + } + else + { +- output( "\n\t.section .idata$2\n" ); ++ output_import_section( 2, is_delay ); + output( "%s\n", asm_globl( import_desc ) ); + output_rva( ".L__wine_import_names" ); /* OriginalFirstThunk */ +@@ -1476,8 +1486,8 @@ + output_rva( ".L__wine_import_addrs" ); /* FirstThunk */ + +- output( "\n\t.section .idata$4\n" ); ++ output_import_section( 4, is_delay ); + output( ".L__wine_import_names:\n" ); /* OriginalFirstThunk head */ + +- output( "\n\t.section .idata$5\n" ); ++ output_import_section( 5, is_delay ); + output( ".L__wine_import_addrs:\n" ); /* FirstThunk head */ + } +@@ -1490,9 +1500,9 @@ + new_output_as_file(); + +- output( "\n\t.section .idata$4\n" ); ++ output_import_section( 4, is_delay ); + output( "\t%s 0\n", get_asm_ptr_keyword() ); /* OriginalFirstThunk tail */ +- output( "\n\t.section .idata$5\n" ); ++ output_import_section( 5, is_delay ); + output( "\t%s 0\n", get_asm_ptr_keyword() ); /* FirstThunk tail */ +- output( "\n\t.section .idata$7\n" ); ++ output_import_section( 7, is_delay ); + output( "%s\n", asm_globl( import_name ) ); + output( "\t%s \"%s\"\n", get_asm_string_keyword(), spec->file_name ); +@@ -1585,8 +1595,8 @@ + } + +- output( "\n\t.section .idata$4\n" ); ++ output_import_section( 4, is_delay ); + output_thunk_rva( by_name ? -1 : odp->ordinal, ".L__wine_import_name" ); + +- output( "\n\t.section .idata$5\n" ); ++ output_import_section( 5, is_delay ); + output( "%s\n", asm_globl( imp_name ) ); + if (is_delay) +@@ -1597,5 +1607,5 @@ + if (by_name) + { +- output( "\n\t.section .idata$6\n" ); ++ output_import_section( 6, is_delay ); + output( ".L__wine_import_name:\n" ); + output( "\t.short %d\n", odp->hint ); +@@ -1604,5 +1614,5 @@ + + /* reference head object to always pull its sections */ +- output( "\n\t.section .idata$7\n" ); ++ output_import_section( 7, is_delay ); + output_rva( "%s", asm_name( import_desc ) ); + diff --git a/app-emulation/wine-vanilla/files/wine-vanilla-7.0-unwind.patch b/app-emulation/wine-vanilla/files/wine-vanilla-7.0-unwind.patch deleted file mode 100644 index 74f22362ea9b..000000000000 --- a/app-emulation/wine-vanilla/files/wine-vanilla-7.0-unwind.patch +++ /dev/null @@ -1,40 +0,0 @@ -Fix build with llvm-libunwind, and also fix for non-llvm libunwind -when using clang+bfd given clang doesn't have _Unwind_Find_FDE in -its rtlib and expects it from llvm-libunwind. - -The _CONFIG_H_ check is for Rip - 1), &bases ); - - if (fde) - return dwarf_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context, fde, - &bases, &dispatch->LanguageHandler, &dispatch->HandlerData ); -+#endif - #ifdef HAVE_LIBUNWIND - return libunwind_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context, - &dispatch->LanguageHandler, &dispatch->HandlerData ); diff --git a/app-emulation/wine-vanilla/metadata.xml b/app-emulation/wine-vanilla/metadata.xml index 04c6a41bee45..dd7a4eda1c35 100644 --- a/app-emulation/wine-vanilla/metadata.xml +++ b/app-emulation/wine-vanilla/metadata.xml @@ -29,7 +29,6 @@ This variant of the Wine packaging does not include external patchsets Install helpers that require perl (winedump/winemaker) Pull in net-fs/samba with winbind for NTLM auth support Enable gamepad support using media-libs/libsdl2 - Enable DirectX 12 support using app-emulation/vkd3d Enable running 32bit applications without 32bit ELF multilib by mapping to 64bit calls (experimental, diff --git a/app-emulation/wine-vanilla/wine-vanilla-10.0.ebuild b/app-emulation/wine-vanilla/wine-vanilla-10.0.ebuild index 9e662b350f3e..d912312e42aa 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-10.0.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-10.0.ebuild @@ -163,6 +163,7 @@ PATCHES=( "${FILESDIR}"/${PN}-7.0-noexecstack.patch "${FILESDIR}"/${PN}-7.20-unwind.patch "${FILESDIR}"/${PN}-8.13-rpath.patch + "${FILESDIR}"/${PN}-10.0-binutils2.44.patch ) pkg_pretend() { diff --git a/app-emulation/wine-vanilla/wine-vanilla-10.1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-10.1.ebuild index 7ad0553e1237..0a51b2565e22 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-10.1.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-10.1.ebuild @@ -163,6 +163,7 @@ PATCHES=( "${FILESDIR}"/${PN}-7.0-noexecstack.patch "${FILESDIR}"/${PN}-7.20-unwind.patch "${FILESDIR}"/${PN}-8.13-rpath.patch + "${FILESDIR}"/${PN}-10.0-binutils2.44.patch ) pkg_pretend() { diff --git a/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild deleted file mode 100644 index 9cc201c4e78e..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild +++ /dev/null @@ -1,394 +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.2 -WINE_MONO=7.0.0 - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - 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" - S="${WORKDIR}/wine-${PV}" - KEYWORDS="-* amd64 x86" -fi - -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" -HOMEPAGE=" - https://www.winehq.org/ - https://gitlab.winehq.org/wine/wine/ -" - -LICENSE="LGPL-2.1+ BSD-2 IJG MIT 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 ldap +mingw +mono netapi nls odbc openal - opencl +opengl osmesa pcap perl pulseaudio samba scanner +sdl - selinux +ssl +truetype udev udisks +unwind usb v4l +vkd3d +vulkan - +xcomposite xinerama -" -# bug #551124 for truetype -REQUIRED_USE=" - X? ( truetype ) - crossdev-mingw? ( mingw ) -" - -# tests are non-trivial to run, can hang easily, don't play well with -# sandbox, and several need real opengl/vulkan or network access -RESTRICT="test" - -# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked -WINE_DLOPEN_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXrender[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - opengl? ( - media-libs/libglvnd[X,${MULTILIB_USEDEP}] - osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] ) - ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - ) - cups? ( net-print/cups[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[X?,${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}] - ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal[${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? ( llvm-runtimes/libunwind[${MULTILIB_USEDEP}] ) - !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] ) - ) - usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] ) - vkd3d? ( >=app-emulation/vkd3d-1.2[${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[${MULTILIB_USEDEP}] ) ) - nls? ( sys-devel/gettext ) -" -IDEPEND=">=app-eselect/eselect-wine-2" - -QA_CONFIG_IMPL_DECL_SKIP=( - __clear_cache # unused on amd64+x86 (bug #900338) - res_getservers # false positive -) -QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext - -PATCHES=( - "${FILESDIR}"/${PN}-7.0-noexecstack.patch - "${FILESDIR}"/${PN}-7.0-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_prepare() { - # sanity check, bumping these has a history of oversights - local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \ - dlls/appwiz.cpl/addons.c || die) - if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then - local gmfatal= - [[ ${PV} == *9999 ]] && gmfatal=nonfatal - ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)" - fi - - default - - if tc-is-clang; then - if use mingw; then - # -mabi=ms was ignored by /etc/portage/env/app-emulation/wine-vanilla -} - -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 ldap) - $(use_with mingw) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(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 vkd3d) - $(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 - filter-flags -Wl,--gc-sections # runtime issues (bug #931329) - use custom-cflags || strip-flags # can break in obscure ways at runtime - use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH} - - # broken with gcc-15's c23 default (TODO: try w/o occasionally, bug #943849) - append-cflags -std=gnu17 - - # 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 - - # >=wine-vanilla-9 has proper fixes and builds with gcc-14, but - # would rather not have to worry about fixing old branches - append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types) - - # 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 - - # CROSSCC_amd64/x86 are unused by Wine, but recognized here for users - if (( bits == 64 )); then - : "${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}}" - - # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu) - if use mingw; then - : "${CROSSCFLAGS:=$( - filter-flags '-fstack-protector*' #870136 - filter-flags '-mfunction-return=thunk*' #878849 - - # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then - # strip-unsupported-flags miss these during compile-only tests - # (primarily done for 23.0 profiles' -z, not full coverage) - filter-flags '-Wl,-z,*' - - # -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{CC,{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; }; then - # difficult to tell what is needed from here, but try to warn - if has_version 'x11-drivers/nvidia-drivers'; then - if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then - ewarn "x11-drivers/nvidia-drivers is installed but is built without" - ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit" - ewarn "applications under ${PN} will likely not be usable." - ewarn "Multi-card setups may need this on media-libs/mesa as well." - fi - elif has_version 'media-libs/mesa[-abi_x86_32]'; then - ewarn "media-libs/mesa seems to be in use but is built without" - ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit" - ewarn "applications under ${PN} will likely not be usable." - fi - fi - - eselect wine update --if-unset || die -} - -pkg_postrm() { - eselect wine update --if-unset || die -} 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 95f7ef5d7382..1a8afb08db8d 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2024 Gentoo Authors +# Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -144,6 +144,7 @@ QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext PATCHES=( "${FILESDIR}"/${PN}-7.0-noexecstack.patch "${FILESDIR}"/${PN}-7.20-unwind.patch + "${FILESDIR}"/${PN}-10.0-binutils2.44.patch ) pkg_pretend() { diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild index 0ee385cb279a..300262a71242 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2024 Gentoo Authors +# Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -161,6 +161,7 @@ PATCHES=( "${FILESDIR}"/${PN}-7.0-noexecstack.patch "${FILESDIR}"/${PN}-7.20-unwind.patch "${FILESDIR}"/${PN}-8.13-rpath.patch + "${FILESDIR}"/${PN}-10.0-binutils2.44.patch ) pkg_pretend() { diff --git a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild index d653eed512f5..a3201550680a 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2024 Gentoo Authors +# Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -364,28 +364,8 @@ 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 + # "wine64" is no longer provided, but a keep symlink for old scripts + use abi_x86_64 && dosym wine ${WINE_PREFIX}/bin/wine64 use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die -- cgit v1.2.3