repo/gentoo:master commit in: app-emulation/wine-staging/

"Ionen Wolkens" <[email protected]>
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1786256533.a807b7e04ee4643bc9edf1f07da80919c04d48a9.ionen@gentoo>
commit:     a807b7e04ee4643bc9edf1f07da80919c04d48a9
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  9 04:58:19 2026 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Aug  9 06:22:13 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a807b7e0

app-emulation/wine-staging: add 11.15

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-staging/Manifest                |   2 +
 .../wine-staging/wine-staging-11.15.ebuild         | 253 +++++++++++++++++++++
 2 files changed, 255 insertions(+)

diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest
index f9088c1f7b26..93235c8fe57b 100644
--- a/app-emulation/wine-staging/Manifest
+++ b/app-emulation/wine-staging/Manifest
@@ -2,7 +2,9 @@ DIST wine-11.0.tar.xz 33172240 BLAKE2B 2e4ef52f53e80c04bf8fc69345632db05e2ade00b
 DIST wine-11.12.tar.xz 46514188 BLAKE2B 8b3fe5138dde51985203407ca63bed33c72497b5c1f30e52ef8f73cc87a4a61404bff86b27971b479f204a19e57af552424cd8e834a5cef111d095e76809e58e SHA512 a6e8fe5d37fb3babab91638abdc370ef46ea91c2de27dcce68757c0a35d7c14c574ca0bb3f25c1af91ac55ea0ed5e21a8a095b65a784daa7956b43f59bda34c9
 DIST wine-11.13.tar.xz 46548088 BLAKE2B 83cdeccdac01cd8484d89165695efea0f72dc4a9b1112e9a1ea2e114562325dd7b7261cece5283a144797c4a1824cecab9af43d381b24069036b4c69b7f17b2a SHA512 dbba303dac8f819085718f589079ebdfd0daf99e3758709309b24e58fc464f449a530861157d2286c747086a97e7c6031ec8a5c7081e17e5884577f655731462
 DIST wine-11.14.tar.xz 46575228 BLAKE2B b4ed19a4abd35be64230964ab64d46f86cca3adc82fff8d79db98f0c4f31527820af7b8270dba68a41090121dcdb0c68fb78540e1d59727882dc1e7d8748840b SHA512 b42f91c0a73b46af07b1f8fb8aacd3dae38a8d62989fb28bd264bd3c5fd788dae19ef734b861d5b94094ba619222993f035aa50a083e59a2abf18a47cf5a5c3e
+DIST wine-11.15.tar.xz 46665288 BLAKE2B 5d5a81dbcf5ce4fdb14799a7b8c93f44f0ed9ff67c49a43a501ff171aeeed2f2359a4f78a9fb1d76b791df76e4a1e623a025834a1124f9da705b6768495fc9bc SHA512 e6ce72331e7e8efb0dace2d39e547f3ce989d178dc7c37db1b4523cf9f200196a64fee69ca8a2bccfce0bf8e8f7800adb2c4ef4c44b0bd7d78cf937d84849232
 DIST wine-staging-11.0.tar.gz 9323019 BLAKE2B 2d1073205f1f9b5cef5f05445b57f4865dc2290302375f7295855b3200b3039f4eeee49f4c2e4b4e4c85ea6603548d9d4de9825d0f6db62913545e5fc3d7f587 SHA512 27eecce0cc1974e97d2aaffc0bf5a5d114f5fd8d3d6a349d9f984058a316b6654dd07bc2223c38df16fd2862f59aa79518d2d109ea0ac41c957144377ddd39a7
 DIST wine-staging-11.12.tar.gz 9295259 BLAKE2B ac66a1aaf33623b26bccd13771b58a8ee7aea1eed40aeeef0a192ae760cf7add21676dd3d29e4df8be2d2b3724ca3f092374ecdcf174f3e729742e5522312fd6 SHA512 dd7061953181380862c5e4550a72ec1964c97a2786b4c50d02f93a333f90852d5663785c2f3cf9a97bdd3be908e446b173ccfa6d868a274037666a2b1f8d4bc2
 DIST wine-staging-11.13.tar.gz 9317536 BLAKE2B ce6e50d6cdde5cfab96b02535ce4f98adda8f5706bf75557af3b30d2e4aa105f2fc851ea9357accfade8fb0aa44521c395448f4eceafd29d46216b8c0c49ff93 SHA512 68a2ac96b87a3f333f9d6da81483c2197f23e3beffb07e0d62aa15717ca5ad9bde16ac043f3c787043daeb7a3db7c561f16110ff452b1f2bfbfbea3358ffce32
 DIST wine-staging-11.14.tar.gz 9334253 BLAKE2B 28f4d37cdf1b2a24907103b215949d919e27a15ad1f207f0222a57adde686b697cec2a1f063dec0fe16ea1d9e9192350e98cd9a7ca7db02e3687ab05e1c7e119 SHA512 564cb5562c39e9c648d7fd747ec6687813117026203c089ac4b8fd77c336481fbc49b8a39f9969a0d0614ccf7b99a53c6b6c04b6ffa2c6358a839f71a11f6b85
