summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-03-23 00:31:41 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-03-23 00:31:41 +0000
commitadd1c3acddd7a3f49fdb230135725463d2662921 (patch)
tree9cbe35db675b23a6afadbe3a78f9944ea8990f18 /app-emulation
parent6fe1dafaa446d9bc41dea28a43551fffa73f6b87 (diff)
gentoo auto-resync : 23:03:2025 - 00:31:41
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/Manifest.gzbin15497 -> 15498 bytes
-rw-r--r--app-emulation/virt-manager/Manifest2
-rw-r--r--app-emulation/virt-manager/virt-manager-4.1.0-r1.ebuild106
-rw-r--r--app-emulation/wine-vanilla/Manifest2
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-10.4.ebuild434
5 files changed, 436 insertions, 108 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz
index 2831e86277af..32e2d780d0fe 100644
--- a/app-emulation/Manifest.gz
+++ b/app-emulation/Manifest.gz
Binary files differ
diff --git a/app-emulation/virt-manager/Manifest b/app-emulation/virt-manager/Manifest
index 99c40705603e..6493c3dadd12 100644
--- a/app-emulation/virt-manager/Manifest
+++ b/app-emulation/virt-manager/Manifest
@@ -1,7 +1,5 @@
-DIST virt-manager-4.1.0.tar.gz 3151412 BLAKE2B 1b4203be81bd7b82251225d691a4d9068f268e610f049bcadb96de5b539e964ca0b001f22f06ddd8266b58b079f60046f6d11942a1e4eadbc43f0607c46bbddd SHA512 725cb5bcbaebaafae417f95deffb4243ccdad769668cba6e1235f4607e2b29dbd099d2a9a3885981158f53ea854dd71cc29ed9d7557b2791161c13d34f2ef883
DIST virt-manager-5.0.0.tar.xz 1466724 BLAKE2B b8b93587b1e1cdb398f33e4820aeaa9c1aecfbe26cd54597830fcbc009a51e70b0dd10b947b9392a1d3fdc5b28c19573a1d417b5748c38658b6e03725023bcfb SHA512 d0cb7eb844fc98ad29413717e5fa5834bc6f9f6cb6b9339b59c2721bb37a58f71280e3d2a04a64a6021614626329d76c92474f826bb1d9b7a9040b479f20d4e8
DIST virt-manager-5.0.0.tar.xz.asc 833 BLAKE2B f97127a4cb1c0c24c6627c5d8e1e510075df3ad492e716f0cf07e5f41b3226295da4d73f5cef5903a9bc5a3d7a6f34bd07e7b0f2e21e9d42997c117708de1ada SHA512 e0bec28ce61af5dd2a6895006d60e11dd7b384cd4fec305ebfbf05831864aeb334d212511d6f92827fe15f6d6dcab3ff1d13309afa686d3e8e76c6b354ffa494
-EBUILD virt-manager-4.1.0-r1.ebuild 2721 BLAKE2B 5016f76f4672d45c5471152ae585900d93fb89059c3d5aaa54c8f70baf7a27c7757f701ef8feb257b5169461b74b45193106c9cc4306a802bfa9d421846cc690 SHA512 779bdc4120c4ee413fe2d52298d55ecd5fe03145e040f72889651141805c3a18f4e8d5d331105bc0e98889156e26ee7def5e5cf8aead865549c2f9f5478629be
EBUILD virt-manager-5.0.0-r1.ebuild 3165 BLAKE2B 0f92ba8397926cfa89603ce43b0bac2f699b8f60efcdb758bd08e4a361059a82d2493af26882409b9bfae8205fe20d485f9047f407d9687a6545355a471a19f3 SHA512 a86c75e2d0517fc01254733b52607d4bcd5df2ba294f30717b83e8a3e73a75214154026b1ff82052b092ce883f4dd1d3f943f12766ae1ae40ccfffb7027175f7
EBUILD virt-manager-5.0.0.ebuild 2481 BLAKE2B 38d3e1755ec5323f46b48868cddd9ceaf6a0d9ff5269c2431ef8431214190ce86188fb0897da6b50c9cb362d6078d6ac1274d2723059ddb71ee7597670f1efc5 SHA512 0c88d7e98613b71f334e85abdfa60bec9724e5f8c5890d5be87b4d03f2c1e3fc7a60c379b8e5f279008de6112232443c4602d69a397c893829ed3f638a0d43b3
EBUILD virt-manager-9999.ebuild 3168 BLAKE2B ebea5332062e04f3f8d60bdbd57d657b0c2cd2aed2d86f35d571d3373710509bc9667d70e791d4c4978497818b577d1cf3da0164e17ad523aaabba62721acc90 SHA512 e762d554f31089e76acbf306cb67324b5e984860ea3a80aba52b86d96360bab369fbaea94a7070f9c144cc0c14cf9cfeac02829ebad15f9c420b97f67ce22419
diff --git a/app-emulation/virt-manager/virt-manager-4.1.0-r1.ebuild b/app-emulation/virt-manager/virt-manager-4.1.0-r1.ebuild
deleted file mode 100644
index ff2a5d6fbb9b..000000000000
--- a/app-emulation/virt-manager/virt-manager-4.1.0-r1.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_SINGLE_IMPL=1
-DISTUTILS_USE_SETUPTOOLS=no
-inherit gnome2 distutils-r1 optfeature
-
-DESCRIPTION="A graphical tool for administering virtual machines"
-HOMEPAGE="https://virt-manager.org https://github.com/virt-manager/virt-manager"
-
-if [[ ${PV} == *9999* ]]; then
- EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git"
- EGIT_BRANCH="main"
- SRC_URI=""
- inherit git-r3
-else
- SRC_URI="https://releases.pagure.org/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 arm64 ppc64 x86"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="gui policykit sasl"
-
-RDEPEND="
- ${PYTHON_DEPS}
- || ( dev-libs/libisoburn app-cdr/cdrtools )
- >=app-emulation/libvirt-glib-1.0.0[introspection]
- >=sys-libs/libosinfo-0.2.10[introspection]
- $(python_gen_cond_dep '
- dev-libs/libxml2[python,${PYTHON_USEDEP}]
- dev-python/argcomplete[${PYTHON_USEDEP}]
- >=dev-python/libvirt-python-6.10.0[${PYTHON_USEDEP}]
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- ')
- gui? (
- gnome-base/dconf
- >=net-libs/gtk-vnc-0.3.8[gtk3(+),introspection]
- net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?]
- sys-apps/dbus[X]
- x11-libs/gtk+:3[introspection]
- x11-libs/gtksourceview:4[introspection]
- x11-libs/vte:2.91[introspection]
- policykit? ( sys-auth/polkit[introspection] )
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="dev-python/docutils"
-
-DOCS=( README.md NEWS.md )
-
-DISTUTILS_ARGS=(
- --no-update-icon-cache
- --no-compile-schemas
-)
-
-EPYTEST_IGNORE=(
- # Wants to use /tmp osinfo config?
- tests/test_cli.py
-
- # These seem to be essentially coverage tests
- tests/test_checkprops.py
-)
-
-distutils_enable_tests pytest
-
-python_configure() {
- esetup.py configure --default-graphics=spice
-}
-
-python_test() {
- export VIRTINST_TEST_SUITE_FORCE_LIBOSINFO=0
-
- epytest
-}
-
-python_install() {
- esetup.py install
-}
-
-pkg_preinst() {
- if use gui ; then
- gnome2_pkg_preinst
-
- cd "${ED}" || die
- export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null || die)
- else
- rm -r "${ED}/usr/share/virt-manager/ui/" || die
- rm -r "${ED}/usr/share/virt-manager/icons/" || die
- rm -r "${ED}/usr/share/icons/" || die
- rm -r "${ED}/usr/share/applications/virt-manager.desktop" || die
- rm -r "${ED}/usr/bin/virt-manager" || die
- fi
-}
-
-pkg_postinst() {
- use gui && gnome2_pkg_postinst
-
- optfeature "SSH_ASKPASS program implementation" lxqt-base/lxqt-openssh-askpass net-misc/ssh-askpass-fullscreen net-misc/x11-ssh-askpass
- optfeature "QEMU host support" app-emulation/qemu[usbredir,spice]
- optfeature "virt-install --location ISO support" dev-libs/libisoburn
-}
diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest
index 4853b6977b19..6e1479bc3f4a 100644
--- a/app-emulation/wine-vanilla/Manifest
+++ b/app-emulation/wine-vanilla/Manifest
@@ -6,12 +6,14 @@ DIST wine-10.0.tar.xz 32011244 BLAKE2B 92178cf484cf33e9f3b8340429ee8e68c36e0d25e
DIST wine-10.1.tar.xz 32026152 BLAKE2B 573c4cc10c96c164eb02111b0a457be5500ab42c6d103180af5b2f88cdbcc134ea1fdb794687e6c736ebb5f9aa266e51424df26cd239fa26679d968ab5844cc3 SHA512 2dbc63e43e2cc1e0bf6294a926e8afc316e9f32efdce644229cb33bba98f6001c3f285b527767a83e5284558ef11f00515048aad031c6fc9122a4ce0692952af
DIST wine-10.2.tar.xz 32050716 BLAKE2B 78a60d82640c9ffdf8a96b58aaa8a86cce0f67d48dc082e97a2bfaf077f849b99fa7d5418a42d2f18176afedd9a7270a08ca872af5c43c10fd64fe1eddf7cfdf SHA512 893395e29d72898579850c4084838c76b8a53659b4a3917e47d853733fafaa0e57bfde31437862955cdfab94327622eb290488d6120d76eeb2a4fa70dff5ef67
DIST wine-10.3.tar.xz 32280996 BLAKE2B 49e3e1d4da74a647c01b3326b2d79ac102fa67b43cd3134e8ca66696003ee9f1a5835b093896d8b8e4ff1fd2c229db8c004fdcfec79fbc0d559985094374a4e1 SHA512 361edb93f062f44592b55ba298d1e2b49857bf067791cc92424c812412aff93955dcb7726e3f87fd304f3e567693b547fa5a149b58990c914f91c585fede2716
+DIST wine-10.4.tar.xz 32326532 BLAKE2B f51bee9115f236d13be717f524bfb21d4aa3bd3bc4114d8fe9f106957e01f57e14bdd415e6cc494e6860244d43fd906d69e17055822954490ae6e7562e562e6c SHA512 e1f2bf5bd021fe9937cb27e1ee3ce0e5ff06a32abe3d1e07eb6083f5dcdfcd84e5b4d631dd1a83686dd7a42a1b84eec848ec08a256c2570a709d830ce7f7208a
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-r1.ebuild 14648 BLAKE2B 894e80635d7bfe6969fbe43ba33b5dac9bec408a75f7fc3323dc8d5ab8d68da16055223c2213c1934e194cfbd8d671954c609c790343f21ac068a8121947952b SHA512 c6cf3e31d5fd5c117000d7062e7309c42833d1615eac72851ccd30c89b0ed230ed9d1a18d62a3768380176ca0b2e3c0eb2777bd48d515149c52976c58b230c0c
EBUILD wine-vanilla-10.1.ebuild 14650 BLAKE2B b252590f81a76999812e9dd8b0f757b27fe3deaae0a9be023775711a8a95f8a87ca450cbac90ad48f890cecc83a161aa701fbee6d6d92a98748e1d08c0b0e688 SHA512 d97f3a6c383ae81a8aa6a9aaa01f30ed27e25600433cb8ac4522eb08c9894de2a4544228d2d01259a80b2b67a56602a4eb32bcc7e1dc75dc0add769f2c326aea
EBUILD wine-vanilla-10.2.ebuild 13955 BLAKE2B a45d8b9e0bbe44d1364392e31da7bcf88511175b4860d37a5863e314fb51c4fd2573e5d2a5869bbd221c45d58203a64aa67c4b616a95c087a09e553c01989c1f SHA512 85294049f3f95510d0e013ac02e1c01ffa0d787b911f2e59d584192308dcf571d4db7829a095cb2a2d20881c2502b03e294479f4b6a974046765c719994e6605
EBUILD wine-vanilla-10.3-r1.ebuild 13989 BLAKE2B e744be2b1fd9d7d5b071421e1f8b5aaca10d5466a5f6801a0aeb3f5768c39c570fadcc3f9c3ff79f972d27d6683ee25da0e5d20cf93ca2592740e62395341112 SHA512 c79f0b5351c48941d22d7893823e0a6715b16cefa23ed8b5b87a44728d29b400590399a03a52126ed2cc9687cd0dc3ca185cb4007744f11a3bc0da489f8af714
+EBUILD wine-vanilla-10.4.ebuild 13989 BLAKE2B e744be2b1fd9d7d5b071421e1f8b5aaca10d5466a5f6801a0aeb3f5768c39c570fadcc3f9c3ff79f972d27d6683ee25da0e5d20cf93ca2592740e62395341112 SHA512 c79f0b5351c48941d22d7893823e0a6715b16cefa23ed8b5b87a44728d29b400590399a03a52126ed2cc9687cd0dc3ca185cb4007744f11a3bc0da489f8af714
EBUILD wine-vanilla-8.0.2.ebuild 12989 BLAKE2B 7d0c26640bdcc8058e39a4b5213b17329297c808e829bef0d6c2e50e2220e4aa391ef61e57d4636a8af41146f2e483efd451e9084b9d4ba1896b8d0ca41d5c54 SHA512 1d54a432b9f0497e9316affb138ff4375f8944ab3765b6b53b4f97e396f6ca1984086c099841170b26d226eeafad4650c609b0c99956351cd0486db488c79544
EBUILD wine-vanilla-9.0-r1.ebuild 14423 BLAKE2B 896a4b83c3d65911d0e2d972a09b4e3af42b2721250ccc26488ae39d14d17b269e4ba6623483a696a8bc731ef6ad32cb543ce366d216ff3913f3cb4d01e53eed SHA512 476943b64f74527b431b407b5d0ef6a790a244487216af76875d7241ded612d1432cea64306979d19bd9c58e6314d5aab3cfae8680a9d3c90cefa7ab4cc408c8
EBUILD wine-vanilla-9999.ebuild 13989 BLAKE2B e744be2b1fd9d7d5b071421e1f8b5aaca10d5466a5f6801a0aeb3f5768c39c570fadcc3f9c3ff79f972d27d6683ee25da0e5d20cf93ca2592740e62395341112 SHA512 c79f0b5351c48941d22d7893823e0a6715b16cefa23ed8b5b87a44728d29b400590399a03a52126ed2cc9687cd0dc3ca185cb4007744f11a3bc0da489f8af714
diff --git a/app-emulation/wine-vanilla/wine-vanilla-10.4.ebuild b/app-emulation/wine-vanilla/wine-vanilla-10.4.ebuild
new file mode 100644
index 000000000000..0db53d1335cb
--- /dev/null
+++ b/app-emulation/wine-vanilla/wine-vanilla-10.4.ebuild
@@ -0,0 +1,434 @@
+# Copyright 2022-2025 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 optfeature
+inherit prefix toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.4.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 BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff
+ || ( WTFPL-2 public-domain )
+"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups +dbus dos
+ llvm-libunwind custom-cflags ffmpeg +fontconfig +gecko gphoto2
+ +gstreamer kerberos +mingw +mono netapi nls odbc opencl +opengl
+ pcap perl pulseaudio samba scanner +sdl selinux smartcard +ssl
+ +strip +truetype udev +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}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ dbus? ( sys-apps/dbus[${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}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[X?,wayland?,${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ ffmpeg? ( media-video/ffmpeg:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( llvm-runtimes/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 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ || (
+ sys-devel/binutils
+ llvm-core/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 #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.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_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 <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-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
+
+ $(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 dbus)
+ $(use_with ffmpeg)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with opencl)
+ $(use_with opengl)
+ --without-osmesa # media-libs/mesa no longer supports this
+ --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 unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vulkan)
+ $(use_with wayland)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ $(usev !odbc ac_cv_lib_soname_odbc=)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # broken with gcc-15's c23 default (TODO: try w/o occasionally, bug #943849)
+ append-cflags -std=gnu17
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ # -mavx with mingw-gcc has a history of issues and still see
+ # users have problems despite -mpreferred-stack-boundary=2
+ append-cflags -mno-avx
+
+ 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
+
+ # "wine64" is no longer provided, but a keep symlink for old scripts
+ # TODO: remove the guard later, only useful for bisecting -9999
+ if [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 ]]; then
+ use abi_x86_64 && dosym wine ${WINE_PREFIX}/bin/wine64
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; }; then
+ # difficult to tell what is needed from here, but try to warn
+ if has_version 'x11-drivers/nvidia-drivers'; then
+ if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ ewarn "Multi-card setups may need this on media-libs/mesa as well."
+ fi
+ elif has_version 'media-libs/mesa[-abi_x86_32]'; then
+ ewarn "media-libs/mesa seems to be in use but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+ fi
+
+ optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+ games-util/game-device-udev-rules
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ if has_version -b app-eselect/eselect-wine; then
+ eselect wine update --if-unset || die
+ fi
+}