From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id E4F96158012 for ; Sat, 10 Sep 2022 09:48:32 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id F3707E07AE; Sat, 10 Sep 2022 09:48:31 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id D7E5CE07AE for ; Sat, 10 Sep 2022 09:48:31 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id D7405340F30 for ; Sat, 10 Sep 2022 09:48:30 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 745B1599 for ; Sat, 10 Sep 2022 09:48:29 +0000 (UTC) From: "Ionen Wolkens" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ionen Wolkens" Message-ID: <1662803233.72553a083c0dd0d384b7ec922f4e20d357a9001a.ionen@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-emulation/wine-proton/wine-proton-7.0.4.ebuild X-VCS-Directories: app-emulation/wine-proton/ X-VCS-Committer: ionen X-VCS-Committer-Name: Ionen Wolkens X-VCS-Revision: 72553a083c0dd0d384b7ec922f4e20d357a9001a X-VCS-Branch: master Date: Sat, 10 Sep 2022 09:48:29 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 3293cc35-1331-4c67-a7c8-6d8a187f30ef X-Archives-Hash: 8c562b91e5c928aadab5cd820143ac05 commit: 72553a083c0dd0d384b7ec922f4e20d357a9001a Author: Ionen Wolkens gentoo org> AuthorDate: Fri Sep 9 01:34:49 2022 +0000 Commit: Ionen Wolkens gentoo 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 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}"}"