+DIST wine-staging-11.15.tar.gz 9333776 BLAKE2B 7b79f460670b17f3ecd89a8602a4d00cef98e9561ab3e724ce254f05a84a2693910840d4043e8ea9af51a42b76df3cc7fa51eab81d915cf22977dd74d1845327 SHA512 d4b074696129bbe779e80c4e67974a3ff33f6817885959014d231bf2d142dd08a3137f92d2a3380bf24a77d85ba204e40a05fa39db5b26947881f8eac750e3c9

diff --git a/app-emulation/wine-staging/wine-staging-11.15.ebuild b/app-emulation/wine-staging/wine-staging-11.15.ebuild
new file mode 100644
index 000000000000..e9a6a253b65b
--- /dev/null
+++ b/app-emulation/wine-staging/wine-staging-11.15.ebuild
@@ -0,0 +1,253 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{12..14} )
+inherit edo optfeature python-any-r1 wine
+
+WINE_GECKO=2.47.4
+WINE_MONO=11.2.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 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
+HOMEPAGE="
+	https://wiki.winehq.org/Wine-Staging
+	https://gitlab.winehq.org/wine/wine-staging/
+"
+S=${WORKDIR}/${WINE_P}
+
+LICENSE="
+	LGPL-2.1+
+	BSD BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff public-domain
+"
+SLOT="${PV}"
+IUSE="
+	+X +alsa bluetooth cups +dbus dos ffmpeg +fontconfig +gecko gphoto2
+	+gstreamer kerberos +mono netapi nls odbc opencl +opengl pcap perl
+	pulseaudio samba scanner +sdl selinux smartcard +ssl +truetype udev
+	usb v4l +vulkan wayland xinerama
+"
+REQUIRED_USE="
+	X? ( truetype )
+	bluetooth? ( dbus )
+	opengl? ( || ( X wayland ) )
+"
+
+# 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/libXcomposite[${WINE_USEDEP}]
+		x11-libs/libXcursor[${WINE_USEDEP}]
+		x11-libs/libXfixes[${WINE_USEDEP}]
+		x11-libs/libXi[${WINE_USEDEP}]
+		x11-libs/libXrandr[${WINE_USEDEP}]
+		x11-libs/libXrender[${WINE_USEDEP}]
+		x11-libs/libXxf86vm[${WINE_USEDEP}]
+		xinerama? ( x11-libs/libXinerama[${WINE_USEDEP}] )
+	)
+	cups? ( net-print/cups[${WINE_USEDEP}] )
+	dbus? ( sys-apps/dbus[${WINE_USEDEP}] )
+	fontconfig? ( media-libs/fontconfig[${WINE_USEDEP}] )
+	kerberos? ( virtual/krb5[${WINE_USEDEP}] )
+	netapi? ( net-fs/samba[${WINE_USEDEP}] )
+	odbc? ( dev-db/unixODBC[${WINE_USEDEP}] )
+	opengl? ( media-libs/libglvnd[X?,${WINE_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${WINE_USEDEP}] )
+	ssl? ( net-libs/gnutls:=[${WINE_USEDEP}] )
+	truetype? ( media-libs/freetype[${WINE_USEDEP}] )
+	v4l? ( media-libs/libv4l[${WINE_USEDEP}] )
+	vulkan? ( media-libs/vulkan-loader[X?,wayland?,${WINE_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	X? (
+		x11-libs/libX11[${WINE_USEDEP}]
+		x11-libs/libXext[${WINE_USEDEP}]
+	)
+	alsa? ( media-libs/alsa-lib[${WINE_USEDEP}] )
+	ffmpeg? ( media-video/ffmpeg:=[${WINE_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${WINE_USEDEP}] )
+	gstreamer? (
+		dev-libs/glib:2[${WINE_USEDEP}]
+		media-libs/gst-plugins-base:1.0[${WINE_USEDEP}]
+		media-libs/gstreamer:1.0[${WINE_USEDEP}]
+	)
+	opencl? ( virtual/opencl[${WINE_USEDEP}] )
+	pcap? ( net-libs/libpcap[${WINE_USEDEP}] )
+	pulseaudio? ( media-libs/libpulse[${WINE_USEDEP}] )
+	scanner? ( media-gfx/sane-backends[${WINE_USEDEP}] )
+	smartcard? ( sys-apps/pcsc-lite[${WINE_USEDEP}] )
+	udev? ( virtual/libudev:=[${WINE_USEDEP}] )
+	usb? ( dev-libs/libusb:1[${WINE_USEDEP}] )
+	wayland? (
+		dev-libs/wayland[${WINE_USEDEP}]
+		x11-libs/libxkbcommon[${WINE_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}[${WINE_USEDEP}]
+		wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+	)
+	gstreamer? ( media-plugins/gst-plugins-meta:1.0[${WINE_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-6.14
+	X? ( x11-base/xorg-proto )
+	bluetooth? ( net-wireless/bluez )
+	opencl? ( dev-util/opencl-headers )
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-vcs/git
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	amd64? ( dev-lang/nasm )
+	nls? ( sys-devel/gettext )
+	wayland? ( dev-util/wayland-scanner )
+	x86? ( dev-lang/nasm )
+"
+
+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
+# intentionally ignored: https://gitlab.winehq.org/wine/wine/-/commit/433c2f8c06
+QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/wine-preloader"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-7.17-noexecstack.patch
+	"${FILESDIR}"/${PN}-8.13-rpath.patch
+)
+
+src_unpack() {
+	if [[ ${PV} == 9999 ]]; then
+		EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
+		git-r3_src_unpack
+
+		# hack: use subshell to preserve state (including what git-r3 unpack
+		# sets) for smart-live-rebuild as this is not the repo to look at
+		(
+			EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
+			EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
+			EGIT_CHECKOUT_DIR=${S}
+			einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
+			git-r3_src_unpack
+		)
+	else
+		default
+	fi
+}
+
+src_prepare() {
+	local patchinstallargs=(
+		--all
+		--no-autoconf
+		${MY_WINE_STAGING_CONF}
+	)
+
+	edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
+
+	wine_src_prepare
+}
+
+src_configure() {
+	local wineconfargs=(
+		$(use_enable gecko mshtml)
+		$(use_enable mono mscoree)
+		--disable-tests
+
+		$(use_with X x)
+		$(use_with alsa)
+		--without-capi #977907
+		$(use_with cups)
+		$(use_with dbus)
+		$(use_with ffmpeg)
+		$(use_with fontconfig)
+		$(use_with gphoto2 gphoto)
+		$(use_with gstreamer)
+		--without-hwloc # currently only used on FreeBSD
+		$(use_with kerberos gssapi)
+		$(use_with kerberos krb5)
+		$(use_with netapi)
+		$(use_with nls gettext)
+		$(use_with opencl)
+		$(use_with opengl)
+		--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 usb)
+		$(use_with v4l v4l2)
+		$(use_with vulkan)
+		$(use_with wayland)
+		$(use_with xinerama)
+
+		$(usev !bluetooth '
+			ac_cv_header_bluetooth_bluetooth_h=no
+			ac_cv_header_bluetooth_rfcomm_h=no
+		')
+		$(usev !odbc ac_cv_lib_soname_odbc=)
+	)
+
+	wine_src_configure
+}
+
+src_install() {
+	use perl || local WINE_SKIP_INSTALL=(
+		${WINE_DATADIR}/man/man1/wine{dump,maker}.1
+		${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}}
+	)
+
+	wine_src_install
+
+	dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+	wine_pkg_postinst
+
+	optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+		games-util/game-device-udev-rules
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.