public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
Date: Wed, 30 Apr 2025 22:14:18 +0000 (UTC)	[thread overview]
Message-ID: <1746051221.742c2b529773a012a3342f6f9df2413bfa497c6f.ionen@gentoo> (raw)

commit:     742c2b529773a012a3342f6f9df2413bfa497c6f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 30 22:08:40 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Apr 30 22:13:41 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=742c2b52

app-emulation/wine-proton: add 10.0.1c

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

 app-emulation/wine-proton/Manifest                 |   1 +
 .../wine-proton/wine-proton-10.0.1c.ebuild         | 245 +++++++++++++++++++++
 2 files changed, 246 insertions(+)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 49e1f30bb925..cd5de8fdb236 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,4 @@
 DIST proton-wine-10.0-1b.tar.gz 52174837 BLAKE2B 3ee655d34cf469265aa405e4079d80c8bfadbaa1d49d21d80cec55ef568f8a330212d1d104785f435deb778c2b74a7b0b3c5a82822c2875cff6d35eaa06c569e SHA512 752dfa5182f0eb9ada4bb75e6877382d04a19ba9e0945b1affeb24bd31a151a98d473986054510086120f1165e715dfe48c24efb51dacb7d372795f57a2517ce
+DIST proton-wine-10.0-1c.tar.gz 52178143 BLAKE2B 350e392785f39458e47ddb7ad4759fed4b3d85c6a59e340ee5b4612648eaedc3d17497f9a313096afce7c899996c867de81af7c034731e97d7e147bb7daabbec SHA512 dcdc1abd754b5c38ebcde8e558c8e96f1007a93739f19a15f8def9889183aae2006e8bbeccfd80d137ed5e75f261f2ae757eef490c5813d2fe889fed2e0bfa3b
 DIST proton-wine-8.0-5c.tar.gz 48710071 BLAKE2B 99627baea6fb3d51231aa1e75a2734c3c1baba88326baf15b3d421d57a00472d25ba51c2140b51152c8aeae7dd240d3d77bb0d8835aa7eb3b745a51be120f8bb SHA512 0cf98d4e67866e55cc8cd5ea8da0d76aee8e37b130b3cbca604083c913e98ddf9038ecd6f9761d2e11443e282b372977400e251456c6d40e1365210c7578234d
 DIST proton-wine-9.0-4.tar.gz 49339922 BLAKE2B 914ca093ac288c26400e4eeb2ea33943fc8ad89052aa7c97b5c44286dc175745720455d65163baa90b0d0271eb8028549315a3e8095b91947db2bd96c6fc4852 SHA512 e061f0a55b25493f67ca3add8c7e41020bb57cb15e8fb4fdf3c23f0cab2d00b703c90fbcf0dc1ca8b67e1726a76cee910e9ea6f567c88bc6c520dd6c9dbb75e9

