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: Sat, 10 Sep 2022 09:48:29 +0000 (UTC)	[thread overview]
Message-ID: <1662803233.72553a083c0dd0d384b7ec922f4e20d357a9001a.ionen@gentoo> (raw)

commit:     72553a083c0dd0d384b7ec922f4e20d357a9001a
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  9 01:34:49 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Sep 10 09:47:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=72553a08

app-emulation/wine-proton: misc ebuild adjustments

Mostly text/comment/style updates plus live support to match what
will be used in wine-staging/vanilla ebuilds rebased on this.

Also restrict tests, it was no-op but makes it more explicit that
they exists and we're not running them.

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

 app-emulation/wine-proton/wine-proton-7.0.4.ebuild | 61 ++++++++++++++--------
 1 file changed, 38 insertions(+), 23 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
index b7bb3868a11a..9101a5f62172 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -12,20 +12,32 @@ WINE_GECKO=2.47.3
 WINE_MONO=7.3.0
 WINE_PV=$(ver_rs 2 -)
 
+if [[ ${PV} == *9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+	EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+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/"
-SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
-S="${WORKDIR}/${PN}-wine-${WINE_PV}"
 
 LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
 SLOT="${PV}"
-KEYWORDS="-* ~amd64 ~x86"
 IUSE="
 	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
 	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls openal
 	osmesa perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb
 	v4l +vkd3d +xcomposite xinerama"
 
+# 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/gmp:=[${MULTILIB_USEDEP}]
 	dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
@@ -106,25 +118,29 @@ pkg_pretend() {
 	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
-			type -P ${mingw}-gcc >/dev/null && continue
-			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"
-			eerror "--> Note that mingw builds are default for ${PN} even without this USE."
-			die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+			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"
+				eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+				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)"
-	[[ ${WINE_GECKO}$'\n'${WINE_MONO} == "${geckomono}" ]] ||
-		die "gecko/mono mismatch, has:" ${geckomono}
+	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
 
@@ -134,10 +150,10 @@ src_prepare() {
 	# similarly to staging, append to `wine --version` for identification
 	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
 
-	# source has outdated auto-generated files, update like Proton's Makefile
+	# always update for patches (including user's wrt #432348)
 	eautoreconf
 	tools/make_requests || die # perl
-	dlls/winevulkan/make_vulkan -x vk.xml || die # python
+	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
 }
 
 src_configure() {
@@ -162,7 +178,6 @@ src_configure() {
 
 		# ...and disable most options unimportant for games and unused by
 		# Proton rather than expose as volatile USEs with little support
-		--disable-tests # does not build and is disabled in Proton's Makefile
 		--without-capi
 		--without-cups
 		--without-gphoto
@@ -177,13 +192,14 @@ src_configure() {
 
 		$(use_enable gecko mshtml)
 		$(use_enable mono mscoree)
+		--disable-tests
 		$(use_with alsa)
 		$(use_with fontconfig)
 		$(use_with gstreamer)
 		$(use_with nls gettext)
 		$(use_with openal)
 		$(use_with osmesa)
-		--without-oss # media-sound/oss is not packaged
+		--without-oss # media-sound/oss is not packaged (OSSv4)
 		$(use_with pulseaudio pulse)
 		$(use_with sdl)
 		$(use_with ssl gnutls)
@@ -220,7 +236,7 @@ src_configure() {
 				$(usev abi_x86_64 --with-wine64=../build64)
 				TARGETFLAGS=-m32 # for widl
 			)
-			# _setup is optional, but use over Wine's auto-detect (+bug 472038)
+			# _setup is optional, but use over Wine's auto-detect (+#472038)
 			multilib_toolchain_setup x86
 		fi
 		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
@@ -262,8 +278,7 @@ src_install() {
 	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, quotes are
-	# enough to prevent bug #615218 if it somehow happens
+	# create variant wrappers for eselect-wine
 	local bin
 	for bin in "${ED}"${WINE_PREFIX}/bin/*; do
 		make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"


             reply	other threads:[~2022-09-10  9:48 UTC|newest]

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