diff --git a/app-emulation/wine-proton/wine-proton-10.0.1c.ebuild b/app-emulation/wine-proton/wine-proton-10.0.1c.ebuild
new file mode 100644
index 000000000000..2a45acabcb62
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-10.0.1c.ebuild
@@ -0,0 +1,245 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit optfeature python-any-r1 readme.gentoo-r1 toolchain-funcs wine
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.4.0
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+	EGIT_BRANCH="bleeding-edge"
+else
+	SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+	S=${WORKDIR}/${PN}-wine-${WINE_PV}
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+	+X +alsa crossdev-mingw +dbus ffmpeg +fontconfig +gecko +gstreamer
+	llvm-libunwind +mono nls perl pulseaudio +sdl selinux +ssl udev
+	+unwind usb v4l wayland video_cards_amdgpu +xcomposite xinerama
+"
+# headless is not really supported with wine-proton, use normal Wine
+REQUIRED_USE="|| ( 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="
+	dev-libs/libgcrypt:=[${WINE_USEDEP}]
+	media-libs/freetype[${WINE_USEDEP}]
+	media-libs/libglvnd[X?,${WINE_USEDEP}]
+	media-libs/vulkan-loader[X?,wayland?,${WINE_USEDEP}]
+	X? (
+		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}]
+		xcomposite? ( x11-libs/libXcomposite[${WINE_USEDEP}] )
+		xinerama? ( x11-libs/libXinerama[${WINE_USEDEP}] )
+	)
+	dbus? ( sys-apps/dbus[${WINE_USEDEP}] )
+	fontconfig? ( media-libs/fontconfig[${WINE_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${WINE_USEDEP}] )
+	ssl? (
+		dev-libs/gmp:=[${WINE_USEDEP}]
+		net-libs/gnutls:=[${WINE_USEDEP}]
+	)
+	v4l? ( media-libs/libv4l[${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}] )
+	gstreamer? (
+		dev-libs/glib:2[${WINE_USEDEP}]
+		media-libs/gst-plugins-base:1.0[opengl,${WINE_USEDEP}]
+		media-libs/gstreamer:1.0[${WINE_USEDEP}]
+	)
+	pulseaudio? ( media-libs/libpulse[${WINE_USEDEP}] )
+	udev? ( virtual/libudev:=[${WINE_USEDEP}] )
+	unwind? (
+		llvm-libunwind? ( llvm-runtimes/libunwind[${WINE_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${WINE_USEDEP}] )
+	)
+	usb? ( dev-libs/libusb:1[${WINE_USEDEP}] )
+	video_cards_amdgpu? ( x11-libs/libdrm[video_cards_amdgpu,${WINE_USEDEP}] )
+	wayland? (
+		dev-libs/wayland[${WINE_USEDEP}]
+		x11-libs/libxkbcommon[${WINE_USEDEP}]
+	)
+"
+RDEPEND="
+	${WINE_COMMON_DEPEND}
+	app-emulation/wine-desktop-common
+	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
+	)
+	selinux? ( sec-policy/selinux-wine )
+"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	|| (
+		sys-devel/gcc:*
+		llvm-runtimes/compiler-rt:*[atomic-builtins(-)]
+	)
+	sys-kernel/linux-headers
+	X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-lang/perl
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	wayland? ( dev-util/wayland-scanner )
+"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+	__clear_cache # unused on amd64+x86 (bug #900332)
+	res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-7.0.4-musl.patch
+	"${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+	"${FILESDIR}"/${PN}-8.0.1c-unwind.patch
+	"${FILESDIR}"/${PN}-8.0.4-restore-menubuilder.patch
+	"${FILESDIR}"/${PN}-9.0-rpath.patch
+	"${FILESDIR}"/${PN}-9.0.4-binutils2.44.patch
+)
+
+src_prepare() {
+	# similarly to staging, append to `wine --version` for identification
+	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+	wine_src_prepare
+
+	# this is kind-of best effort and ignores llvm slots, ideally
+	# atomic-builtins should be package.use.force then could drop this
+	if tc-is-clang && [[ $(tc-get-c-rtlib) == compiler-rt ]] &&
+		has_version -d 'llvm-runtimes/compiler-rt[-atomic-builtins(-)]'
+	then
+		# needed by Valve's fsync patches if using compiler-rt w/o atomics
+		sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+			-i dlls/{ntdll,winevulkan}/Makefile.in || die
+	fi
+
+	# proton variant also needs specfiles and vulkan
+	tools/make_specfiles || die # perl
+	dlls/winevulkan/make_vulkan -X video.xml -x vk.xml || die # python
+}
+
+src_configure() {
+	local wineconfargs=(
+		# upstream (Valve) doesn't really support misc configurations (e.g.
+		# adds vulkan code not always guarded by --with-vulkan), so force
+		# some options that are typically needed by games either way
+		--with-freetype
+		--with-opengl
+		--with-vulkan
+
+		# ...and disable most options unimportant for games and unused by
+		# Proton rather than expose as volatile USEs with little support
+		--without-capi
+		--without-cups
+		--without-gphoto
+		--without-gssapi
+		--without-krb5
+		--without-netapi
+		--without-opencl
+		--without-pcap
+		--without-pcsclite
+		--without-sane
+		ac_cv_lib_soname_odbc=
+
+		$(use_enable gecko mshtml)
+		$(use_enable mono mscoree)
+		$(use_enable video_cards_amdgpu amd_ags_x64)
+		--disable-tests
+
+		$(use_with X x)
+		$(use_with alsa)
+		$(use_with dbus)
+		$(use_with ffmpeg)
+		$(use_with fontconfig)
+		$(use_with gstreamer)
+		$(use_with nls gettext)
+		--without-osmesa # media-libs/mesa no longer supports this
+		--without-oss # media-sound/oss is not packaged (OSSv4)
+		$(use_with pulseaudio pulse)
+		$(use_with sdl)
+		$(use_with ssl gnutls)
+		$(use_with udev)
+		$(use_with unwind)
+		$(use_with usb)
+		$(use_with v4l v4l2)
+		$(use_with wayland)
+		$(use_with xcomposite)
+		$(use_with xinerama)
+
+		--without-piper # unpackaged, for tts but unusable without steam
+	)
+
+	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*
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+	wine_src_postinst
+
+	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+	optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+		games-util/game-device-udev-rules
+
+	ewarn
+	ewarn "Warning: please consider ${PN} provided as-is without real"
+	ewarn "support. Upstream does not want bug reports unless can reproduce"
+	ewarn "with real Steam+Proton, and Gentoo is largely unable to help"
+	ewarn "unless it is a build/packaging issue. So, if need support, try"
+	ewarn "normal Wine or Proton instead."
+}


             reply	other threads:[~2025-04-30 22:14 UTC|newest]

Thread overview: 116+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-30 22:14 Ionen Wolkens [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-11-04 10:28 [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/ Ionen Wolkens
2025-10-24 20:36 Arthur Zamarin
2025-10-18  3:00 Ionen Wolkens
2025-09-04  4:26 Ionen Wolkens
2025-08-27  4:40 Ionen Wolkens
2025-08-26 15:39 Ionen Wolkens
2025-08-18  5:52 Ionen Wolkens
2025-07-30  4:03 Ionen Wolkens
2025-07-30  4:03 Ionen Wolkens
2025-06-29  4:20 Ionen Wolkens
2025-06-09 13:11 Ionen Wolkens
2025-06-02  3:05 Ionen Wolkens
2025-05-16  4:37 Ionen Wolkens
2025-05-12  1:46 Ionen Wolkens
2025-05-12  1:46 Ionen Wolkens
2025-05-09 22:29 Ionen Wolkens
2025-05-08  5:59 Ionen Wolkens
2025-05-07  0:25 Ionen Wolkens
2025-04-30  3:37 Ionen Wolkens
2025-04-30  2:36 Ionen Wolkens
2025-04-30  2:36 Ionen Wolkens
2025-04-30  2:36 Ionen Wolkens
2025-04-21  2:38 Ionen Wolkens
2025-02-27 12:30 Ionen Wolkens
2025-02-26 20:33 Arthur Zamarin
2024-12-31 23:51 Ionen Wolkens
2024-12-11 21:43 Ionen Wolkens
2024-12-11 21:43 Ionen Wolkens
2024-12-11  8:45 Ionen Wolkens
2024-11-28  5:37 Ionen Wolkens
2024-11-27  9:58 Ionen Wolkens
2024-11-18 23:37 Ionen Wolkens
2024-10-05  8:12 Ionen Wolkens
2024-10-05  8:12 Ionen Wolkens
2024-10-02  4:35 Ionen Wolkens
2024-09-20  7:15 Ionen Wolkens
2024-09-19 21:07 Ionen Wolkens
2024-07-06  7:03 Ionen Wolkens
2024-06-12 23:52 Ionen Wolkens
2024-06-12 23:52 Ionen Wolkens
2024-05-31  6:20 Ionen Wolkens
2024-05-22  3:32 Ionen Wolkens
2024-05-21  3:01 Ionen Wolkens
2024-05-16  2:08 Ionen Wolkens
2024-05-10  4:26 Ionen Wolkens
2024-05-07 14:28 Ionen Wolkens
2024-05-07  7:19 Ionen Wolkens
2024-05-03  0:18 Ionen Wolkens
2024-04-22 20:31 Ionen Wolkens
2024-04-22 20:31 Ionen Wolkens
2024-03-24 18:39 Ionen Wolkens
2024-03-22 12:31 Ionen Wolkens
2024-03-20  7:17 Ionen Wolkens
2024-03-12  4:29 Ionen Wolkens
2024-03-05  6:03 Ionen Wolkens
2024-01-22 23:34 Ionen Wolkens
2024-01-17 16:20 Ionen Wolkens
2024-01-13 13:11 Ionen Wolkens
2024-01-13 13:11 Ionen Wolkens
2024-01-08 21:48 Ionen Wolkens
2024-01-08 12:59 Ionen Wolkens
2024-01-08 12:59 Ionen Wolkens
2024-01-04 14:20 Ionen Wolkens
2023-12-21  6:49 Ionen Wolkens
2023-12-01  8:04 Ionen Wolkens
2023-12-01  6:46 Ionen Wolkens
2023-11-09  6:37 Ionen Wolkens
2023-10-06  9:23 Arthur Zamarin
2023-10-06  6:43 Ionen Wolkens
2023-08-28 12:19 Ionen Wolkens
2023-08-19  9:51 Ionen Wolkens
2023-08-14 10:26 Ionen Wolkens
2023-08-13 19:45 Ionen Wolkens
2023-08-11 10:52 Ionen Wolkens
2023-08-11 10:52 Ionen Wolkens
2023-08-11 10:52 Ionen Wolkens
2023-08-10 10:53 Ionen Wolkens
2023-08-10 10:53 Ionen Wolkens
2023-08-10 10:53 Ionen Wolkens
2023-08-06  4:32 Ionen Wolkens
2023-07-21 20:42 Ionen Wolkens
2023-07-21 20:42 Ionen Wolkens
2023-07-11  5:37 Ionen Wolkens
2023-06-26 10:12 Ionen Wolkens
2023-06-24  4:56 Ionen Wolkens
2023-06-02  6:54 Ionen Wolkens
2023-05-23 17:15 Ionen Wolkens
2023-05-06 11:17 Ionen Wolkens
2023-05-06  9:42 Arthur Zamarin
2023-05-02 19:41 Ionen Wolkens
2023-05-02 16:56 Ionen Wolkens
2023-04-29  9:43 Ionen Wolkens
2023-04-24  3:43 Ionen Wolkens
2023-04-24  3:43 Ionen Wolkens
2023-04-19  4:36 Ionen Wolkens
2023-04-17 20:45 Ionen Wolkens
2023-03-08 10:25 Ionen Wolkens
2023-03-04 12:08 Ionen Wolkens
2023-02-03 19:49 Ionen Wolkens
2023-02-03 19:49 Ionen Wolkens
2022-12-19  7:23 Ionen Wolkens
2022-12-06  1:15 Ionen Wolkens
2022-12-02  3:18 Ionen Wolkens
2022-11-23 23:24 Ionen Wolkens
2022-11-23 22:51 Ionen Wolkens
2022-11-23 22:38 Ionen Wolkens
2022-11-23 20:39 Ionen Wolkens
2022-11-23 20:39 Ionen Wolkens
2022-11-17 14:58 Ionen Wolkens
2022-11-12  2:50 Ionen Wolkens
2022-10-31  0:54 Ionen Wolkens
2022-10-23  7:20 Ionen Wolkens
2022-09-14 23:11 Ionen Wolkens
2022-09-10  9:48 Ionen Wolkens
2022-09-10  9:48 Ionen Wolkens

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1746051221.742c2b529773a012a3342f6f9df2413bfa497c6f.ionen@gentoo \
    --to=ionen@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox