public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-09-10  9:48 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-09-10  9:48 UTC (permalink / raw
  To: gentoo-commits

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}"}"


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-09-10  9:48 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-09-10  9:48 UTC (permalink / raw
  To: gentoo-commits

commit:     6a3d944e75698d85244745c0f1a723a2e693dc7a
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  9 11:11:43 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Sep 10 09:47:14 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a3d944e

app-emulation/wine-proton: add 7.0.9999 (experimental_7.0)

Same as 7.0.4 ebuild except:
* depend on gst-plugins-base[opengl] (checked by configure.ac)
* wine-mono-7.3.0 -> 7.3.1

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

 .../wine-proton/wine-proton-7.0.9999.ebuild        | 319 +++++++++++++++++++++
 1 file changed, 319 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
new file mode 100644
index 000000000000..ea37d6fbf06a
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -0,0 +1,319 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{8..11} )
+inherit autotools flag-o-matic multilib multilib-build \
+	python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.3.1
+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/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+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}]
+	media-libs/freetype[${MULTILIB_USEDEP}]
+	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	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}]
+	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	x11-libs/libX11[${MULTILIB_USEDEP}]
+	x11-libs/libXext[${MULTILIB_USEDEP}]
+	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+	)
+	openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
+	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+	unwind? (
+		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+	)
+	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+	vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
+RDEPEND="
+	${WINE_COMMON_DEPEND}
+	app-emulation/wine-desktop-common
+	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+	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
+	)
+	selinux? ( sec-policy/selinux-wine )
+	udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	sys-kernel/linux-headers
+	x11-base/xorg-proto"
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-lang/perl
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-1.2.2-r1"
+
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-7.0.4-llvm-libunwind.patch
+	"${FILESDIR}"/${PN}-7.0.4-musl.patch
+	"${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+	"${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.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}) $(usev abi_x86_32 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"
+				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)
+	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
+
+	# ensure .desktop calls this variant + slot
+	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+	# similarly to staging, append to `wine --version` for identification
+	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+	# always update for patches (including user's wrt #432348)
+	eautoreconf
+	tools/make_requests || die # perl
+	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+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
+
+		# upstream (Valve) doesn't really support misc configurations (e.g.
+		# adds vulkan code not always guarded by --with-vulkan), so force
+		# some major options that are typically needed by games either way
+		--with-freetype
+		--with-mingw # needed by many, notably Blizzard titles
+		--with-opengl
+		--with-vulkan
+		--with-x
+
+		# ...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-ldap
+		--without-netapi
+		--without-opencl
+		--without-pcap
+		--without-sane
+		ac_cv_lib_soname_odbc=
+
+		$(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 (OSSv4)
+		$(use_with pulseaudio pulse)
+		$(use_with sdl)
+		$(use_with ssl gnutls)
+		$(use_with udev)
+		$(use_with udisks dbus) # dbus is only used for udisks
+		$(use_with unwind)
+		$(use_with usb)
+		$(use_with v4l v4l2)
+		$(use_with vkd3d)
+		$(use_with xcomposite)
+		$(use_with xinerama)
+	)
+
+	tc-ld-force-bfd #867097
+	use custom-cflags || strip-flags # can break in obscure ways, also no lto
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# build using upstream's way (--with-wine64)
+	# order matters: 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
+
+		# CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
+		if (( bits == 64 )); then
+			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+			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
+		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
+		: "${CROSSCFLAGS:=$(CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+		: "${CROSSLDFLAGS:=$(
+			filter-flags '-fuse-ld=*'
+			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+		export CROSS{CC,{C,LD}FLAGS}
+
+		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
+
+	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
+	if use abi_x86_64 && use !abi_x86_32; then
+		dosym wine64 ${WINE_PREFIX}/bin/wine
+		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+		local man
+		for man in ../build64/loader/wine.*man; do
+			: "${man##*/wine}"
+			: "${_%.*}"
+			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+			newins ${man} wine.1
+		done
+	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
+
+	# 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
+	use debug ||
+		find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+
+	dodoc ANNOUNCE AUTHORS README* documentation/README*
+	readme.gentoo_create_doc
+}
+
+wine-eselect() {
+	ebegin "${1^}ing ${P} using eselect-wine"
+	eselect wine ${1} ${P} &&
+		eselect wine ${1} --${PN#wine-} ${P} &&
+		eselect wine update --if-unset &&
+		eselect wine update --${PN#wine-} --if-unset
+	eend ${?} || die -n "eselect failed, may need to manually handle ${P}"
+}
+
+pkg_preinst() {
+	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+	wine-eselect register
+
+	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+}
+
+pkg_prerm() {
+	nonfatal wine-eselect deregister
+}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-09-14 23:11 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-09-14 23:11 UTC (permalink / raw
  To: gentoo-commits

commit:     7151cb7165bc6e22ae5b1eb968e626cdd734e30e
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 14 22:29:36 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Sep 14 23:10:17 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7151cb71

app-emulation/wine-proton: filter ssp for mingw

Bug: https://bugs.gentoo.org/870136
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.4.ebuild    | 4 +++-
 app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 4 +++-
 2 files changed, 6 insertions(+), 2 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 4d1b0a1aa939..069df0440aa8 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -242,7 +242,9 @@ src_configure() {
 		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
 
 		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
-		: "${CROSSCFLAGS:=$(CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+		: "${CROSSCFLAGS:=$(
+			filter-flags '-fstack-protector*' #870136
+			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'
 			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 0df6fada339d..3e08621d9527 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -242,7 +242,9 @@ src_configure() {
 		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
 
 		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
-		: "${CROSSCFLAGS:=$(CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+		: "${CROSSCFLAGS:=$(
+			filter-flags '-fstack-protector*' #870136
+			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'
 			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-10-23  7:20 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-10-23  7:20 UTC (permalink / raw
  To: gentoo-commits

commit:     f73fa3368e506eb6ee5bfafb73c3d10bee4a012b
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 23 07:15:28 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Oct 23 07:20:04 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f73fa336

app-emulation/wine-proton: filter -fstack-clash-protection

Bug: https://bugs.gentoo.org/758914
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.4.ebuild    | 1 +
 app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 1 +
 2 files changed, 2 insertions(+)

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 069df0440aa8..c1cd2ca3a3e2 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -243,6 +243,7 @@ src_configure() {
 
 		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
 		: "${CROSSCFLAGS:=$(
+			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 3e08621d9527..4e9166072474 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -243,6 +243,7 @@ src_configure() {
 
 		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
 		: "${CROSSCFLAGS:=$(
+			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-10-31  0:54 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-10-31  0:54 UTC (permalink / raw
  To: gentoo-commits

commit:     27d7f4a53d3a3050ba26b7bee12e24a8210edf12
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 31 00:45:35 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Oct 31 00:47:50 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27d7f4a5

app-emulation/wine-proton: filter -mfunction-return=thunk for mingw

Unfortunately mingw doesn't play well with many security/mitigation
flags. May need to consider a mingw.eclass if keep adding more of
these to every ebuilds using it.

Bug: https://bugs.gentoo.org/878849
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.4.ebuild    | 1 +
 app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 1 +
 2 files changed, 2 insertions(+)

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 c1cd2ca3a3e2..b266c555dfea 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -245,6 +245,7 @@ src_configure() {
 		: "${CROSSCFLAGS:=$(
 			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
+			filter-flags '-mfunction-return=thunk*' #878849
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 4e9166072474..93b08c4d0bfd 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -245,6 +245,7 @@ src_configure() {
 		: "${CROSSCFLAGS:=$(
 			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
+			filter-flags '-mfunction-return=thunk*' #878849
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-11-12  2:50 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-11-12  2:50 UTC (permalink / raw
  To: gentoo-commits

commit:     fcdfbd6877cf396c503f78d59fa1579e9ca31ab4
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 12 02:00:24 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Nov 12 02:49:50 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fcdfbd68

app-emulation/wine-proton: skip deregister for rebuilds

Not ideal given still doesn't handle the issue where variant can be
switched rather than pick same-variant+new-version. Not to mention it
further increase chances of register mismatch as it cannot update
itself into a clean state (requires eselect-wine rewrite).

Closes: https://bugs.gentoo.org/881035
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.4.ebuild    | 4 +++-
 app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 4 +++-
 2 files changed, 6 insertions(+), 2 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 b266c555dfea..dcb70f280da0 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -319,5 +319,7 @@ pkg_postinst() {
 }
 
 pkg_prerm() {
-	nonfatal wine-eselect deregister
+	if [[ ${REPLACED_BY_VERSION%-r*} != ${PV} ]]; then #881035
+		nonfatal wine-eselect deregister
+	fi
 }

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 93b08c4d0bfd..f97da826ab6c 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -319,5 +319,7 @@ pkg_postinst() {
 }
 
 pkg_prerm() {
-	nonfatal wine-eselect deregister
+	if [[ ${REPLACED_BY_VERSION%-r*} != ${PV} ]]; then #881035
+		nonfatal wine-eselect deregister
+	fi
 }


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-11-17 14:58 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-11-17 14:58 UTC (permalink / raw
  To: gentoo-commits

commit:     fce12026915731c51ac2828ffebf86e18a75b539
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 17 12:13:51 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Nov 17 13:46:40 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fce12026

app-emulation/wine-proton: bump mono in live

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

 app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index f97da826ab6c..6206f63f753b 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build \
 	python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 
 WINE_GECKO=2.47.3
-WINE_MONO=7.3.1
+WINE_MONO=7.4.0
 WINE_PV=$(ver_rs 2 -)
 
 if [[ ${PV} == *9999 ]]; then


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-11-23 20:39 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-11-23 20:39 UTC (permalink / raw
  To: gentoo-commits

commit:     e733c4970185fb37791f35972fcbd21313d0f117
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 23 17:57:14 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 23 20:38:22 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e733c497

app-emulation/wine-proton: add 7.0.5

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

 app-emulation/wine-proton/Manifest                 |   1 +
 app-emulation/wine-proton/wine-proton-7.0.5.ebuild | 314 +++++++++++++++++++++
 2 files changed, 315 insertions(+)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 69394f0077a5..9a39363fd8f3 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1 +1,2 @@
 DIST proton-wine-7.0-4.tar.gz 45561670 BLAKE2B 0bc3432e5aa9ca1655e76b31dcbef08febe263e07d3635d005fbc7798b3a08fa50e2e736f33b18700f187dc755f012d7e8ae3edae6a63fb433cd9b8861b747b0 SHA512 dccdf4115e2a7c92981163783f5705e78fbfa042f06123e4802251bd2c558e8b4de7e3d2e114a5d942f9493eb64fb7fdedff2e6e8b3f21ea1de1156456930d8c
+DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b

diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
new file mode 100644
index 000000000000..18b14fa69ee3
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -0,0 +1,314 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{8..11} )
+inherit autotools flag-o-matic multilib multilib-build \
+	python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.3.1
+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/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+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}]
+	media-libs/freetype[${MULTILIB_USEDEP}]
+	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	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}]
+	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	x11-libs/libX11[${MULTILIB_USEDEP}]
+	x11-libs/libXext[${MULTILIB_USEDEP}]
+	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+	)
+	openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
+	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+	unwind? (
+		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+	)
+	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+	vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
+RDEPEND="
+	${WINE_COMMON_DEPEND}
+	app-emulation/wine-desktop-common
+	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+	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
+	)
+	selinux? ( sec-policy/selinux-wine )
+	udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	sys-kernel/linux-headers
+	x11-base/xorg-proto"
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-lang/perl
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+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}-7.0.4-restore-menubuilder.patch
+	"${FILESDIR}"/${PN}-7.0.4-unwind.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}) $(usev abi_x86_32 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"
+				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)
+	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
+
+	# ensure .desktop calls this variant + slot
+	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+	# similarly to staging, append to `wine --version` for identification
+	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+	# always update for patches (including user's wrt #432348)
+	eautoreconf
+	tools/make_requests || die # perl
+	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+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
+
+		# upstream (Valve) doesn't really support misc configurations (e.g.
+		# adds vulkan code not always guarded by --with-vulkan), so force
+		# some major options that are typically needed by games either way
+		--with-freetype
+		--with-mingw # needed by many, notably Blizzard titles
+		--with-opengl
+		--with-vulkan
+		--with-x
+
+		# ...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-ldap
+		--without-netapi
+		--without-opencl
+		--without-pcap
+		--without-sane
+		ac_cv_lib_soname_odbc=
+
+		$(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 (OSSv4)
+		$(use_with pulseaudio pulse)
+		$(use_with sdl)
+		$(use_with ssl gnutls)
+		$(use_with udev)
+		$(use_with udisks dbus) # dbus is only used for udisks
+		$(use_with unwind)
+		$(use_with usb)
+		$(use_with v4l v4l2)
+		$(use_with vkd3d)
+		$(use_with xcomposite)
+		$(use_with xinerama)
+	)
+
+	tc-ld-force-bfd #867097
+	use custom-cflags || strip-flags # can break in obscure ways, also no lto
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# build using upstream's way (--with-wine64)
+	# order matters: 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
+
+		# CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
+		if (( bits == 64 )); then
+			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+			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
+		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
+		: "${CROSSCFLAGS:=$(
+			filter-flags '-fstack-clash-protection' #758914
+			filter-flags '-fstack-protector*' #870136
+			filter-flags '-mfunction-return=thunk*' #878849
+			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+		: "${CROSSLDFLAGS:=$(
+			filter-flags '-fuse-ld=*'
+			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+		export CROSS{CC,{C,LD}FLAGS}
+
+		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
+
+	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
+	if use abi_x86_64 && use !abi_x86_32; then
+		dosym wine64 ${WINE_PREFIX}/bin/wine
+		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+		local man
+		for man in ../build64/loader/wine.*man; do
+			: "${man##*/wine}"
+			: "${_%.*}"
+			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+			newins ${man} wine.1
+		done
+	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
+
+	# 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
+	use debug ||
+		find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+
+	dodoc ANNOUNCE AUTHORS README* documentation/README*
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+	eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+	eselect wine update --if-unset || die
+}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-11-23 20:39 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-11-23 20:39 UTC (permalink / raw
  To: gentoo-commits

commit:     bbe6f606d4b0bb181c537d1008da601268b3f596
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 23 17:26:50 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 23 20:38:21 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbe6f606

app-emulation/wine-proton: migrate to eselect-wine-2

While >=eselect-wine-2 does not need ebuild modifications to
work thanks to compat code, downgrading it does not work nicely
given Wine slots won't be "registered" anymore (requires doing
it manually, or re-emerging wine). So cleanup now and force
IDEPEND on newer to help prevent mishaps.

The replace check, nonfatal, registering, etc... is no longer
necessary. prerm -> postrm is intended, prerm still works but
relies on hacks to do so and should be avoided.

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

 app-emulation/wine-proton/wine-proton-7.0.4.ebuild  | 21 +++++----------------
 .../wine-proton/wine-proton-7.0.9999.ebuild         | 21 +++++----------------
 2 files changed, 10 insertions(+), 32 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 dcb70f280da0..bf0f5280395f 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -101,7 +101,7 @@ BDEPEND="
 	virtual/pkgconfig
 	nls? ( sys-devel/gettext )
 	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-1.2.2-r1"
+IDEPEND=">=app-eselect/eselect-wine-2"
 
 QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
 
@@ -299,27 +299,16 @@ src_install() {
 	readme.gentoo_create_doc
 }
 
-wine-eselect() {
-	ebegin "${1^}ing ${P} using eselect-wine"
-	eselect wine ${1} ${P} &&
-		eselect wine ${1} --${PN#wine-} ${P} &&
-		eselect wine update --if-unset &&
-		eselect wine update --${PN#wine-} --if-unset
-	eend ${?} || die -n "eselect failed, may need to manually handle ${P}"
-}
-
 pkg_preinst() {
 	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
 }
 
 pkg_postinst() {
-	wine-eselect register
-
 	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+	eselect wine update --if-unset || die
 }
 
-pkg_prerm() {
-	if [[ ${REPLACED_BY_VERSION%-r*} != ${PV} ]]; then #881035
-		nonfatal wine-eselect deregister
-	fi
+pkg_postrm() {
+	eselect wine update --if-unset || die
 }

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 6206f63f753b..934259b7c815 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -101,7 +101,7 @@ BDEPEND="
 	virtual/pkgconfig
 	nls? ( sys-devel/gettext )
 	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-1.2.2-r1"
+IDEPEND=">=app-eselect/eselect-wine-2"
 
 QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
 
@@ -299,27 +299,16 @@ src_install() {
 	readme.gentoo_create_doc
 }
 
-wine-eselect() {
-	ebegin "${1^}ing ${P} using eselect-wine"
-	eselect wine ${1} ${P} &&
-		eselect wine ${1} --${PN#wine-} ${P} &&
-		eselect wine update --if-unset &&
-		eselect wine update --${PN#wine-} --if-unset
-	eend ${?} || die -n "eselect failed, may need to manually handle ${P}"
-}
-
 pkg_preinst() {
 	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
 }
 
 pkg_postinst() {
-	wine-eselect register
-
 	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+	eselect wine update --if-unset || die
 }
 
-pkg_prerm() {
-	if [[ ${REPLACED_BY_VERSION%-r*} != ${PV} ]]; then #881035
-		nonfatal wine-eselect deregister
-	fi
+pkg_postrm() {
+	eselect wine update --if-unset || die
 }


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-11-23 22:38 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-11-23 22:38 UTC (permalink / raw
  To: gentoo-commits

commit:     95c70598a2988a82b4eb8f4d850973d44d111bba
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 23 22:30:26 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 23 22:35:00 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95c70598

app-emulation/wine-proton: workaround for mold

Everything segfaults if built with either mold or lld, but
tc-ld-force-bfd (currently) ignores mold. Skipping revbump
given global mold usage is not widespread.

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

 app-emulation/wine-proton/wine-proton-7.0.4.ebuild    | 5 +++++
 app-emulation/wine-proton/wine-proton-7.0.5.ebuild    | 5 +++++
 app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 5 +++++
 3 files changed, 15 insertions(+)

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 bf0f5280395f..37d03a663596 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -217,6 +217,11 @@ src_configure() {
 	use custom-cflags || strip-flags # can break in obscure ways, also no lto
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
+	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+	# https://github.com/gentoo/gentoo/pull/28355
+	[[ $($(tc-getCC) ${LDFLAGS} -Wl,-version) == mold* ]] &&
+		append-ldflags -fuse-ld=bfd
+
 	# build using upstream's way (--with-wine64)
 	# order matters: configure+compile 64->32, install 32->64
 	local -i bits

diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index 18b14fa69ee3..d2c30cd89d6b 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -217,6 +217,11 @@ src_configure() {
 	use custom-cflags || strip-flags # can break in obscure ways, also no lto
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
+	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+	# https://github.com/gentoo/gentoo/pull/28355
+	[[ $($(tc-getCC) ${LDFLAGS} -Wl,-version) == mold* ]] &&
+		append-ldflags -fuse-ld=bfd
+
 	# build using upstream's way (--with-wine64)
 	# order matters: configure+compile 64->32, install 32->64
 	local -i bits

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 934259b7c815..b2e69e68887a 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -217,6 +217,11 @@ src_configure() {
 	use custom-cflags || strip-flags # can break in obscure ways, also no lto
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
+	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+	# https://github.com/gentoo/gentoo/pull/28355
+	[[ $($(tc-getCC) ${LDFLAGS} -Wl,-version) == mold* ]] &&
+		append-ldflags -fuse-ld=bfd
+
 	# build using upstream's way (--with-wine64)
 	# order matters: configure+compile 64->32, install 32->64
 	local -i bits


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-11-23 22:51 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-11-23 22:51 UTC (permalink / raw
  To: gentoo-commits

commit:     ffb8a7a847a0f86c3fd2d70fe5663c9defc12aa0
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 23 22:51:03 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 23 22:51:16 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ffb8a7a8

app-emulation/wine-proton: bdepend on binutils

Due to tc-ld-force-bfd while binutils can possibly
be missing on llvm profiles.

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

 app-emulation/wine-proton/wine-proton-7.0.4.ebuild    | 1 +
 app-emulation/wine-proton/wine-proton-7.0.5.ebuild    | 1 +
 app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 1 +
 3 files changed, 3 insertions(+)

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 37d03a663596..3b01f3d095cf 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -96,6 +96,7 @@ DEPEND="
 BDEPEND="
 	${PYTHON_DEPS}
 	dev-lang/perl
+	sys-devel/binutils
 	sys-devel/bison
 	sys-devel/flex
 	virtual/pkgconfig

diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index d2c30cd89d6b..82c464535ae9 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -96,6 +96,7 @@ DEPEND="
 BDEPEND="
 	${PYTHON_DEPS}
 	dev-lang/perl
+	sys-devel/binutils
 	sys-devel/bison
 	sys-devel/flex
 	virtual/pkgconfig

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index b2e69e68887a..eeb9741d6db0 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -96,6 +96,7 @@ DEPEND="
 BDEPEND="
 	${PYTHON_DEPS}
 	dev-lang/perl
+	sys-devel/binutils
 	sys-devel/bison
 	sys-devel/flex
 	virtual/pkgconfig


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-11-23 23:24 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-11-23 23:24 UTC (permalink / raw
  To: gentoo-commits

commit:     efbab0dad3aec302f311e6cf6809ff83ff727d9d
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 23 23:09:06 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 23 23:23:11 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=efbab0da

app-emulation/wine-proton: adjust mold workaround

-version worked fine but is not correct (typo), so replace it
(--version emits collect2 noise, so also add 2>/dev/null)

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

 app-emulation/wine-proton/wine-proton-7.0.4.ebuild    | 2 +-
 app-emulation/wine-proton/wine-proton-7.0.5.ebuild    | 2 +-
 app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 2 +-
 3 files changed, 3 insertions(+), 3 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 3b01f3d095cf..031a67e02638 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -220,7 +220,7 @@ src_configure() {
 
 	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
 	# https://github.com/gentoo/gentoo/pull/28355
-	[[ $($(tc-getCC) ${LDFLAGS} -Wl,-version) == mold* ]] &&
+	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
 		append-ldflags -fuse-ld=bfd
 
 	# build using upstream's way (--with-wine64)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index 82c464535ae9..46cd54a51bd3 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -220,7 +220,7 @@ src_configure() {
 
 	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
 	# https://github.com/gentoo/gentoo/pull/28355
-	[[ $($(tc-getCC) ${LDFLAGS} -Wl,-version) == mold* ]] &&
+	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
 		append-ldflags -fuse-ld=bfd
 
 	# build using upstream's way (--with-wine64)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index eeb9741d6db0..7906e159577b 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -220,7 +220,7 @@ src_configure() {
 
 	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
 	# https://github.com/gentoo/gentoo/pull/28355
-	[[ $($(tc-getCC) ${LDFLAGS} -Wl,-version) == mold* ]] &&
+	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
 		append-ldflags -fuse-ld=bfd
 
 	# build using upstream's way (--with-wine64)


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-12-02  3:18 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-12-02  3:18 UTC (permalink / raw
  To: gentoo-commits

commit:     bc120361a5b2e15b14233af92762812e211896aa
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  1 16:31:39 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Dec  2 03:14:01 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc120361

app-emulation/wine-proton: stabilize 7.0.5 for amd64, x86

Little reasons to not keep a stable version, based on stable 7.0
and receives a lot of testing by Valve's Proton (through experimental
branches) before these releases are made.

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

 app-emulation/wine-proton/wine-proton-7.0.5.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index 46cd54a51bd3..4d70f3788362 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]]; then
 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"
+	KEYWORDS="-* amd64 x86"
 fi
 
 DESCRIPTION="Valve Software's fork of Wine"


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-12-06  1:15 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-12-06  1:15 UTC (permalink / raw
  To: gentoo-commits

commit:     9d5f3c6755843b12852410fd7c373bcd8cb4b6de
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  6 01:05:14 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Dec  6 01:14:38 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d5f3c67

app-emulation/wine-proton: filter-lto directly

Kinda popular and no reason to allow something that fails to build
even with USE=custom-cflags (that's more aimed at runtime fragility
than build failures here).

Could imagine -flto being "potentially" whitelisted by strip-flags
as it gain more support too.

In other wine variants, also filtering -fno-plt, but that only
affects USE=-mingw and in wine-proton mingw is forced.

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

 app-emulation/wine-proton/wine-proton-7.0.4.ebuild    | 5 +++--
 app-emulation/wine-proton/wine-proton-7.0.5.ebuild    | 5 +++--
 app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 5 +++--
 3 files changed, 9 insertions(+), 6 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 031a67e02638..5ada081c523d 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -214,8 +214,9 @@ src_configure() {
 		$(use_with xinerama)
 	)
 
-	tc-ld-force-bfd #867097
-	use custom-cflags || strip-flags # can break in obscure ways, also no lto
+	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+	filter-lto # build failure
+	use custom-cflags || strip-flags # can break in obscure ways at runtime
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
 	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold

diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index 82c405523947..1367ead3bafa 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -214,8 +214,9 @@ src_configure() {
 		$(use_with xinerama)
 	)
 
-	tc-ld-force-bfd #867097
-	use custom-cflags || strip-flags # can break in obscure ways, also no lto
+	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+	filter-lto # build failure
+	use custom-cflags || strip-flags # can break in obscure ways at runtime
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
 	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 7906e159577b..5a543eb8a75b 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -214,8 +214,9 @@ src_configure() {
 		$(use_with xinerama)
 	)
 
-	tc-ld-force-bfd #867097
-	use custom-cflags || strip-flags # can break in obscure ways, also no lto
+	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+	filter-lto # build failure
+	use custom-cflags || strip-flags # can break in obscure ways at runtime
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
 	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-12-19  7:23 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2022-12-19  7:23 UTC (permalink / raw
  To: gentoo-commits

commit:     736dc5a58e9e8bd26d47db9862ce56e8f6e7f7a8
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 19 06:21:33 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Dec 19 07:11:33 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=736dc5a5

app-emulation/wine-proton: drop 7.0.4

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

 app-emulation/wine-proton/Manifest                 |   1 -
 app-emulation/wine-proton/wine-proton-7.0.4.ebuild | 321 ---------------------
 2 files changed, 322 deletions(-)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 9a39363fd8f3..0e4baa8ce1a2 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,2 +1 @@
-DIST proton-wine-7.0-4.tar.gz 45561670 BLAKE2B 0bc3432e5aa9ca1655e76b31dcbef08febe263e07d3635d005fbc7798b3a08fa50e2e736f33b18700f187dc755f012d7e8ae3edae6a63fb433cd9b8861b747b0 SHA512 dccdf4115e2a7c92981163783f5705e78fbfa042f06123e4802251bd2c558e8b4de7e3d2e114a5d942f9493eb64fb7fdedff2e6e8b3f21ea1de1156456930d8c
 DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b

diff --git a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
deleted file mode 100644
index 5ada081c523d..000000000000
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ /dev/null
@@ -1,321 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{8..11} )
-inherit autotools flag-o-matic multilib multilib-build \
-	python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
-
-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/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-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}]
-	media-libs/freetype[${MULTILIB_USEDEP}]
-	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
-	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
-	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}]
-	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-WINE_COMMON_DEPEND="
-	${WINE_DLOPEN_DEPEND}
-	x11-libs/libX11[${MULTILIB_USEDEP}]
-	x11-libs/libXext[${MULTILIB_USEDEP}]
-	alsa? ( media-libs/alsa-lib[${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}]
-	)
-	openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
-	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	unwind? (
-		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
-		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
-	)
-	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
-	vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
-RDEPEND="
-	${WINE_COMMON_DEPEND}
-	app-emulation/wine-desktop-common
-	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
-	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
-	)
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
-DEPEND="
-	${WINE_COMMON_DEPEND}
-	sys-kernel/linux-headers
-	x11-base/xorg-proto"
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-lang/perl
-	sys-devel/binutils
-	sys-devel/bison
-	sys-devel/flex
-	virtual/pkgconfig
-	nls? ( sys-devel/gettext )
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-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}-7.0.4-restore-menubuilder.patch
-	"${FILESDIR}"/${PN}-7.0.4-unwind.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}) $(usev abi_x86_32 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"
-				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)
-	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
-
-	# ensure .desktop calls this variant + slot
-	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
-	# similarly to staging, append to `wine --version` for identification
-	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
-	# always update for patches (including user's wrt #432348)
-	eautoreconf
-	tools/make_requests || die # perl
-	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-}
-
-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
-
-		# upstream (Valve) doesn't really support misc configurations (e.g.
-		# adds vulkan code not always guarded by --with-vulkan), so force
-		# some major options that are typically needed by games either way
-		--with-freetype
-		--with-mingw # needed by many, notably Blizzard titles
-		--with-opengl
-		--with-vulkan
-		--with-x
-
-		# ...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-ldap
-		--without-netapi
-		--without-opencl
-		--without-pcap
-		--without-sane
-		ac_cv_lib_soname_odbc=
-
-		$(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 (OSSv4)
-		$(use_with pulseaudio pulse)
-		$(use_with sdl)
-		$(use_with ssl gnutls)
-		$(use_with udev)
-		$(use_with udisks dbus) # dbus is only used for udisks
-		$(use_with unwind)
-		$(use_with usb)
-		$(use_with v4l v4l2)
-		$(use_with vkd3d)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-	)
-
-	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
-	filter-lto # build failure
-	use custom-cflags || strip-flags # can break in obscure ways at runtime
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
-	# https://github.com/gentoo/gentoo/pull/28355
-	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
-		append-ldflags -fuse-ld=bfd
-
-	# build using upstream's way (--with-wine64)
-	# order matters: 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
-
-		# CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
-		if (( bits == 64 )); then
-			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
-			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
-		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
-		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
-		: "${CROSSCFLAGS:=$(
-			filter-flags '-fstack-clash-protection' #758914
-			filter-flags '-fstack-protector*' #870136
-			filter-flags '-mfunction-return=thunk*' #878849
-			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
-		: "${CROSSLDFLAGS:=$(
-			filter-flags '-fuse-ld=*'
-			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
-		export CROSS{CC,{C,LD}FLAGS}
-
-		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
-
-	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
-	if use abi_x86_64 && use !abi_x86_32; then
-		dosym wine64 ${WINE_PREFIX}/bin/wine
-		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
-		local man
-		for man in ../build64/loader/wine.*man; do
-			: "${man##*/wine}"
-			: "${_%.*}"
-			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
-			newins ${man} wine.1
-		done
-	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
-
-	# 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
-	use debug ||
-		find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
-			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
-
-	dodoc ANNOUNCE AUTHORS README* documentation/README*
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
-	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
-	eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
-	eselect wine update --if-unset || die
-}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-02-03 19:49 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-02-03 19:49 UTC (permalink / raw
  To: gentoo-commits

commit:     587a78d048fbb9116658c88d6ae3f86958cee9ce
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  3 19:16:14 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Feb  3 19:49:06 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=587a78d0

app-emulation/wine-proton: minor style nitpick

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

 app-emulation/wine-proton/wine-proton-7.0.5.ebuild    | 4 ++--
 app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index 07870f389abe..1b2840143d98 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -5,8 +5,8 @@ EAPI=8
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 PYTHON_COMPAT=( python3_{9..11} )
-inherit autotools flag-o-matic multilib multilib-build \
-	python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
 
 WINE_GECKO=2.47.3
 WINE_MONO=7.3.1

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index d57544d5f001..ac7d38464311 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -5,8 +5,8 @@ EAPI=8
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 PYTHON_COMPAT=( python3_{9..11} )
-inherit autotools flag-o-matic multilib multilib-build \
-	python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
 
 WINE_GECKO=2.47.3
 WINE_MONO=7.4.0


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-02-03 19:49 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-02-03 19:49 UTC (permalink / raw
  To: gentoo-commits

commit:     f22d893aec1ab2871dc4a0c1a556ffcb017c18eb
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  3 19:16:54 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Feb  3 19:49:06 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f22d893a

app-emulation/wine-proton: add 7.0.6

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

 app-emulation/wine-proton/Manifest                 |   1 +
 app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 321 +++++++++++++++++++++
 2 files changed, 322 insertions(+)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 0e4baa8ce1a2..fe670f488183 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1 +1,2 @@
 DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
+DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
new file mode 100644
index 000000000000..ac7d38464311
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -0,0 +1,321 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.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="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/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+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}]
+	media-libs/freetype[${MULTILIB_USEDEP}]
+	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	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}]
+	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	x11-libs/libX11[${MULTILIB_USEDEP}]
+	x11-libs/libXext[${MULTILIB_USEDEP}]
+	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+	)
+	openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
+	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+	unwind? (
+		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+	)
+	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+	vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
+RDEPEND="
+	${WINE_COMMON_DEPEND}
+	app-emulation/wine-desktop-common
+	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+	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
+	)
+	selinux? ( sec-policy/selinux-wine )
+	udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	sys-kernel/linux-headers
+	x11-base/xorg-proto"
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-lang/perl
+	sys-devel/binutils
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+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}-7.0.4-restore-menubuilder.patch
+	"${FILESDIR}"/${PN}-7.0.4-unwind.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}) $(usev abi_x86_32 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"
+				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)
+	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
+
+	# ensure .desktop calls this variant + slot
+	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+	# similarly to staging, append to `wine --version` for identification
+	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+	# always update for patches (including user's wrt #432348)
+	eautoreconf
+	tools/make_requests || die # perl
+	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+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
+
+		# upstream (Valve) doesn't really support misc configurations (e.g.
+		# adds vulkan code not always guarded by --with-vulkan), so force
+		# some major options that are typically needed by games either way
+		--with-freetype
+		--with-mingw # needed by many, notably Blizzard titles
+		--with-opengl
+		--with-vulkan
+		--with-x
+
+		# ...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-ldap
+		--without-netapi
+		--without-opencl
+		--without-pcap
+		--without-sane
+		ac_cv_lib_soname_odbc=
+
+		$(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 (OSSv4)
+		$(use_with pulseaudio pulse)
+		$(use_with sdl)
+		$(use_with ssl gnutls)
+		$(use_with udev)
+		$(use_with udisks dbus) # dbus is only used for udisks
+		$(use_with unwind)
+		$(use_with usb)
+		$(use_with v4l v4l2)
+		$(use_with vkd3d)
+		$(use_with xcomposite)
+		$(use_with xinerama)
+	)
+
+	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+	filter-lto # build failure
+	use custom-cflags || strip-flags # can break in obscure ways at runtime
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+	# https://github.com/gentoo/gentoo/pull/28355
+	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+		append-ldflags -fuse-ld=bfd
+
+	# build using upstream's way (--with-wine64)
+	# order matters: 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
+
+		# CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
+		if (( bits == 64 )); then
+			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+			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
+		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
+		: "${CROSSCFLAGS:=$(
+			filter-flags '-fstack-clash-protection' #758914
+			filter-flags '-fstack-protector*' #870136
+			filter-flags '-mfunction-return=thunk*' #878849
+			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+		: "${CROSSLDFLAGS:=$(
+			filter-flags '-fuse-ld=*'
+			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+		export CROSS{CC,{C,LD}FLAGS}
+
+		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
+
+	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
+	if use abi_x86_64 && use !abi_x86_32; then
+		dosym wine64 ${WINE_PREFIX}/bin/wine
+		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+		local man
+		for man in ../build64/loader/wine.*man; do
+			: "${man##*/wine}"
+			: "${_%.*}"
+			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+			newins ${man} wine.1
+		done
+	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
+
+	# 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
+	use debug ||
+		find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+
+	dodoc ANNOUNCE AUTHORS README* documentation/README*
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+	eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+	eselect wine update --if-unset || die
+}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-03-04 12:08 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-03-04 12:08 UTC (permalink / raw
  To: gentoo-commits

commit:     2d98474afdcaaf0a0a697d86253e0eacc91d18a5
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  4 10:57:28 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Mar  4 12:06:26 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d98474a

app-emulation/wine-proton: skip QA for implicit res_getservers

Test is failing on error when it should.

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

 app-emulation/wine-proton/wine-proton-7.0.5.ebuild    | 1 +
 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 1 +
 app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 1 +
 3 files changed, 3 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index 1b2840143d98..e025c4683455 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -104,6 +104,7 @@ BDEPEND="
 	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
 IDEPEND=">=app-eselect/eselect-wine-2"
 
+QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
 QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
 
 PATCHES=(

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index ac7d38464311..453a7f39a5a8 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -104,6 +104,7 @@ BDEPEND="
 	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
 IDEPEND=">=app-eselect/eselect-wine-2"
 
+QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
 QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
 
 PATCHES=(

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index ac7d38464311..453a7f39a5a8 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -104,6 +104,7 @@ BDEPEND="
 	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
 IDEPEND=">=app-eselect/eselect-wine-2"
 
+QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
 QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
 
 PATCHES=(


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-03-08 10:25 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-03-08 10:25 UTC (permalink / raw
  To: gentoo-commits

commit:     7347dcb8288f9aa65c5b0049bf64e7dae090b515
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Mar  8 09:58:52 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Mar  8 10:03:18 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7347dcb8

app-emulation/wine-proton: skip QA for implicit __clear_cache too

Tests for a compiler builtin that is not declared by anything, however
we can lazily ignore it because __clear_cache is not used by wine on
amd64+x86 either way.

Closes: https://bugs.gentoo.org/900332
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.5.ebuild    | 5 ++++-
 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 5 ++++-
 app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 5 ++++-
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index e025c4683455..afa0bed7c071 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -104,7 +104,10 @@ BDEPEND="
 	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
 IDEPEND=">=app-eselect/eselect-wine-2"
 
-QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
+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=(

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 453a7f39a5a8..fd2ff4ec13f1 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -104,7 +104,10 @@ BDEPEND="
 	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
 IDEPEND=">=app-eselect/eselect-wine-2"
 
-QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
+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=(

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 453a7f39a5a8..fd2ff4ec13f1 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -104,7 +104,10 @@ BDEPEND="
 	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
 IDEPEND=">=app-eselect/eselect-wine-2"
 
-QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
+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=(


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-04-17 20:45 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-04-17 20:45 UTC (permalink / raw
  To: gentoo-commits

commit:     7689b3b1e7ee7896ca2183d8cb114a7f73f29909
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 17 20:23:00 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Apr 17 20:41:08 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7689b3b1

app-emulation/wine-proton: move gmp dep behind ssl

Noticed it's only used with gnutls, not worth revbumps.

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

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 6 ++++--
 app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 6 ++++--
 app-emulation/wine-proton/wine-proton-8.0.1c.ebuild   | 6 ++++--
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index fd2ff4ec13f1..6cb4c973b3db 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -39,7 +39,6 @@ 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}]
 	media-libs/freetype[${MULTILIB_USEDEP}]
 	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
@@ -53,7 +52,10 @@ WINE_DLOPEN_DEPEND="
 	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+	ssl? (
+		dev-libs/gmp:=[${MULTILIB_USEDEP}]
+		net-libs/gnutls:=[${MULTILIB_USEDEP}]
+	)
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index fd2ff4ec13f1..6cb4c973b3db 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -39,7 +39,6 @@ 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}]
 	media-libs/freetype[${MULTILIB_USEDEP}]
 	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
@@ -53,7 +52,10 @@ WINE_DLOPEN_DEPEND="
 	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+	ssl? (
+		dev-libs/gmp:=[${MULTILIB_USEDEP}]
+		net-libs/gnutls:=[${MULTILIB_USEDEP}]
+	)
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )

diff --git a/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild
index fa038b8fb9b6..e514971ce399 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild
@@ -39,7 +39,6 @@ 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}]
 	media-libs/freetype[${MULTILIB_USEDEP}]
 	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
@@ -53,7 +52,10 @@ WINE_DLOPEN_DEPEND="
 	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
 	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
 	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+	ssl? (
+		dev-libs/gmp:=[${MULTILIB_USEDEP}]
+		net-libs/gnutls:=[${MULTILIB_USEDEP}]
+	)
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-04-19  4:36 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-04-19  4:36 UTC (permalink / raw
  To: gentoo-commits

commit:     b9da76f200327316c3fce8f13b5b1499f5ba1f37
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 19 04:17:10 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Apr 19 04:35:44 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b9da76f2

app-emulation/wine-proton: add 8.0.1d

Hopefully these letter releases aren't frequent, may need to
review how handle releases otherwise given not the fastest thing
to build.

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

 app-emulation/wine-proton/Manifest                 |   1 +
 .../wine-proton/wine-proton-8.0.1d.ebuild          | 329 +++++++++++++++++++++
 2 files changed, 330 insertions(+)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 0829b760d5f8..89ba8ea63c86 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,4 @@
 DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
 DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
 DIST proton-wine-8.0-1c.tar.gz 48204851 BLAKE2B 5a746cf4d10e605ce30e93a5116e73c4ae893a6ccb105984afa3e65e0ec64780ca58462fe5fc89e51aef0499fdc52be9756254878d8f7f28160a1cf4ed0ee3a9 SHA512 67dbd73287409aaecd5cfab29f79ddf455bbbd25e79289c66828bd4f0fac3003e68afe3e65ea39e18e2390b825342a52285c4be1368928606628b72a274b5456
+DIST proton-wine-8.0-1d.tar.gz 48198535 BLAKE2B 7ed7c4130d4c74d3f411880d253727469cbdaa78943b7783f3d2162177072503bffd588ba3c6c147014ce4e422850cb49e83c2d2d807777fcd01c101199f922d SHA512 4a5a2a2753f8fd025f8c0fe56341a67ed780befc8ae9bffe03872019d4227ec8324edf892c327b99330c3de29a3b8adaac656b41d3487de03a8a82cef9234da7

diff --git a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
new file mode 100644
index 000000000000..e514971ce399
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
@@ -0,0 +1,329 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.4.1
+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/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+	perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
+	+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/libgcrypt:=[${MULTILIB_USEDEP}]
+	media-libs/freetype[${MULTILIB_USEDEP}]
+	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	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}]
+	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+	ssl? (
+		dev-libs/gmp:=[${MULTILIB_USEDEP}]
+		net-libs/gnutls:=[${MULTILIB_USEDEP}]
+	)
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	x11-libs/libX11[${MULTILIB_USEDEP}]
+	x11-libs/libXext[${MULTILIB_USEDEP}]
+	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+	)
+	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+	unwind? (
+		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+	)
+	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+RDEPEND="
+	${WINE_COMMON_DEPEND}
+	app-emulation/wine-desktop-common
+	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+	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
+	)
+	selinux? ( sec-policy/selinux-wine )
+	udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	sys-kernel/linux-headers
+	x11-base/xorg-proto"
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-lang/perl
+	sys-devel/binutils
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+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}-7.0.4-restore-menubuilder.patch
+	"${FILESDIR}"/${PN}-8.0.1c-unwind.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}) $(usev abi_x86_32 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"
+				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)
+	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
+
+	# ensure .desktop calls this variant + slot
+	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+	# similarly to staging, append to `wine --version` for identification
+	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+	# always update for patches (including user's wrt #432348)
+	eautoreconf
+	tools/make_requests || die # perl
+	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+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
+
+		# upstream (Valve) doesn't really support misc configurations (e.g.
+		# adds vulkan code not always guarded by --with-vulkan), so force
+		# some major options that are typically needed by games either way
+		--with-freetype
+		--with-mingw # needed by many, notably Blizzard titles
+		--with-opengl
+		--with-vulkan
+		--with-x
+
+		# ...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-sane
+		ac_cv_lib_soname_odbc=
+
+		$(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 osmesa)
+		--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 udisks dbus) # dbus is only used for udisks
+		$(use_with unwind)
+		$(use_with usb)
+		$(use_with v4l v4l2)
+		$(use_with xcomposite)
+		$(use_with xinerama)
+	)
+
+	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+	filter-lto # build failure
+	use custom-cflags || strip-flags # can break in obscure ways at runtime
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+	# https://github.com/gentoo/gentoo/pull/28355
+	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+		append-ldflags -fuse-ld=bfd
+
+	# build using upstream's way (--with-wine64)
+	# order matters: 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
+
+		pe_arch=i386
+		if (( bits == 64 )); then
+			pe_arch=x86_64
+			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+			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
+		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+		# CROSSCC is no longer recognized by Wine, but still use for now
+		# (future handling for CROSS* variables is subject to changes)
+		conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+		# use *FLAGS for mingw, but strip unsupported
+		: "${CROSSCFLAGS:=$(
+			# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
+			append-cflags '-fno-strict-aliasing'
+			filter-flags '-fstack-clash-protection' #758914
+			filter-flags '-fstack-protector*' #870136
+			filter-flags '-mfunction-return=thunk*' #878849
+			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+		: "${CROSSLDFLAGS:=$(
+			filter-flags '-fuse-ld=*'
+			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+		export CROSS{C,LD}FLAGS
+
+		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
+
+	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
+	if use abi_x86_64 && use !abi_x86_32; then
+		dosym wine64 ${WINE_PREFIX}/bin/wine
+		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+		local man
+		for man in ../build64/loader/wine.*man; do
+			: "${man##*/wine}"
+			: "${_%.*}"
+			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+			newins ${man} wine.1
+		done
+	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
+
+	# 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
+	use debug ||
+		find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+
+	dodoc ANNOUNCE AUTHORS README* documentation/README*
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+	eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+	eselect wine update --if-unset || die
+}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-04-24  3:43 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-04-24  3:43 UTC (permalink / raw
  To: gentoo-commits

commit:     b38308e4b7e125a6de0c11eb5607f455eb3fa835
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 24 03:05:52 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Apr 24 03:18:44 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b38308e4

app-emulation/wine-proton: drop 8.0.1c

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

 app-emulation/wine-proton/Manifest                 |   1 -
 .../wine-proton/wine-proton-8.0.1c.ebuild          | 329 ---------------------
 2 files changed, 330 deletions(-)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 89ba8ea63c86..d3e84dafc3f4 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,4 +1,3 @@
 DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
 DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
-DIST proton-wine-8.0-1c.tar.gz 48204851 BLAKE2B 5a746cf4d10e605ce30e93a5116e73c4ae893a6ccb105984afa3e65e0ec64780ca58462fe5fc89e51aef0499fdc52be9756254878d8f7f28160a1cf4ed0ee3a9 SHA512 67dbd73287409aaecd5cfab29f79ddf455bbbd25e79289c66828bd4f0fac3003e68afe3e65ea39e18e2390b825342a52285c4be1368928606628b72a274b5456
 DIST proton-wine-8.0-1d.tar.gz 48198535 BLAKE2B 7ed7c4130d4c74d3f411880d253727469cbdaa78943b7783f3d2162177072503bffd588ba3c6c147014ce4e422850cb49e83c2d2d807777fcd01c101199f922d SHA512 4a5a2a2753f8fd025f8c0fe56341a67ed780befc8ae9bffe03872019d4227ec8324edf892c327b99330c3de29a3b8adaac656b41d3487de03a8a82cef9234da7

diff --git a/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild
deleted file mode 100644
index e514971ce399..000000000000
--- a/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild
+++ /dev/null
@@ -1,329 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{9..11} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=7.4.1
-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/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
-	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
-	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
-	perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
-	+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/libgcrypt:=[${MULTILIB_USEDEP}]
-	media-libs/freetype[${MULTILIB_USEDEP}]
-	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
-	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
-	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}]
-	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? (
-		dev-libs/gmp:=[${MULTILIB_USEDEP}]
-		net-libs/gnutls:=[${MULTILIB_USEDEP}]
-	)
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-WINE_COMMON_DEPEND="
-	${WINE_DLOPEN_DEPEND}
-	x11-libs/libX11[${MULTILIB_USEDEP}]
-	x11-libs/libXext[${MULTILIB_USEDEP}]
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		dev-libs/glib:2[${MULTILIB_USEDEP}]
-		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-	)
-	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	unwind? (
-		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
-		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
-	)
-	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
-RDEPEND="
-	${WINE_COMMON_DEPEND}
-	app-emulation/wine-desktop-common
-	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
-	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
-	)
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
-DEPEND="
-	${WINE_COMMON_DEPEND}
-	sys-kernel/linux-headers
-	x11-base/xorg-proto"
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-lang/perl
-	sys-devel/binutils
-	sys-devel/bison
-	sys-devel/flex
-	virtual/pkgconfig
-	nls? ( sys-devel/gettext )
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-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}-7.0.4-restore-menubuilder.patch
-	"${FILESDIR}"/${PN}-8.0.1c-unwind.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}) $(usev abi_x86_32 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"
-				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)
-	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
-
-	# ensure .desktop calls this variant + slot
-	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
-	# similarly to staging, append to `wine --version` for identification
-	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
-	# always update for patches (including user's wrt #432348)
-	eautoreconf
-	tools/make_requests || die # perl
-	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-}
-
-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
-
-		# upstream (Valve) doesn't really support misc configurations (e.g.
-		# adds vulkan code not always guarded by --with-vulkan), so force
-		# some major options that are typically needed by games either way
-		--with-freetype
-		--with-mingw # needed by many, notably Blizzard titles
-		--with-opengl
-		--with-vulkan
-		--with-x
-
-		# ...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-sane
-		ac_cv_lib_soname_odbc=
-
-		$(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 osmesa)
-		--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 udisks dbus) # dbus is only used for udisks
-		$(use_with unwind)
-		$(use_with usb)
-		$(use_with v4l v4l2)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-	)
-
-	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
-	filter-lto # build failure
-	use custom-cflags || strip-flags # can break in obscure ways at runtime
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
-	# https://github.com/gentoo/gentoo/pull/28355
-	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
-		append-ldflags -fuse-ld=bfd
-
-	# build using upstream's way (--with-wine64)
-	# order matters: 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
-
-		pe_arch=i386
-		if (( bits == 64 )); then
-			pe_arch=x86_64
-			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
-			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
-		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
-		# CROSSCC is no longer recognized by Wine, but still use for now
-		# (future handling for CROSS* variables is subject to changes)
-		conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
-
-		# use *FLAGS for mingw, but strip unsupported
-		: "${CROSSCFLAGS:=$(
-			# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
-			append-cflags '-fno-strict-aliasing'
-			filter-flags '-fstack-clash-protection' #758914
-			filter-flags '-fstack-protector*' #870136
-			filter-flags '-mfunction-return=thunk*' #878849
-			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
-		: "${CROSSLDFLAGS:=$(
-			filter-flags '-fuse-ld=*'
-			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
-		export CROSS{C,LD}FLAGS
-
-		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
-
-	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
-	if use abi_x86_64 && use !abi_x86_32; then
-		dosym wine64 ${WINE_PREFIX}/bin/wine
-		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
-		local man
-		for man in ../build64/loader/wine.*man; do
-			: "${man##*/wine}"
-			: "${_%.*}"
-			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
-			newins ${man} wine.1
-		done
-	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
-
-	# 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
-	use debug ||
-		find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
-			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
-
-	dodoc ANNOUNCE AUTHORS README* documentation/README*
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
-	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
-	eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
-	eselect wine update --if-unset || die
-}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-04-24  3:43 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-04-24  3:43 UTC (permalink / raw
  To: gentoo-commits

commit:     1340c5cd4bbe4d69401334686ea54e323887dab6
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 24 03:10:37 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Apr 24 03:24:27 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1340c5cd

app-emulation/wine-proton: add live ebuild for experimental_8.0

Just noticed the experimental branch was created for 8.0. Exact copy
of 8.0.1d's ebuild as it does not seem any changes are needed yet.

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

 .../wine-proton/wine-proton-8.0.9999.ebuild        | 329 +++++++++++++++++++++
 1 file changed, 329 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
new file mode 100644
index 000000000000..e514971ce399
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -0,0 +1,329 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.4.1
+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/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+	perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
+	+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/libgcrypt:=[${MULTILIB_USEDEP}]
+	media-libs/freetype[${MULTILIB_USEDEP}]
+	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	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}]
+	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+	ssl? (
+		dev-libs/gmp:=[${MULTILIB_USEDEP}]
+		net-libs/gnutls:=[${MULTILIB_USEDEP}]
+	)
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	x11-libs/libX11[${MULTILIB_USEDEP}]
+	x11-libs/libXext[${MULTILIB_USEDEP}]
+	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+	)
+	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+	unwind? (
+		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+	)
+	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+RDEPEND="
+	${WINE_COMMON_DEPEND}
+	app-emulation/wine-desktop-common
+	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+	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
+	)
+	selinux? ( sec-policy/selinux-wine )
+	udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	sys-kernel/linux-headers
+	x11-base/xorg-proto"
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-lang/perl
+	sys-devel/binutils
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+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}-7.0.4-restore-menubuilder.patch
+	"${FILESDIR}"/${PN}-8.0.1c-unwind.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}) $(usev abi_x86_32 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"
+				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)
+	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
+
+	# ensure .desktop calls this variant + slot
+	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+	# similarly to staging, append to `wine --version` for identification
+	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+	# always update for patches (including user's wrt #432348)
+	eautoreconf
+	tools/make_requests || die # perl
+	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+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
+
+		# upstream (Valve) doesn't really support misc configurations (e.g.
+		# adds vulkan code not always guarded by --with-vulkan), so force
+		# some major options that are typically needed by games either way
+		--with-freetype
+		--with-mingw # needed by many, notably Blizzard titles
+		--with-opengl
+		--with-vulkan
+		--with-x
+
+		# ...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-sane
+		ac_cv_lib_soname_odbc=
+
+		$(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 osmesa)
+		--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 udisks dbus) # dbus is only used for udisks
+		$(use_with unwind)
+		$(use_with usb)
+		$(use_with v4l v4l2)
+		$(use_with xcomposite)
+		$(use_with xinerama)
+	)
+
+	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+	filter-lto # build failure
+	use custom-cflags || strip-flags # can break in obscure ways at runtime
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+	# https://github.com/gentoo/gentoo/pull/28355
+	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+		append-ldflags -fuse-ld=bfd
+
+	# build using upstream's way (--with-wine64)
+	# order matters: 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
+
+		pe_arch=i386
+		if (( bits == 64 )); then
+			pe_arch=x86_64
+			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+			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
+		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+		# CROSSCC is no longer recognized by Wine, but still use for now
+		# (future handling for CROSS* variables is subject to changes)
+		conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+		# use *FLAGS for mingw, but strip unsupported
+		: "${CROSSCFLAGS:=$(
+			# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
+			append-cflags '-fno-strict-aliasing'
+			filter-flags '-fstack-clash-protection' #758914
+			filter-flags '-fstack-protector*' #870136
+			filter-flags '-mfunction-return=thunk*' #878849
+			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+		: "${CROSSLDFLAGS:=$(
+			filter-flags '-fuse-ld=*'
+			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+		export CROSS{C,LD}FLAGS
+
+		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
+
+	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
+	if use abi_x86_64 && use !abi_x86_32; then
+		dosym wine64 ${WINE_PREFIX}/bin/wine
+		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+		local man
+		for man in ../build64/loader/wine.*man; do
+			: "${man##*/wine}"
+			: "${_%.*}"
+			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+			newins ${man} wine.1
+		done
+	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
+
+	# 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
+	use debug ||
+		find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+
+	dodoc ANNOUNCE AUTHORS README* documentation/README*
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+	eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+	eselect wine update --if-unset || die
+}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-04-29  9:43 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-04-29  9:43 UTC (permalink / raw
  To: gentoo-commits

commit:     a32b129cb14dc4434bc05fd99a7275a4aab77593
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 29 09:30:51 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Apr 29 09:42:40 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a32b129c

app-emulation/wine-proton: remove obsolete clash-protection filter

ICE was fixed (bug #758914), if still run into this then updating
gcc to a newer _p* snapshot should sort it (alternatively, use
released >=gcc-13.1.0).

Note that -fstack-protector* (bug #870136) is still needed, while
mingw64-runtime-11.0.0 add some degree of support, it still seems
to fail for Wine itself.

Bug: https://bugs.gentoo.org/758914
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.5.ebuild    | 1 -
 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 1 -
 app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 1 -
 app-emulation/wine-proton/wine-proton-8.0.1d.ebuild   | 1 -
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 1 -
 5 files changed, 5 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index afa0bed7c071..00a57d5aac94 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -254,7 +254,6 @@ src_configure() {
 
 		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
 		: "${CROSSCFLAGS:=$(
-			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-mfunction-return=thunk*' #878849
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 6cb4c973b3db..2c927df19297 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -256,7 +256,6 @@ src_configure() {
 
 		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
 		: "${CROSSCFLAGS:=$(
-			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-mfunction-return=thunk*' #878849
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 6cb4c973b3db..2c927df19297 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -256,7 +256,6 @@ src_configure() {
 
 		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
 		: "${CROSSCFLAGS:=$(
-			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-mfunction-return=thunk*' #878849
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"

diff --git a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
index e514971ce399..62e33d58f9bd 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
@@ -258,7 +258,6 @@ src_configure() {
 		: "${CROSSCFLAGS:=$(
 			# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
 			append-cflags '-fno-strict-aliasing'
-			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-mfunction-return=thunk*' #878849
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index e514971ce399..62e33d58f9bd 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -258,7 +258,6 @@ src_configure() {
 		: "${CROSSCFLAGS:=$(
 			# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
 			append-cflags '-fno-strict-aliasing'
-			filter-flags '-fstack-clash-protection' #758914
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-mfunction-return=thunk*' #878849
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-05-02 16:56 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-05-02 16:56 UTC (permalink / raw
  To: gentoo-commits

commit:     4cc0e69dfb46e88914e61bc101742b7150d18f0c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May  2 15:53:29 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May  2 16:50:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4cc0e69d

app-emulation/wine-proton: drop 7.0.9999

Does not seem(?) developed anymore, use 8.0.9999 or 7.0.6 as needed.

Meant to keep it a bit longer, but wine-7 is already starting to break
and it'll be less ebuilds to fix.

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

 .../wine-proton/wine-proton-7.0.9999.ebuild        | 326 ---------------------
 1 file changed, 326 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
deleted file mode 100644
index 2c927df19297..000000000000
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ /dev/null
@@ -1,326 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{9..11} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=7.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="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/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-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/libgcrypt:=[${MULTILIB_USEDEP}]
-	media-libs/freetype[${MULTILIB_USEDEP}]
-	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
-	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
-	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}]
-	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? (
-		dev-libs/gmp:=[${MULTILIB_USEDEP}]
-		net-libs/gnutls:=[${MULTILIB_USEDEP}]
-	)
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-WINE_COMMON_DEPEND="
-	${WINE_DLOPEN_DEPEND}
-	x11-libs/libX11[${MULTILIB_USEDEP}]
-	x11-libs/libXext[${MULTILIB_USEDEP}]
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		dev-libs/glib:2[${MULTILIB_USEDEP}]
-		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-	)
-	openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
-	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	unwind? (
-		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
-		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
-	)
-	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
-	vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
-RDEPEND="
-	${WINE_COMMON_DEPEND}
-	app-emulation/wine-desktop-common
-	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
-	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
-	)
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
-DEPEND="
-	${WINE_COMMON_DEPEND}
-	sys-kernel/linux-headers
-	x11-base/xorg-proto"
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-lang/perl
-	sys-devel/binutils
-	sys-devel/bison
-	sys-devel/flex
-	virtual/pkgconfig
-	nls? ( sys-devel/gettext )
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-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}-7.0.4-restore-menubuilder.patch
-	"${FILESDIR}"/${PN}-7.0.4-unwind.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}) $(usev abi_x86_32 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"
-				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)
-	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
-
-	# ensure .desktop calls this variant + slot
-	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
-	# similarly to staging, append to `wine --version` for identification
-	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
-	# always update for patches (including user's wrt #432348)
-	eautoreconf
-	tools/make_requests || die # perl
-	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-}
-
-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
-
-		# upstream (Valve) doesn't really support misc configurations (e.g.
-		# adds vulkan code not always guarded by --with-vulkan), so force
-		# some major options that are typically needed by games either way
-		--with-freetype
-		--with-mingw # needed by many, notably Blizzard titles
-		--with-opengl
-		--with-vulkan
-		--with-x
-
-		# ...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-ldap
-		--without-netapi
-		--without-opencl
-		--without-pcap
-		--without-sane
-		ac_cv_lib_soname_odbc=
-
-		$(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 (OSSv4)
-		$(use_with pulseaudio pulse)
-		$(use_with sdl)
-		$(use_with ssl gnutls)
-		$(use_with udev)
-		$(use_with udisks dbus) # dbus is only used for udisks
-		$(use_with unwind)
-		$(use_with usb)
-		$(use_with v4l v4l2)
-		$(use_with vkd3d)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-	)
-
-	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
-	filter-lto # build failure
-	use custom-cflags || strip-flags # can break in obscure ways at runtime
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
-	# https://github.com/gentoo/gentoo/pull/28355
-	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
-		append-ldflags -fuse-ld=bfd
-
-	# build using upstream's way (--with-wine64)
-	# order matters: 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
-
-		# CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
-		if (( bits == 64 )); then
-			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
-			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
-		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
-		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
-		: "${CROSSCFLAGS:=$(
-			filter-flags '-fstack-protector*' #870136
-			filter-flags '-mfunction-return=thunk*' #878849
-			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
-		: "${CROSSLDFLAGS:=$(
-			filter-flags '-fuse-ld=*'
-			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
-		export CROSS{CC,{C,LD}FLAGS}
-
-		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
-
-	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
-	if use abi_x86_64 && use !abi_x86_32; then
-		dosym wine64 ${WINE_PREFIX}/bin/wine
-		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
-		local man
-		for man in ../build64/loader/wine.*man; do
-			: "${man##*/wine}"
-			: "${_%.*}"
-			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
-			newins ${man} wine.1
-		done
-	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
-
-	# 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
-	use debug ||
-		find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
-			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
-
-	dodoc ANNOUNCE AUTHORS README* documentation/README*
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
-	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
-	eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
-	eselect wine update --if-unset || die
-}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-05-02 19:41 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-05-02 19:41 UTC (permalink / raw
  To: gentoo-commits

commit:     99bc9c86c07e6838ab002b0d3a5a34605a99fd37
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May  2 19:22:54 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May  2 19:40:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99bc9c86

app-emulation/wine-proton: add 8.0.2c

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

 app-emulation/wine-proton/Manifest                 |   1 +
 .../wine-proton/wine-proton-8.0.2c.ebuild          | 328 +++++++++++++++++++++
 2 files changed, 329 insertions(+)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index d3e84dafc3f4..d49da5301306 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,4 @@
 DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
 DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
 DIST proton-wine-8.0-1d.tar.gz 48198535 BLAKE2B 7ed7c4130d4c74d3f411880d253727469cbdaa78943b7783f3d2162177072503bffd588ba3c6c147014ce4e422850cb49e83c2d2d807777fcd01c101199f922d SHA512 4a5a2a2753f8fd025f8c0fe56341a67ed780befc8ae9bffe03872019d4227ec8324edf892c327b99330c3de29a3b8adaac656b41d3487de03a8a82cef9234da7
+DIST proton-wine-8.0-2c.tar.gz 48207888 BLAKE2B 8dc37f136c6d8758c521c0e5c2f16c88e9ede8b22ce7902bb7377a1555bf6aa5bcfaa46f3b9edb4fced1700675fc50f920f9ead17036c9ad1b8bc742ba7e8de3 SHA512 126c06352b6c8b38c133861ce13bc1ce4f1ecf9d451edc2928db54592707c94b07b3a346eb302895cc96c56fede8679b44111be7e1b451c4059c7afcb5fcff57

diff --git a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
new file mode 100644
index 000000000000..62e33d58f9bd
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
@@ -0,0 +1,328 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.4.1
+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/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+	perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
+	+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/libgcrypt:=[${MULTILIB_USEDEP}]
+	media-libs/freetype[${MULTILIB_USEDEP}]
+	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	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}]
+	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+	ssl? (
+		dev-libs/gmp:=[${MULTILIB_USEDEP}]
+		net-libs/gnutls:=[${MULTILIB_USEDEP}]
+	)
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	x11-libs/libX11[${MULTILIB_USEDEP}]
+	x11-libs/libXext[${MULTILIB_USEDEP}]
+	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+	)
+	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+	unwind? (
+		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+	)
+	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+RDEPEND="
+	${WINE_COMMON_DEPEND}
+	app-emulation/wine-desktop-common
+	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+	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
+	)
+	selinux? ( sec-policy/selinux-wine )
+	udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	sys-kernel/linux-headers
+	x11-base/xorg-proto"
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-lang/perl
+	sys-devel/binutils
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+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}-7.0.4-restore-menubuilder.patch
+	"${FILESDIR}"/${PN}-8.0.1c-unwind.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}) $(usev abi_x86_32 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"
+				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)
+	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
+
+	# ensure .desktop calls this variant + slot
+	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+	# similarly to staging, append to `wine --version` for identification
+	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+	# always update for patches (including user's wrt #432348)
+	eautoreconf
+	tools/make_requests || die # perl
+	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+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
+
+		# upstream (Valve) doesn't really support misc configurations (e.g.
+		# adds vulkan code not always guarded by --with-vulkan), so force
+		# some major options that are typically needed by games either way
+		--with-freetype
+		--with-mingw # needed by many, notably Blizzard titles
+		--with-opengl
+		--with-vulkan
+		--with-x
+
+		# ...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-sane
+		ac_cv_lib_soname_odbc=
+
+		$(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 osmesa)
+		--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 udisks dbus) # dbus is only used for udisks
+		$(use_with unwind)
+		$(use_with usb)
+		$(use_with v4l v4l2)
+		$(use_with xcomposite)
+		$(use_with xinerama)
+	)
+
+	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+	filter-lto # build failure
+	use custom-cflags || strip-flags # can break in obscure ways at runtime
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+	# https://github.com/gentoo/gentoo/pull/28355
+	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+		append-ldflags -fuse-ld=bfd
+
+	# build using upstream's way (--with-wine64)
+	# order matters: 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
+
+		pe_arch=i386
+		if (( bits == 64 )); then
+			pe_arch=x86_64
+			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+			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
+		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+		# CROSSCC is no longer recognized by Wine, but still use for now
+		# (future handling for CROSS* variables is subject to changes)
+		conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+		# use *FLAGS for mingw, but strip unsupported
+		: "${CROSSCFLAGS:=$(
+			# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
+			append-cflags '-fno-strict-aliasing'
+			filter-flags '-fstack-protector*' #870136
+			filter-flags '-mfunction-return=thunk*' #878849
+			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+		: "${CROSSLDFLAGS:=$(
+			filter-flags '-fuse-ld=*'
+			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+		export CROSS{C,LD}FLAGS
+
+		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
+
+	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
+	if use abi_x86_64 && use !abi_x86_32; then
+		dosym wine64 ${WINE_PREFIX}/bin/wine
+		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+		local man
+		for man in ../build64/loader/wine.*man; do
+			: "${man##*/wine}"
+			: "${_%.*}"
+			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+			newins ${man} wine.1
+		done
+	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
+
+	# 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
+	use debug ||
+		find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+
+	dodoc ANNOUNCE AUTHORS README* documentation/README*
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+	eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+	eselect wine update --if-unset || die
+}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-05-06  9:42 Arthur Zamarin
  0 siblings, 0 replies; 84+ messages in thread
From: Arthur Zamarin @ 2023-05-06  9:42 UTC (permalink / raw
  To: gentoo-commits

commit:     a5776c5bfc6f9b7c64af8be4bf2fc9c90d7cb25d
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sat May  6 09:42:14 2023 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sat May  6 09:42:14 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5776c5b

app-emulation/wine-proton: Stabilize 7.0.6 amd64, #904490

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 0479380661a8..6cab6145a6e2 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]]; then
 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"
+	KEYWORDS="-* amd64 ~x86"
 fi
 
 DESCRIPTION="Valve Software's fork of Wine"


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-05-06 11:17 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-05-06 11:17 UTC (permalink / raw
  To: gentoo-commits

commit:     42072a2de395ff1f14590529a57601b97c41b0b5
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat May  6 10:27:17 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat May  6 11:16:46 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=42072a2d

app-emulation/wine-proton: drop 7.0.5

Note that won't be dropping 7.0.6 anytime soon to keep at
least one from the 7.0.x branch. May wait until proton-9 or
10 are released unless it breaks non-trivially.

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

 app-emulation/wine-proton/Manifest                 |   1 -
 app-emulation/wine-proton/wine-proton-7.0.5.ebuild | 324 ---------------------
 2 files changed, 325 deletions(-)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index d49da5301306..33f4de150db9 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,4 +1,3 @@
-DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
 DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
 DIST proton-wine-8.0-1d.tar.gz 48198535 BLAKE2B 7ed7c4130d4c74d3f411880d253727469cbdaa78943b7783f3d2162177072503bffd588ba3c6c147014ce4e422850cb49e83c2d2d807777fcd01c101199f922d SHA512 4a5a2a2753f8fd025f8c0fe56341a67ed780befc8ae9bffe03872019d4227ec8324edf892c327b99330c3de29a3b8adaac656b41d3487de03a8a82cef9234da7
 DIST proton-wine-8.0-2c.tar.gz 48207888 BLAKE2B 8dc37f136c6d8758c521c0e5c2f16c88e9ede8b22ce7902bb7377a1555bf6aa5bcfaa46f3b9edb4fced1700675fc50f920f9ead17036c9ad1b8bc742ba7e8de3 SHA512 126c06352b6c8b38c133861ce13bc1ce4f1ecf9d451edc2928db54592707c94b07b3a346eb302895cc96c56fede8679b44111be7e1b451c4059c7afcb5fcff57

diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
deleted file mode 100644
index 00a57d5aac94..000000000000
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ /dev/null
@@ -1,324 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{9..11} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=7.3.1
-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/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-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}]
-	media-libs/freetype[${MULTILIB_USEDEP}]
-	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
-	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
-	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}]
-	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-WINE_COMMON_DEPEND="
-	${WINE_DLOPEN_DEPEND}
-	x11-libs/libX11[${MULTILIB_USEDEP}]
-	x11-libs/libXext[${MULTILIB_USEDEP}]
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		dev-libs/glib:2[${MULTILIB_USEDEP}]
-		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-	)
-	openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
-	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	unwind? (
-		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
-		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
-	)
-	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
-	vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
-RDEPEND="
-	${WINE_COMMON_DEPEND}
-	app-emulation/wine-desktop-common
-	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
-	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
-	)
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
-DEPEND="
-	${WINE_COMMON_DEPEND}
-	sys-kernel/linux-headers
-	x11-base/xorg-proto"
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-lang/perl
-	sys-devel/binutils
-	sys-devel/bison
-	sys-devel/flex
-	virtual/pkgconfig
-	nls? ( sys-devel/gettext )
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-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}-7.0.4-restore-menubuilder.patch
-	"${FILESDIR}"/${PN}-7.0.4-unwind.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}) $(usev abi_x86_32 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"
-				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)
-	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
-
-	# ensure .desktop calls this variant + slot
-	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
-	# similarly to staging, append to `wine --version` for identification
-	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
-	# always update for patches (including user's wrt #432348)
-	eautoreconf
-	tools/make_requests || die # perl
-	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-}
-
-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
-
-		# upstream (Valve) doesn't really support misc configurations (e.g.
-		# adds vulkan code not always guarded by --with-vulkan), so force
-		# some major options that are typically needed by games either way
-		--with-freetype
-		--with-mingw # needed by many, notably Blizzard titles
-		--with-opengl
-		--with-vulkan
-		--with-x
-
-		# ...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-ldap
-		--without-netapi
-		--without-opencl
-		--without-pcap
-		--without-sane
-		ac_cv_lib_soname_odbc=
-
-		$(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 (OSSv4)
-		$(use_with pulseaudio pulse)
-		$(use_with sdl)
-		$(use_with ssl gnutls)
-		$(use_with udev)
-		$(use_with udisks dbus) # dbus is only used for udisks
-		$(use_with unwind)
-		$(use_with usb)
-		$(use_with v4l v4l2)
-		$(use_with vkd3d)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-	)
-
-	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
-	filter-lto # build failure
-	use custom-cflags || strip-flags # can break in obscure ways at runtime
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
-	# https://github.com/gentoo/gentoo/pull/28355
-	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
-		append-ldflags -fuse-ld=bfd
-
-	# build using upstream's way (--with-wine64)
-	# order matters: 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
-
-		# CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
-		if (( bits == 64 )); then
-			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
-			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
-		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
-		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
-		: "${CROSSCFLAGS:=$(
-			filter-flags '-fstack-protector*' #870136
-			filter-flags '-mfunction-return=thunk*' #878849
-			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
-		: "${CROSSLDFLAGS:=$(
-			filter-flags '-fuse-ld=*'
-			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
-		export CROSS{CC,{C,LD}FLAGS}
-
-		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
-
-	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
-	if use abi_x86_64 && use !abi_x86_32; then
-		dosym wine64 ${WINE_PREFIX}/bin/wine
-		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
-		local man
-		for man in ../build64/loader/wine.*man; do
-			: "${man##*/wine}"
-			: "${_%.*}"
-			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
-			newins ${man} wine.1
-		done
-	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
-
-	# 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
-	use debug ||
-		find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
-			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
-
-	dodoc ANNOUNCE AUTHORS README* documentation/README*
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
-	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
-	eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
-	eselect wine update --if-unset || die
-}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-05-23 17:15 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-05-23 17:15 UTC (permalink / raw
  To: gentoo-commits

commit:     92e7e0f27e07d382ce7898f7c1b25e8a50d29c1a
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 23 17:04:14 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May 23 17:14:08 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92e7e0f2

app-emulation/wine-proton: enable py3.12

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

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 2 +-
 app-emulation/wine-proton/wine-proton-8.0.1d.ebuild   | 2 +-
 app-emulation/wine-proton/wine-proton-8.0.2c.ebuild   | 2 +-
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 6cab6145a6e2..96f444e33758 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
 inherit autotools flag-o-matic multilib multilib-build python-any-r1
 inherit readme.gentoo-r1 toolchain-funcs wrapper
 

diff --git a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
index 62e33d58f9bd..b2b9a61de3ff 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
 inherit autotools flag-o-matic multilib multilib-build python-any-r1
 inherit readme.gentoo-r1 toolchain-funcs wrapper
 

diff --git a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
index 62e33d58f9bd..b2b9a61de3ff 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
 inherit autotools flag-o-matic multilib multilib-build python-any-r1
 inherit readme.gentoo-r1 toolchain-funcs wrapper
 

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 62e33d58f9bd..b2b9a61de3ff 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
 inherit autotools flag-o-matic multilib multilib-build python-any-r1
 inherit readme.gentoo-r1 toolchain-funcs wrapper
 


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-06-02  6:54 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-06-02  6:54 UTC (permalink / raw
  To: gentoo-commits

commit:     56cab4809a234161eaafeb2847d8adb1344a73a3
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  2 04:44:36 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Jun  2 06:53:33 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56cab480

app-emulation/wine-proton: USE=-debug -> global USE=strip in live

Will update the old ebuilds eventually but given this triggers
a rebuild with --changed-use (default enabled), will wait till
a few bumps and maybe stable to give a chance for people to
update and depclean old rather than unnecessarily rebuild all.

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

 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index b2b9a61de3ff..4939eacc3879 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -28,10 +28,10 @@ HOMEPAGE="https://github.com/ValveSoftware/wine/"
 LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
 SLOT="${PV}"
 IUSE="
-	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
 	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
-	perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
-	+xcomposite xinerama"
+	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+	usb v4l +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
@@ -305,9 +305,13 @@ src_install() {
 	# 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
-	use debug ||
+
+	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 {} + || die
+			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+		eend ${?} || die
+	fi
 
 	dodoc ANNOUNCE AUTHORS README* documentation/README*
 	readme.gentoo_create_doc


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-06-24  4:56 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-06-24  4:56 UTC (permalink / raw
  To: gentoo-commits

commit:     0e099ff76283316c04decc61c9a9164f00a8a2ba
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 24 04:39:01 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Jun 24 04:54:02 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e099ff7

app-emulation/wine-proton: update comment about -fno-strict-aliasing

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

 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 4939eacc3879..b294ba4b95e7 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -256,7 +256,8 @@ src_configure() {
 
 		# use *FLAGS for mingw, but strip unsupported
 		: "${CROSSCFLAGS:=$(
-			# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
+			# >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
+			# it should (can be removed when proton is rebased on >=8.10)
 			append-cflags '-fno-strict-aliasing'
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-mfunction-return=thunk*' #878849


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-06-26 10:12 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-06-26 10:12 UTC (permalink / raw
  To: gentoo-commits

commit:     1fb8f41fe39a23062c88ccdb04b2552b76ee3242
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 26 09:41:54 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jun 26 10:10:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fb8f41f

app-emulation/wine-proton: pass -mno-avx for mingw cross

AVX issues with mingw-gcc aren't exactly new, e.g.
https://bugs.winehq.org/show_bug.cgi?id=45289
Been known to cause issues with dxvk too, albeit unsure
if that's still relevant as issues are scattered/lost.

Newly, >=wine-8.10 is likely to crash doing anything
at all 32bit if used -march=native (w/ avx) and 32bit
(e.g. `WINEARCH=win32 winecfg`).

Adding this to every packages using mingw as a precaution,
not believed there is much to gain from keeping AVX given
the fragility here. May revisit eventually with a newer GCC.

wine-proton is based on older wine and is not affected by
the obvious crash, this is a precaution for potential other
issues (so not revbumping over this, can wait till normal bump).

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

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 5 +++++
 app-emulation/wine-proton/wine-proton-8.0.1d.ebuild   | 5 +++++
 app-emulation/wine-proton/wine-proton-8.0.2c.ebuild   | 5 +++++
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 5 +++++
 4 files changed, 20 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 96f444e33758..086837096042 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -259,6 +259,11 @@ src_configure() {
 		: "${CROSSCFLAGS:=$(
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-mfunction-return=thunk*' #878849
+			# -mavx with mingw-gcc has a history of obscure issues and
+			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+			# crashes with -march=skylake >=wine-8.10, similar issues with
+			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+			append-cflags -mno-avx
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
index b2b9a61de3ff..1080ea80dd3f 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
@@ -260,6 +260,11 @@ src_configure() {
 			append-cflags '-fno-strict-aliasing'
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-mfunction-return=thunk*' #878849
+			# -mavx with mingw-gcc has a history of obscure issues and
+			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+			# crashes with -march=skylake >=wine-8.10, similar issues with
+			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+			append-cflags -mno-avx
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
index b2b9a61de3ff..1080ea80dd3f 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
@@ -260,6 +260,11 @@ src_configure() {
 			append-cflags '-fno-strict-aliasing'
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-mfunction-return=thunk*' #878849
+			# -mavx with mingw-gcc has a history of obscure issues and
+			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+			# crashes with -march=skylake >=wine-8.10, similar issues with
+			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+			append-cflags -mno-avx
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index b294ba4b95e7..e5ff1bbe7cce 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -261,6 +261,11 @@ src_configure() {
 			append-cflags '-fno-strict-aliasing'
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-mfunction-return=thunk*' #878849
+			# -mavx with mingw-gcc has a history of obscure issues and
+			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+			# crashes with -march=skylake >=wine-8.10, similar issues with
+			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+			append-cflags -mno-avx
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-07-11  5:37 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-07-11  5:37 UTC (permalink / raw
  To: gentoo-commits

commit:     68d292c1a404a227ff30b0ec81b8ea09bfef8623
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 11 05:28:28 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Jul 11 05:36:42 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=68d292c1

app-emulation/wine-proton: update live

wrt vosk aven't looked at it, but could consider to if there's
interest. Believe this is rather niche (for voice recognition
in Wine it sounds like) and won't go out of my way unless
I know someone wants it.

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

 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index e5ff1bbe7cce..d44d6d421587 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build python-any-r1
 inherit readme.gentoo-r1 toolchain-funcs wrapper
 
 WINE_GECKO=2.47.3
-WINE_MONO=7.4.1
+WINE_MONO=8.0.0
 WINE_PV=$(ver_rs 2 -)
 
 if [[ ${PV} == *9999 ]]; then
@@ -213,6 +213,8 @@ src_configure() {
 		$(use_with v4l v4l2)
 		$(use_with xcomposite)
 		$(use_with xinerama)
+
+		--without-vosk # unpackaged, file a bug if you need this
 	)
 
 	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-07-21 20:42 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-07-21 20:42 UTC (permalink / raw
  To: gentoo-commits

commit:     c8c7d58a8f1157a7b1cf11a6a44775782dbb2b86
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 21 20:07:05 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 20:41:02 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8c7d58a

app-emulation/wine-proton: drop 8.0.1d

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

 app-emulation/wine-proton/Manifest                 |   1 -
 .../wine-proton/wine-proton-8.0.1d.ebuild          | 333 ---------------------
 2 files changed, 334 deletions(-)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 33f4de150db9..85f037745409 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,2 @@
 DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
-DIST proton-wine-8.0-1d.tar.gz 48198535 BLAKE2B 7ed7c4130d4c74d3f411880d253727469cbdaa78943b7783f3d2162177072503bffd588ba3c6c147014ce4e422850cb49e83c2d2d807777fcd01c101199f922d SHA512 4a5a2a2753f8fd025f8c0fe56341a67ed780befc8ae9bffe03872019d4227ec8324edf892c327b99330c3de29a3b8adaac656b41d3487de03a8a82cef9234da7
 DIST proton-wine-8.0-2c.tar.gz 48207888 BLAKE2B 8dc37f136c6d8758c521c0e5c2f16c88e9ede8b22ce7902bb7377a1555bf6aa5bcfaa46f3b9edb4fced1700675fc50f920f9ead17036c9ad1b8bc742ba7e8de3 SHA512 126c06352b6c8b38c133861ce13bc1ce4f1ecf9d451edc2928db54592707c94b07b3a346eb302895cc96c56fede8679b44111be7e1b451c4059c7afcb5fcff57

diff --git a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
deleted file mode 100644
index 1080ea80dd3f..000000000000
--- a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
+++ /dev/null
@@ -1,333 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=7.4.1
-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/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
-	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
-	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
-	perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
-	+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/libgcrypt:=[${MULTILIB_USEDEP}]
-	media-libs/freetype[${MULTILIB_USEDEP}]
-	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
-	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
-	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}]
-	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? (
-		dev-libs/gmp:=[${MULTILIB_USEDEP}]
-		net-libs/gnutls:=[${MULTILIB_USEDEP}]
-	)
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-WINE_COMMON_DEPEND="
-	${WINE_DLOPEN_DEPEND}
-	x11-libs/libX11[${MULTILIB_USEDEP}]
-	x11-libs/libXext[${MULTILIB_USEDEP}]
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		dev-libs/glib:2[${MULTILIB_USEDEP}]
-		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-	)
-	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	unwind? (
-		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
-		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
-	)
-	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
-RDEPEND="
-	${WINE_COMMON_DEPEND}
-	app-emulation/wine-desktop-common
-	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
-	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
-	)
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
-DEPEND="
-	${WINE_COMMON_DEPEND}
-	sys-kernel/linux-headers
-	x11-base/xorg-proto"
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-lang/perl
-	sys-devel/binutils
-	sys-devel/bison
-	sys-devel/flex
-	virtual/pkgconfig
-	nls? ( sys-devel/gettext )
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-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}-7.0.4-restore-menubuilder.patch
-	"${FILESDIR}"/${PN}-8.0.1c-unwind.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}) $(usev abi_x86_32 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"
-				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)
-	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
-
-	# ensure .desktop calls this variant + slot
-	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
-	# similarly to staging, append to `wine --version` for identification
-	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
-	# always update for patches (including user's wrt #432348)
-	eautoreconf
-	tools/make_requests || die # perl
-	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-}
-
-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
-
-		# upstream (Valve) doesn't really support misc configurations (e.g.
-		# adds vulkan code not always guarded by --with-vulkan), so force
-		# some major options that are typically needed by games either way
-		--with-freetype
-		--with-mingw # needed by many, notably Blizzard titles
-		--with-opengl
-		--with-vulkan
-		--with-x
-
-		# ...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-sane
-		ac_cv_lib_soname_odbc=
-
-		$(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 osmesa)
-		--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 udisks dbus) # dbus is only used for udisks
-		$(use_with unwind)
-		$(use_with usb)
-		$(use_with v4l v4l2)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-	)
-
-	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
-	filter-lto # build failure
-	use custom-cflags || strip-flags # can break in obscure ways at runtime
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
-	# https://github.com/gentoo/gentoo/pull/28355
-	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
-		append-ldflags -fuse-ld=bfd
-
-	# build using upstream's way (--with-wine64)
-	# order matters: 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
-
-		pe_arch=i386
-		if (( bits == 64 )); then
-			pe_arch=x86_64
-			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
-			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
-		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
-		# CROSSCC is no longer recognized by Wine, but still use for now
-		# (future handling for CROSS* variables is subject to changes)
-		conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
-
-		# use *FLAGS for mingw, but strip unsupported
-		: "${CROSSCFLAGS:=$(
-			# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
-			append-cflags '-fno-strict-aliasing'
-			filter-flags '-fstack-protector*' #870136
-			filter-flags '-mfunction-return=thunk*' #878849
-			# -mavx with mingw-gcc has a history of obscure issues and
-			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
-			# crashes with -march=skylake >=wine-8.10, similar issues with
-			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-			append-cflags -mno-avx
-			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
-		: "${CROSSLDFLAGS:=$(
-			filter-flags '-fuse-ld=*'
-			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
-		export CROSS{C,LD}FLAGS
-
-		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
-
-	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
-	if use abi_x86_64 && use !abi_x86_32; then
-		dosym wine64 ${WINE_PREFIX}/bin/wine
-		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
-		local man
-		for man in ../build64/loader/wine.*man; do
-			: "${man##*/wine}"
-			: "${_%.*}"
-			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
-			newins ${man} wine.1
-		done
-	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
-
-	# 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
-	use debug ||
-		find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
-			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
-
-	dodoc ANNOUNCE AUTHORS README* documentation/README*
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
-	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
-	eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
-	eselect wine update --if-unset || die
-}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-07-21 20:42 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-07-21 20:42 UTC (permalink / raw
  To: gentoo-commits

commit:     2a9c32b782c5896b00f5fa3c33e01412f7e94571
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 21 20:17:01 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 20:41:42 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a9c32b7

app-emulation/wine-proton: add 8.0.3c

This is probably a stable candidate for 8.0 series, fixes
a fair amount of regressions.

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

 app-emulation/wine-proton/Manifest                 |   1 +
 .../wine-proton/wine-proton-8.0.3c.ebuild          | 338 +++++++++++++++++++++
 2 files changed, 339 insertions(+)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 85f037745409..c87fa209107f 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,2 +1,3 @@
 DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
 DIST proton-wine-8.0-2c.tar.gz 48207888 BLAKE2B 8dc37f136c6d8758c521c0e5c2f16c88e9ede8b22ce7902bb7377a1555bf6aa5bcfaa46f3b9edb4fced1700675fc50f920f9ead17036c9ad1b8bc742ba7e8de3 SHA512 126c06352b6c8b38c133861ce13bc1ce4f1ecf9d451edc2928db54592707c94b07b3a346eb302895cc96c56fede8679b44111be7e1b451c4059c7afcb5fcff57
+DIST proton-wine-8.0-3c.tar.gz 48254135 BLAKE2B fee58928555376f71579099d3fb39dbe2242516b671af1ca2507a135c3119422d6e168ed2a258d29c57a8fc33a026e5cf788d8362f238f1c0c4c7c81c9cbb147 SHA512 5d473534834ce8ea855d4ee2d39f1596117c0abab0925ee50875245ff6e1f49fe4684fe6f162e92a4b5e408795ff8c9b15b382fb013074216dd565143ecd9efc

diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
new file mode 100644
index 000000000000..e5ff1bbe7cce
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -0,0 +1,338 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.4.1
+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/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+	usb v4l +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/libgcrypt:=[${MULTILIB_USEDEP}]
+	media-libs/freetype[${MULTILIB_USEDEP}]
+	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	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}]
+	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+	ssl? (
+		dev-libs/gmp:=[${MULTILIB_USEDEP}]
+		net-libs/gnutls:=[${MULTILIB_USEDEP}]
+	)
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	x11-libs/libX11[${MULTILIB_USEDEP}]
+	x11-libs/libXext[${MULTILIB_USEDEP}]
+	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+	)
+	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+	unwind? (
+		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+	)
+	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+RDEPEND="
+	${WINE_COMMON_DEPEND}
+	app-emulation/wine-desktop-common
+	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+	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
+	)
+	selinux? ( sec-policy/selinux-wine )
+	udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	sys-kernel/linux-headers
+	x11-base/xorg-proto"
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-lang/perl
+	sys-devel/binutils
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+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}-7.0.4-restore-menubuilder.patch
+	"${FILESDIR}"/${PN}-8.0.1c-unwind.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}) $(usev abi_x86_32 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"
+				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)
+	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
+
+	# ensure .desktop calls this variant + slot
+	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+	# similarly to staging, append to `wine --version` for identification
+	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+	# always update for patches (including user's wrt #432348)
+	eautoreconf
+	tools/make_requests || die # perl
+	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+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
+
+		# upstream (Valve) doesn't really support misc configurations (e.g.
+		# adds vulkan code not always guarded by --with-vulkan), so force
+		# some major options that are typically needed by games either way
+		--with-freetype
+		--with-mingw # needed by many, notably Blizzard titles
+		--with-opengl
+		--with-vulkan
+		--with-x
+
+		# ...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-sane
+		ac_cv_lib_soname_odbc=
+
+		$(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 osmesa)
+		--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 udisks dbus) # dbus is only used for udisks
+		$(use_with unwind)
+		$(use_with usb)
+		$(use_with v4l v4l2)
+		$(use_with xcomposite)
+		$(use_with xinerama)
+	)
+
+	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+	filter-lto # build failure
+	use custom-cflags || strip-flags # can break in obscure ways at runtime
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+	# https://github.com/gentoo/gentoo/pull/28355
+	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+		append-ldflags -fuse-ld=bfd
+
+	# build using upstream's way (--with-wine64)
+	# order matters: 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
+
+		pe_arch=i386
+		if (( bits == 64 )); then
+			pe_arch=x86_64
+			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+			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
+		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+		# CROSSCC is no longer recognized by Wine, but still use for now
+		# (future handling for CROSS* variables is subject to changes)
+		conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+		# use *FLAGS for mingw, but strip unsupported
+		: "${CROSSCFLAGS:=$(
+			# >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
+			# it should (can be removed when proton is rebased on >=8.10)
+			append-cflags '-fno-strict-aliasing'
+			filter-flags '-fstack-protector*' #870136
+			filter-flags '-mfunction-return=thunk*' #878849
+			# -mavx with mingw-gcc has a history of obscure issues and
+			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+			# crashes with -march=skylake >=wine-8.10, similar issues with
+			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+			append-cflags -mno-avx
+			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+		: "${CROSSLDFLAGS:=$(
+			filter-flags '-fuse-ld=*'
+			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+		export CROSS{C,LD}FLAGS
+
+		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
+
+	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
+	if use abi_x86_64 && use !abi_x86_32; then
+		dosym wine64 ${WINE_PREFIX}/bin/wine
+		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+		local man
+		for man in ../build64/loader/wine.*man; do
+			: "${man##*/wine}"
+			: "${_%.*}"
+			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+			newins ${man} wine.1
+		done
+	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
+
+	# 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
+
+	dodoc ANNOUNCE AUTHORS README* documentation/README*
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+	eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+	eselect wine update --if-unset || die
+}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-06  4:32 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-08-06  4:32 UTC (permalink / raw
  To: gentoo-commits

commit:     06b6b69f2192e7c63d032b3d76df3442e97a0718
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  6 01:04:27 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Aug  6 04:27:44 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06b6b69f

app-emulation/wine-proton: drop 8.0.2c

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

 app-emulation/wine-proton/Manifest                 |   1 -
 .../wine-proton/wine-proton-8.0.2c.ebuild          | 333 ---------------------
 2 files changed, 334 deletions(-)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index c87fa209107f..0e7a1eb1adee 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,2 @@
 DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
-DIST proton-wine-8.0-2c.tar.gz 48207888 BLAKE2B 8dc37f136c6d8758c521c0e5c2f16c88e9ede8b22ce7902bb7377a1555bf6aa5bcfaa46f3b9edb4fced1700675fc50f920f9ead17036c9ad1b8bc742ba7e8de3 SHA512 126c06352b6c8b38c133861ce13bc1ce4f1ecf9d451edc2928db54592707c94b07b3a346eb302895cc96c56fede8679b44111be7e1b451c4059c7afcb5fcff57
 DIST proton-wine-8.0-3c.tar.gz 48254135 BLAKE2B fee58928555376f71579099d3fb39dbe2242516b671af1ca2507a135c3119422d6e168ed2a258d29c57a8fc33a026e5cf788d8362f238f1c0c4c7c81c9cbb147 SHA512 5d473534834ce8ea855d4ee2d39f1596117c0abab0925ee50875245ff6e1f49fe4684fe6f162e92a4b5e408795ff8c9b15b382fb013074216dd565143ecd9efc

diff --git a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
deleted file mode 100644
index 1080ea80dd3f..000000000000
--- a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
+++ /dev/null
@@ -1,333 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=7.4.1
-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/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
-	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
-	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
-	perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
-	+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/libgcrypt:=[${MULTILIB_USEDEP}]
-	media-libs/freetype[${MULTILIB_USEDEP}]
-	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
-	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
-	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}]
-	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? (
-		dev-libs/gmp:=[${MULTILIB_USEDEP}]
-		net-libs/gnutls:=[${MULTILIB_USEDEP}]
-	)
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-WINE_COMMON_DEPEND="
-	${WINE_DLOPEN_DEPEND}
-	x11-libs/libX11[${MULTILIB_USEDEP}]
-	x11-libs/libXext[${MULTILIB_USEDEP}]
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		dev-libs/glib:2[${MULTILIB_USEDEP}]
-		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-	)
-	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	unwind? (
-		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
-		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
-	)
-	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
-RDEPEND="
-	${WINE_COMMON_DEPEND}
-	app-emulation/wine-desktop-common
-	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
-	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
-	)
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
-DEPEND="
-	${WINE_COMMON_DEPEND}
-	sys-kernel/linux-headers
-	x11-base/xorg-proto"
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-lang/perl
-	sys-devel/binutils
-	sys-devel/bison
-	sys-devel/flex
-	virtual/pkgconfig
-	nls? ( sys-devel/gettext )
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-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}-7.0.4-restore-menubuilder.patch
-	"${FILESDIR}"/${PN}-8.0.1c-unwind.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}) $(usev abi_x86_32 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"
-				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)
-	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
-
-	# ensure .desktop calls this variant + slot
-	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
-	# similarly to staging, append to `wine --version` for identification
-	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
-	# always update for patches (including user's wrt #432348)
-	eautoreconf
-	tools/make_requests || die # perl
-	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-}
-
-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
-
-		# upstream (Valve) doesn't really support misc configurations (e.g.
-		# adds vulkan code not always guarded by --with-vulkan), so force
-		# some major options that are typically needed by games either way
-		--with-freetype
-		--with-mingw # needed by many, notably Blizzard titles
-		--with-opengl
-		--with-vulkan
-		--with-x
-
-		# ...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-sane
-		ac_cv_lib_soname_odbc=
-
-		$(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 osmesa)
-		--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 udisks dbus) # dbus is only used for udisks
-		$(use_with unwind)
-		$(use_with usb)
-		$(use_with v4l v4l2)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-	)
-
-	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
-	filter-lto # build failure
-	use custom-cflags || strip-flags # can break in obscure ways at runtime
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
-	# https://github.com/gentoo/gentoo/pull/28355
-	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
-		append-ldflags -fuse-ld=bfd
-
-	# build using upstream's way (--with-wine64)
-	# order matters: 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
-
-		pe_arch=i386
-		if (( bits == 64 )); then
-			pe_arch=x86_64
-			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
-			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
-		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
-		# CROSSCC is no longer recognized by Wine, but still use for now
-		# (future handling for CROSS* variables is subject to changes)
-		conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
-
-		# use *FLAGS for mingw, but strip unsupported
-		: "${CROSSCFLAGS:=$(
-			# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
-			append-cflags '-fno-strict-aliasing'
-			filter-flags '-fstack-protector*' #870136
-			filter-flags '-mfunction-return=thunk*' #878849
-			# -mavx with mingw-gcc has a history of obscure issues and
-			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
-			# crashes with -march=skylake >=wine-8.10, similar issues with
-			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-			append-cflags -mno-avx
-			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
-		: "${CROSSLDFLAGS:=$(
-			filter-flags '-fuse-ld=*'
-			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
-		export CROSS{C,LD}FLAGS
-
-		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
-
-	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
-	if use abi_x86_64 && use !abi_x86_32; then
-		dosym wine64 ${WINE_PREFIX}/bin/wine
-		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
-		local man
-		for man in ../build64/loader/wine.*man; do
-			: "${man##*/wine}"
-			: "${_%.*}"
-			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
-			newins ${man} wine.1
-		done
-	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
-
-	# 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
-	use debug ||
-		find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
-			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
-
-	dodoc ANNOUNCE AUTHORS README* documentation/README*
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
-	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
-	eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
-	eselect wine update --if-unset || die
-}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-10 10:53 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-08-10 10:53 UTC (permalink / raw
  To: gentoo-commits

commit:     94d5fad239aa407403918106082dc94b17456740
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 10 09:00:18 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Aug 10 10:35:03 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94d5fad2

app-emulation/wine-proton: extend force-bfd comment with reminder

Would rather stay conservative with wine, but should
probably revisit still.

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

 app-emulation/wine-proton/wine-proton-8.0.3c.ebuild   | 6 +++++-
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 6 +++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index e5ff1bbe7cce..e0cf597cbcca 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -215,7 +215,11 @@ src_configure() {
 		$(use_with xinerama)
 	)
 
-	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+	# builds with non-bfd but broken at runtime (bug #867097)
+	# TODO: retest mold and lld, and figure out what's wrong if
+	# still broken given (at least) lld is supposed to work
+	tc-ld-force-bfd
+
 	filter-lto # build failure
 	use custom-cflags || strip-flags # can break in obscure ways at runtime
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index d44d6d421587..4d53248d4c24 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -217,7 +217,11 @@ src_configure() {
 		--without-vosk # unpackaged, file a bug if you need this
 	)
 
-	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+	# builds with non-bfd but broken at runtime (bug #867097)
+	# TODO: retest mold and lld, and figure out what's wrong if
+	# still broken given (at least) lld is supposed to work
+	tc-ld-force-bfd
+
 	filter-lto # build failure
 	use custom-cflags || strip-flags # can break in obscure ways at runtime
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-10 10:53 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-08-10 10:53 UTC (permalink / raw
  To: gentoo-commits

commit:     84924628f0009acbe92b94ac28141c7ee322548e
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 10 09:08:50 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Aug 10 10:35:04 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84924628

app-emulation/wine-proton: skip -mno-avx with USE=custom-cflags

Don't recommend it (even hardly recommend -march=native!), but
some users like ricing their wine and would rather not see this
if it "works for me".

Others like filter-lto stay regardless given that just will not
build.

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

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 2 +-
 app-emulation/wine-proton/wine-proton-8.0.3c.ebuild   | 2 +-
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 086837096042..0bd8abd05b69 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -263,7 +263,7 @@ src_configure() {
 			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
 			# crashes with -march=skylake >=wine-8.10, similar issues with
 			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-			append-cflags -mno-avx
+			use custom-cflags || append-cflags -mno-avx
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index e0cf597cbcca..6ea5954ede28 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -269,7 +269,7 @@ src_configure() {
 			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
 			# crashes with -march=skylake >=wine-8.10, similar issues with
 			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-			append-cflags -mno-avx
+			use custom-cflags || append-cflags -mno-avx
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 4d53248d4c24..db3758ec4c05 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -271,7 +271,7 @@ src_configure() {
 			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
 			# crashes with -march=skylake >=wine-8.10, similar issues with
 			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-			append-cflags -mno-avx
+			use custom-cflags || append-cflags -mno-avx
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-10 10:53 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-08-10 10:53 UTC (permalink / raw
  To: gentoo-commits

commit:     b00af64d6d88d213f473daf06bbbef407971eb26
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 10 10:09:41 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Aug 10 10:35:04 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b00af64d

app-emulation/wine-proton: fix finding wine-mono on prefix

Technically needs a revbump, but given never got a bug report despite
being broken since forever I'll consider this low priority.

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

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 7 +++++--
 app-emulation/wine-proton/wine-proton-8.0.3c.ebuild   | 7 +++++--
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 7 +++++--
 3 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 0bd8abd05b69..294e5c9aab65 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -5,8 +5,8 @@ EAPI=8
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 
 WINE_GECKO=2.47.3
 WINE_MONO=7.4.0
@@ -158,6 +158,9 @@ src_prepare() {
 	# similarly to staging, append to `wine --version` for identification
 	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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

diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index 6ea5954ede28..3f2ba5ab1d26 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -5,8 +5,8 @@ EAPI=8
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 
 WINE_GECKO=2.47.3
 WINE_MONO=7.4.1
@@ -155,6 +155,9 @@ src_prepare() {
 	# similarly to staging, append to `wine --version` for identification
 	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index db3758ec4c05..68a943a8042e 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -5,8 +5,8 @@ EAPI=8
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 
 WINE_GECKO=2.47.3
 WINE_MONO=8.0.0
@@ -155,6 +155,9 @@ src_prepare() {
 	# similarly to staging, append to `wine --version` for identification
 	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-11 10:52 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-08-11 10:52 UTC (permalink / raw
  To: gentoo-commits

commit:     b15be1cefe3f1288144bf23d5251e45a0428faa5
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 11 07:32:48 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Aug 11 10:00:07 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b15be1ce

app-emulation/wine-proton: pass -latomic with clang for ntdll.so

Specific to Valve's fync patches, aka:
ntdll/unix/fsync.c:368: undefined reference to `__atomic_load_8'

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

 app-emulation/wine-proton/wine-proton-8.0.3c.ebuild   | 5 +++++
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index 79fa39b47160..cad46d367304 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -60,8 +60,10 @@ WINE_DLOPEN_DEPEND="
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
 	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+# gcc: for -latomic with clang
 WINE_COMMON_DEPEND="
 	${WINE_DLOPEN_DEPEND}
+	sys-devel/gcc:*
 	x11-libs/libX11[${MULTILIB_USEDEP}]
 	x11-libs/libXext[${MULTILIB_USEDEP}]
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
@@ -154,6 +156,9 @@ src_prepare() {
 		# and it still gets used in install phase despite --with-mingw,
 		# drop as a quick fix for now which hopefully should be safe
 		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+		# needed by Valve's fsync patches if using clang (undef atomic_load_8)
+		sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
 	fi
 
 	# ensure .desktop calls this variant + slot

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 264e3ea19172..248c24788eab 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -60,8 +60,10 @@ WINE_DLOPEN_DEPEND="
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
 	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+# gcc: for -latomic with clang
 WINE_COMMON_DEPEND="
 	${WINE_DLOPEN_DEPEND}
+	sys-devel/gcc:*
 	x11-libs/libX11[${MULTILIB_USEDEP}]
 	x11-libs/libXext[${MULTILIB_USEDEP}]
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
@@ -154,6 +156,9 @@ src_prepare() {
 		# and it still gets used in install phase despite --with-mingw,
 		# drop as a quick fix for now which hopefully should be safe
 		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+		# needed by Valve's fsync patches if using clang (undef atomic_load_8)
+		sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
 	fi
 
 	# ensure .desktop calls this variant + slot


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-11 10:52 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-08-11 10:52 UTC (permalink / raw
  To: gentoo-commits

commit:     2d51d6027d3fcaf3337c932932a50918d9d38f73
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 11 06:26:14 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Aug 11 10:00:06 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d51d602

app-emulation/wine-proton: fix build with clang:17

Was silently ignored with <clang-16, but clang:17 now considers this
an error.

Working -mabi=ms would be required if --without-mingw, but with it
seems it gets used in install phase possibly(?) by mistake. As a
quick fix, drop the option for now. Prefer to leave alone for gcc,
so done in ebuild w/ tc-is-clang.

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

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 7 +++++++
 app-emulation/wine-proton/wine-proton-8.0.3c.ebuild   | 7 +++++++
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 7 +++++++
 3 files changed, 21 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 294e5c9aab65..95664cb0ff23 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -152,6 +152,13 @@ src_prepare() {
 
 	default
 
+	if tc-is-clang; then
+		# -mabi=ms was ignored by <clang:16 then turned error in :17
+		# and it still gets used in install phase despite --with-mingw,
+		# drop as a quick fix for now which hopefully should be safe
+		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+	fi
+
 	# ensure .desktop calls this variant + slot
 	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
 

diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index 3f2ba5ab1d26..79fa39b47160 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -149,6 +149,13 @@ src_prepare() {
 
 	default
 
+	if tc-is-clang; then
+		# -mabi=ms was ignored by <clang:16 then turned error in :17
+		# and it still gets used in install phase despite --with-mingw,
+		# drop as a quick fix for now which hopefully should be safe
+		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+	fi
+
 	# ensure .desktop calls this variant + slot
 	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
 

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 68a943a8042e..264e3ea19172 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -149,6 +149,13 @@ src_prepare() {
 
 	default
 
+	if tc-is-clang; then
+		# -mabi=ms was ignored by <clang:16 then turned error in :17
+		# and it still gets used in install phase despite --with-mingw,
+		# drop as a quick fix for now which hopefully should be safe
+		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+	fi
+
 	# ensure .desktop calls this variant + slot
 	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
 


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-11 10:52 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-08-11 10:52 UTC (permalink / raw
  To: gentoo-commits

commit:     406299a31b83ceb567a51645f66d0122a27509fc
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 11 07:14:32 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Aug 11 10:33:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=406299a3

app-emulation/wine-proton: revert TODO about force-bfd

Will keep this matched with wine 8.0 until rebase for proton-9.

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

 app-emulation/wine-proton/wine-proton-8.0.3c.ebuild   | 6 +-----
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 6 +-----
 2 files changed, 2 insertions(+), 10 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index cad46d367304..c5db812fe92b 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -230,11 +230,7 @@ src_configure() {
 		$(use_with xinerama)
 	)
 
-	# builds with non-bfd but broken at runtime (bug #867097)
-	# TODO: retest mold and lld, and figure out what's wrong if
-	# still broken given (at least) lld is supposed to work
-	tc-ld-force-bfd
-
+	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
 	filter-lto # build failure
 	use custom-cflags || strip-flags # can break in obscure ways at runtime
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 248c24788eab..cced91f4ca78 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -232,11 +232,7 @@ src_configure() {
 		--without-vosk # unpackaged, file a bug if you need this
 	)
 
-	# builds with non-bfd but broken at runtime (bug #867097)
-	# TODO: retest mold and lld, and figure out what's wrong if
-	# still broken given (at least) lld is supposed to work
-	tc-ld-force-bfd
-
+	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
 	filter-lto # build failure
 	use custom-cflags || strip-flags # can break in obscure ways at runtime
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-13 19:45 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-08-13 19:45 UTC (permalink / raw
  To: gentoo-commits

commit:     2aec9b5a832e008ba2c3060ef6c5e3bb0d000429
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 13 19:42:18 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Aug 13 19:44:20 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2aec9b5a

app-emulation/wine-proton: note reminder about mingw if using clang

Albeit likely won't visit this until wine-proton-9 and wow64.

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

 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index cced91f4ca78..6c5e37bcd5bb 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -190,6 +190,8 @@ src_configure() {
 		# upstream (Valve) doesn't really support misc configurations (e.g.
 		# adds vulkan code not always guarded by --with-vulkan), so force
 		# some major options that are typically needed by games either way
+		# TODO?: --without-mingw could make sense *if* using clang, assuming
+		# bug #912237 is resolved (consider when do USE=wow64 in proton-9)
 		--with-freetype
 		--with-mingw # needed by many, notably Blizzard titles
 		--with-opengl


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-14 10:26 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-08-14 10:26 UTC (permalink / raw
  To: gentoo-commits

commit:     44d2b75c2b8f8151d6d09e7dd2af4c6818e7b280
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 14 10:22:41 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Aug 14 10:25:47 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44d2b75c

app-emulation/wine-proton: pass -mno-avx with mingw unconditionally

Upon further consideration 84924628f0009acbe92b94ac28141c7ee322548e
result in rather unexpected behavior even if we consider that
USE=custom-cflags is unsupported, and giving a way to skip -mno-avx
may not be all that worth it.

So revert plus tidy and add this bugref.

Closes: https://bugs.gentoo.org/912268
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 4 +++-
 app-emulation/wine-proton/wine-proton-8.0.3c.ebuild   | 7 +++++--
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 7 +++++--
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 95664cb0ff23..2d64d08da94f 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -269,11 +269,13 @@ src_configure() {
 		: "${CROSSCFLAGS:=$(
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-mfunction-return=thunk*' #878849
+
 			# -mavx with mingw-gcc has a history of obscure issues and
 			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
 			# crashes with -march=skylake >=wine-8.10, similar issues with
 			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-			use custom-cflags || append-cflags -mno-avx
+			append-cflags -mno-avx #912268
+
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index c5db812fe92b..28c682e79696 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -273,14 +273,17 @@ src_configure() {
 		: "${CROSSCFLAGS:=$(
 			# >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
 			# it should (can be removed when proton is rebased on >=8.10)
-			append-cflags '-fno-strict-aliasing'
+			append-cflags -fno-strict-aliasing
+
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-mfunction-return=thunk*' #878849
+
 			# -mavx with mingw-gcc has a history of obscure issues and
 			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
 			# crashes with -march=skylake >=wine-8.10, similar issues with
 			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-			use custom-cflags || append-cflags -mno-avx
+			append-cflags -mno-avx #912268
+
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 6c5e37bcd5bb..9c15f5e09995 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -277,14 +277,17 @@ src_configure() {
 		: "${CROSSCFLAGS:=$(
 			# >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
 			# it should (can be removed when proton is rebased on >=8.10)
-			append-cflags '-fno-strict-aliasing'
+			append-cflags -fno-strict-aliasing
+
 			filter-flags '-fstack-protector*' #870136
 			filter-flags '-mfunction-return=thunk*' #878849
+
 			# -mavx with mingw-gcc has a history of obscure issues and
 			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
 			# crashes with -march=skylake >=wine-8.10, similar issues with
 			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-			use custom-cflags || append-cflags -mno-avx
+			append-cflags -mno-avx #912268
+
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-19  9:51 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-08-19  9:51 UTC (permalink / raw
  To: gentoo-commits

commit:     89ad87b4928349ea287d129f96e1d5d9ace40981
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 19 09:44:04 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Aug 19 09:51:01 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89ad87b4

app-emulation/wine-proton: use mono-8.0.1 in live

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

 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 9c15f5e09995..53ac9ce2e64b 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build prefix
 inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 
 WINE_GECKO=2.47.3
-WINE_MONO=8.0.0
+WINE_MONO=8.0.1
 WINE_PV=$(ver_rs 2 -)
 
 if [[ ${PV} == *9999 ]]; then


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-28 12:19 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-08-28 12:19 UTC (permalink / raw
  To: gentoo-commits

commit:     a6fc6d87eb829a9c6cfb837cc2f05b817987f127
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 28 11:59:38 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Aug 28 12:13:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a6fc6d87

app-emulation/wine-proton: warn if nvidia[abi_x86_32] is missing

Hard to know for sure if it's really used or not, but do not
want to introduce a kinda no-op VIDEO_CARDS on wine to actually
depend on it over a warning.

Less of an issue with mesa given other dependencies end up
requiring it (technically the dep is wrong given e.g. nvidia
would not need mesa[abi_x86_32], but well).

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

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 7 +++++++
 app-emulation/wine-proton/wine-proton-8.0.3c.ebuild   | 7 +++++++
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 7 +++++++
 3 files changed, 21 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 2d64d08da94f..b0d8137fd450 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -336,6 +336,13 @@ pkg_preinst() {
 pkg_postinst() {
 	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
 
+	if use abi_x86_32 && 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."
+	fi
+
 	eselect wine update --if-unset || die
 }
 

diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index 28c682e79696..0a109f5bc674 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -348,6 +348,13 @@ pkg_preinst() {
 pkg_postinst() {
 	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
 
+	if use abi_x86_32 && 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."
+	fi
+
 	eselect wine update --if-unset || die
 }
 

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 53ac9ce2e64b..16f19e3a308d 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -352,6 +352,13 @@ pkg_preinst() {
 pkg_postinst() {
 	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
 
+	if use abi_x86_32 && 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."
+	fi
+
 	eselect wine update --if-unset || die
 }
 


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-10-06  6:43 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-10-06  6:43 UTC (permalink / raw
  To: gentoo-commits

commit:     1715d64a01b600024ad7cc00793449496368521d
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Oct  6 06:21:56 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Oct  6 06:22:38 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1715d64a

app-emulation/wine-proton: add 8.0.4

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

 app-emulation/wine-proton/Manifest                 |   1 +
 app-emulation/wine-proton/wine-proton-8.0.4.ebuild | 365 +++++++++++++++++++++
 2 files changed, 366 insertions(+)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 0e7a1eb1adee..61b2101eff7e 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,2 +1,3 @@
 DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
 DIST proton-wine-8.0-3c.tar.gz 48254135 BLAKE2B fee58928555376f71579099d3fb39dbe2242516b671af1ca2507a135c3119422d6e168ed2a258d29c57a8fc33a026e5cf788d8362f238f1c0c4c7c81c9cbb147 SHA512 5d473534834ce8ea855d4ee2d39f1596117c0abab0925ee50875245ff6e1f49fe4684fe6f162e92a4b5e408795ff8c9b15b382fb013074216dd565143ecd9efc
+DIST proton-wine-8.0-4.tar.gz 48317622 BLAKE2B 53047016897c8919cf3b51d7e51025806d267bb2f04fb3d464b8cf0f133c36b53d9c6c3e591aff4c71a95c6e167eed67b6ad84cc549e1aa1682175233da79835 SHA512 837772856aafb4d47c700997655c0d98f17cafdcc76008e04d064dd071e8d3163ed094bfc57441ef8ec4f2f7ea6303815351dc707ce5515f8c22f9aba8c5f83b

diff --git a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
new file mode 100644
index 000000000000..f021e06e5682
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
@@ -0,0 +1,365 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=8.0.1
+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/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+	usb v4l +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/libgcrypt:=[${MULTILIB_USEDEP}]
+	media-libs/freetype[${MULTILIB_USEDEP}]
+	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	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}]
+	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+	ssl? (
+		dev-libs/gmp:=[${MULTILIB_USEDEP}]
+		net-libs/gnutls:=[${MULTILIB_USEDEP}]
+	)
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+# gcc: for -latomic with clang
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	sys-devel/gcc:*
+	x11-libs/libX11[${MULTILIB_USEDEP}]
+	x11-libs/libXext[${MULTILIB_USEDEP}]
+	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+	)
+	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+	unwind? (
+		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+	)
+	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+RDEPEND="
+	${WINE_COMMON_DEPEND}
+	app-emulation/wine-desktop-common
+	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+	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
+	)
+	selinux? ( sec-policy/selinux-wine )
+	udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	sys-kernel/linux-headers
+	x11-base/xorg-proto"
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-lang/perl
+	sys-devel/binutils
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+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}-7.0.4-restore-menubuilder.patch
+	"${FILESDIR}"/${PN}-8.0.1c-unwind.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}) $(usev abi_x86_32 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"
+				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)
+	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
+		# -mabi=ms was ignored by <clang:16 then turned error in :17
+		# and it still gets used in install phase despite --with-mingw,
+		# drop as a quick fix for now which hopefully should be safe
+		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+		# needed by Valve's fsync patches if using clang (undef atomic_load_8)
+		sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
+	fi
+
+	# ensure .desktop calls this variant + slot
+	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+	# similarly to staging, append to `wine --version` for identification
+	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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
+	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+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
+
+		# upstream (Valve) doesn't really support misc configurations (e.g.
+		# adds vulkan code not always guarded by --with-vulkan), so force
+		# some major options that are typically needed by games either way
+		# TODO?: --without-mingw could make sense *if* using clang, assuming
+		# bug #912237 is resolved (consider when do USE=wow64 in proton-9)
+		--with-freetype
+		--with-mingw # needed by many, notably Blizzard titles
+		--with-opengl
+		--with-vulkan
+		--with-x
+
+		# ...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-sane
+		ac_cv_lib_soname_odbc=
+
+		$(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 osmesa)
+		--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 udisks dbus) # dbus is only used for udisks
+		$(use_with unwind)
+		$(use_with usb)
+		$(use_with v4l v4l2)
+		$(use_with xcomposite)
+		$(use_with xinerama)
+	)
+
+	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+	filter-lto # build failure
+	use custom-cflags || strip-flags # can break in obscure ways at runtime
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+	# https://github.com/gentoo/gentoo/pull/28355
+	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+		append-ldflags -fuse-ld=bfd
+
+	# build using upstream's way (--with-wine64)
+	# order matters: 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
+
+		pe_arch=i386
+		if (( bits == 64 )); then
+			pe_arch=x86_64
+			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+			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
+		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+		# CROSSCC is no longer recognized by Wine, but still use for now
+		# (future handling for CROSS* variables is subject to changes)
+		conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+		# use *FLAGS for mingw, but strip unsupported
+		: "${CROSSCFLAGS:=$(
+			# >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
+			# it should (can be removed when proton is rebased on >=8.10)
+			append-cflags -fno-strict-aliasing
+
+			filter-flags '-fstack-protector*' #870136
+			filter-flags '-mfunction-return=thunk*' #878849
+
+			# -mavx with mingw-gcc has a history of obscure issues and
+			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+			# crashes with -march=skylake >=wine-8.10, similar issues with
+			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+			append-cflags -mno-avx #912268
+
+			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+		: "${CROSSLDFLAGS:=$(
+			filter-flags '-fuse-ld=*'
+			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+		export CROSS{C,LD}FLAGS
+
+		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
+
+	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
+	if use abi_x86_64 && use !abi_x86_32; then
+		dosym wine64 ${WINE_PREFIX}/bin/wine
+		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+		local man
+		for man in ../build64/loader/wine.*man; do
+			: "${man##*/wine}"
+			: "${_%.*}"
+			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+			newins ${man} wine.1
+		done
+	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
+
+	# 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
+
+	dodoc ANNOUNCE AUTHORS README* documentation/README*
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+	if use abi_x86_32 && 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."
+	fi
+
+	eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+	eselect wine update --if-unset || die
+}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-10-06  9:23 Arthur Zamarin
  0 siblings, 0 replies; 84+ messages in thread
From: Arthur Zamarin @ 2023-10-06  9:23 UTC (permalink / raw
  To: gentoo-commits

commit:     1b16019dd302c5f76f6990a4fe351cd05168c45d
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct  6 09:23:44 2023 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Oct  6 09:23:44 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b16019d

app-emulation/wine-proton: Stabilize 8.0.3c amd64, #911796

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-8.0.3c.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index 0a109f5bc674..9f55f65590c2 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]]; then
 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"
+	KEYWORDS="-* amd64 ~x86"
 fi
 
 DESCRIPTION="Valve Software's fork of Wine"


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-11-09  6:37 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-11-09  6:37 UTC (permalink / raw
  To: gentoo-commits

commit:     ba2333e2657eba2ee480f553c40dee774562554c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Nov  9 05:48:33 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Nov  9 06:37:19 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba2333e2

app-emulation/wine-proton: bump wine-mono to 8.1.0 in live

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

 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 16f19e3a308d..0a9164591bd5 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build prefix
 inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 
 WINE_GECKO=2.47.3
-WINE_MONO=8.0.1
+WINE_MONO=8.1.0
 WINE_PV=$(ver_rs 2 -)
 
 if [[ ${PV} == *9999 ]]; then


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-12-01  6:46 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-12-01  6:46 UTC (permalink / raw
  To: gentoo-commits

commit:     73d70e25aa9981391dd6d954214ebf8d72799282
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  1 05:11:20 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Dec  1 06:39:21 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73d70e25

app-emulation/wine-proton: update live

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

 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 0a9164591bd5..6741b1c2726b 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -66,6 +66,7 @@ WINE_COMMON_DEPEND="
 	sys-devel/gcc:*
 	x11-libs/libX11[${MULTILIB_USEDEP}]
 	x11-libs/libXext[${MULTILIB_USEDEP}]
+	x11-libs/libdrm[${MULTILIB_USEDEP}]
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
 	gstreamer? (
 		dev-libs/glib:2[${MULTILIB_USEDEP}]


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-12-01  8:04 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-12-01  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     8bb6352802769d08ded5379d3e613498c3facc39
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  1 07:18:18 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Dec  1 08:03:31 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8bb63528

app-emulation/wine-proton: update live further

Unfortunately no switch to skip amdgpu even for non-amd users,
may consider patching later but not going to worry too much
about it in live.

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

 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index c1f1e47064f1..c41b7ac24d27 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -66,7 +66,7 @@ WINE_COMMON_DEPEND="
 	sys-devel/gcc:*
 	x11-libs/libX11[${MULTILIB_USEDEP}]
 	x11-libs/libXext[${MULTILIB_USEDEP}]
-	x11-libs/libdrm[${MULTILIB_USEDEP}]
+	x11-libs/libdrm[video_cards_amdgpu,${MULTILIB_USEDEP}]
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
 	gstreamer? (
 		dev-libs/glib:2[${MULTILIB_USEDEP}]


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-12-21  6:49 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2023-12-21  6:49 UTC (permalink / raw
  To: gentoo-commits

commit:     e7e8364422fcf15d1c5117447cf1e0d79d0e8f2d
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 21 06:32:40 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Dec 21 06:48:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7e83644

app-emulation/wine-proton: update live

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

 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index c41b7ac24d27..1d7cec5c26a9 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{10..12} )
 inherit autotools flag-o-matic multilib multilib-build prefix
 inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 
-WINE_GECKO=2.47.3
+WINE_GECKO=2.47.4
 WINE_MONO=8.1.0
 WINE_PV=$(ver_rs 2 -)
 


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-04 14:20 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-01-04 14:20 UTC (permalink / raw
  To: gentoo-commits

commit:     99c16b93d8d046d4f97988556cf6ea47326a2ef8
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Jan  4 14:13:48 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Jan  4 14:16:14 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99c16b93

app-emulation/wine-proton: update live

This bit won't be needed "here" until wine-proton-9.0.9999, but
it doesn't hurt to add the wildcard for .md in advance while
thinking about it.

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

 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 1d7cec5c26a9..0ee683445ce9 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -342,7 +342,7 @@ src_install() {
 		eend ${?} || die
 	fi
 
-	dodoc ANNOUNCE AUTHORS README* documentation/README*
+	dodoc ANNOUNCE* AUTHORS README* documentation/README*
 	readme.gentoo_create_doc
 }
 


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-08 12:59 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-01-08 12:59 UTC (permalink / raw
  To: gentoo-commits

commit:     68d5fe74506371e69d08a8cd8885fb2d7dc21f35
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  8 12:47:34 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jan  8 12:57:52 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=68d5fe74

app-emulation/wine-proton: drop 8.0.3c

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

 app-emulation/wine-proton/Manifest                 |   1 -
 .../wine-proton/wine-proton-8.0.3c.ebuild          | 363 ---------------------
 2 files changed, 364 deletions(-)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 61b2101eff7e..92f166f9ef22 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,2 @@
 DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
-DIST proton-wine-8.0-3c.tar.gz 48254135 BLAKE2B fee58928555376f71579099d3fb39dbe2242516b671af1ca2507a135c3119422d6e168ed2a258d29c57a8fc33a026e5cf788d8362f238f1c0c4c7c81c9cbb147 SHA512 5d473534834ce8ea855d4ee2d39f1596117c0abab0925ee50875245ff6e1f49fe4684fe6f162e92a4b5e408795ff8c9b15b382fb013074216dd565143ecd9efc
 DIST proton-wine-8.0-4.tar.gz 48317622 BLAKE2B 53047016897c8919cf3b51d7e51025806d267bb2f04fb3d464b8cf0f133c36b53d9c6c3e591aff4c71a95c6e167eed67b6ad84cc549e1aa1682175233da79835 SHA512 837772856aafb4d47c700997655c0d98f17cafdcc76008e04d064dd071e8d3163ed094bfc57441ef8ec4f2f7ea6303815351dc707ce5515f8c22f9aba8c5f83b

diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
deleted file mode 100644
index 9f55f65590c2..000000000000
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ /dev/null
@@ -1,363 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build prefix
-inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=7.4.1
-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/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
-	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
-	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
-	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
-	usb v4l +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/libgcrypt:=[${MULTILIB_USEDEP}]
-	media-libs/freetype[${MULTILIB_USEDEP}]
-	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
-	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
-	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}]
-	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? (
-		dev-libs/gmp:=[${MULTILIB_USEDEP}]
-		net-libs/gnutls:=[${MULTILIB_USEDEP}]
-	)
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-# gcc: for -latomic with clang
-WINE_COMMON_DEPEND="
-	${WINE_DLOPEN_DEPEND}
-	sys-devel/gcc:*
-	x11-libs/libX11[${MULTILIB_USEDEP}]
-	x11-libs/libXext[${MULTILIB_USEDEP}]
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		dev-libs/glib:2[${MULTILIB_USEDEP}]
-		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-	)
-	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	unwind? (
-		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
-		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
-	)
-	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
-RDEPEND="
-	${WINE_COMMON_DEPEND}
-	app-emulation/wine-desktop-common
-	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
-	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
-	)
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
-DEPEND="
-	${WINE_COMMON_DEPEND}
-	sys-kernel/linux-headers
-	x11-base/xorg-proto"
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-lang/perl
-	sys-devel/binutils
-	sys-devel/bison
-	sys-devel/flex
-	virtual/pkgconfig
-	nls? ( sys-devel/gettext )
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-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}-7.0.4-restore-menubuilder.patch
-	"${FILESDIR}"/${PN}-8.0.1c-unwind.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}) $(usev abi_x86_32 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"
-				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)
-	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
-		# -mabi=ms was ignored by <clang:16 then turned error in :17
-		# and it still gets used in install phase despite --with-mingw,
-		# drop as a quick fix for now which hopefully should be safe
-		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
-
-		# needed by Valve's fsync patches if using clang (undef atomic_load_8)
-		sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
-	fi
-
-	# ensure .desktop calls this variant + slot
-	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
-	# similarly to staging, append to `wine --version` for identification
-	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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
-	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-}
-
-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
-
-		# upstream (Valve) doesn't really support misc configurations (e.g.
-		# adds vulkan code not always guarded by --with-vulkan), so force
-		# some major options that are typically needed by games either way
-		--with-freetype
-		--with-mingw # needed by many, notably Blizzard titles
-		--with-opengl
-		--with-vulkan
-		--with-x
-
-		# ...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-sane
-		ac_cv_lib_soname_odbc=
-
-		$(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 osmesa)
-		--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 udisks dbus) # dbus is only used for udisks
-		$(use_with unwind)
-		$(use_with usb)
-		$(use_with v4l v4l2)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-	)
-
-	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
-	filter-lto # build failure
-	use custom-cflags || strip-flags # can break in obscure ways at runtime
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
-	# https://github.com/gentoo/gentoo/pull/28355
-	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
-		append-ldflags -fuse-ld=bfd
-
-	# build using upstream's way (--with-wine64)
-	# order matters: 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
-
-		pe_arch=i386
-		if (( bits == 64 )); then
-			pe_arch=x86_64
-			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
-			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
-		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
-		# CROSSCC is no longer recognized by Wine, but still use for now
-		# (future handling for CROSS* variables is subject to changes)
-		conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
-
-		# use *FLAGS for mingw, but strip unsupported
-		: "${CROSSCFLAGS:=$(
-			# >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
-			# it should (can be removed when proton is rebased on >=8.10)
-			append-cflags -fno-strict-aliasing
-
-			filter-flags '-fstack-protector*' #870136
-			filter-flags '-mfunction-return=thunk*' #878849
-
-			# -mavx with mingw-gcc has a history of obscure issues and
-			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
-			# crashes with -march=skylake >=wine-8.10, similar issues with
-			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-			append-cflags -mno-avx #912268
-
-			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
-		: "${CROSSLDFLAGS:=$(
-			filter-flags '-fuse-ld=*'
-			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
-		export CROSS{C,LD}FLAGS
-
-		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
-
-	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
-	if use abi_x86_64 && use !abi_x86_32; then
-		dosym wine64 ${WINE_PREFIX}/bin/wine
-		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
-		local man
-		for man in ../build64/loader/wine.*man; do
-			: "${man##*/wine}"
-			: "${_%.*}"
-			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
-			newins ${man} wine.1
-		done
-	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
-
-	# 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
-
-	dodoc ANNOUNCE AUTHORS README* documentation/README*
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
-	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
-	if use abi_x86_32 && 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."
-	fi
-
-	eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
-	eselect wine update --if-unset || die
-}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-08 12:59 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-01-08 12:59 UTC (permalink / raw
  To: gentoo-commits

commit:     4bdedca68d7f7c13d886d29b11898536b01559d1
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  8 12:45:39 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jan  8 12:57:52 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4bdedca6

Revert "app-emulation/wine-proton: sys-devel/flex -> app-alternatives/lex"

This reverts commit 70004fc841b5b6e11ebd6393e0487e3c3171213a.

This may not set LEX, but that's because wine does not respect
this variable in the first place and looks for flex directly.

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

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 4 ++--
 app-emulation/wine-proton/wine-proton-8.0.3c.ebuild   | 4 ++--
 app-emulation/wine-proton/wine-proton-8.0.4.ebuild    | 4 ++--
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 8ac2d2cc34a7..b0d8137fd450 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -100,7 +100,7 @@ BDEPEND="
 	dev-lang/perl
 	sys-devel/binutils
 	sys-devel/bison
-	app-alternatives/lex
+	sys-devel/flex
 	virtual/pkgconfig
 	nls? ( sys-devel/gettext )
 	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"

diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index bd975980027b..9f55f65590c2 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -100,7 +100,7 @@ BDEPEND="
 	dev-lang/perl
 	sys-devel/binutils
 	sys-devel/bison
-	app-alternatives/lex
+	sys-devel/flex
 	virtual/pkgconfig
 	nls? ( sys-devel/gettext )
 	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"

diff --git a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
index 2fd793a8c37e..cc16907c46de 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -100,7 +100,7 @@ BDEPEND="
 	dev-lang/perl
 	sys-devel/binutils
 	sys-devel/bison
-	app-alternatives/lex
+	sys-devel/flex
 	virtual/pkgconfig
 	nls? ( sys-devel/gettext )
 	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 2e32a05cd485..0ee683445ce9 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -101,7 +101,7 @@ BDEPEND="
 	dev-lang/perl
 	sys-devel/binutils
 	sys-devel/bison
-	app-alternatives/lex
+	sys-devel/flex
 	virtual/pkgconfig
 	nls? ( sys-devel/gettext )
 	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-08 21:48 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-01-08 21:48 UTC (permalink / raw
  To: gentoo-commits

commit:     2bbf5db6fe135a9e0b51b3cd8f62f487fe8efd3b
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  8 21:28:25 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jan  8 21:35:04 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2bbf5db6

app-emulation/wine-proton: use -latomic for winevulkan with clang

Seems newly needed on top of ntdll and missed that.

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

 app-emulation/wine-proton/wine-proton-8.0.4.ebuild    | 5 +++--
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
index cc16907c46de..be98e0d28d22 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -158,7 +158,8 @@ src_prepare() {
 		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
 
 		# needed by Valve's fsync patches if using clang (undef atomic_load_8)
-		sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
+		sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+			-i dlls/{ntdll,winevulkan}/Makefile.in || die
 	fi
 
 	# ensure .desktop calls this variant + slot

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 0ee683445ce9..a515a28f2122 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -159,7 +159,8 @@ src_prepare() {
 		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
 
 		# needed by Valve's fsync patches if using clang (undef atomic_load_8)
-		sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
+		sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+			-i dlls/{ntdll,winevulkan}/Makefile.in || die
 	fi
 
 	# ensure .desktop calls this variant + slot


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-13 13:11 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-01-13 13:11 UTC (permalink / raw
  To: gentoo-commits

commit:     2c17819192fa039c17d96ab87d86ce275161f25e
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 13 12:26:04 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Jan 13 13:10:22 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c178191

app-emulation/wine-proton: make libdrm[video_cards_amdgpu] optional in live

Had forgotten about it but wine offers generic switches for all dlls,
so can use that rather than modify sources. The dll being entirely
missing hopefully has no negative impact (should gracefully just not
use it even for amdgpu).

Imagine may be new releases soon'ish (or proton 9), and meant to adjust
this before then as it'll be annoying for non-amdgpu users to enable it
on libdrm.

May possibly need masking on x86 (32bit), have not tested if it builds
anyway. Albeit doubt this is usable there regardless. Generally unsure
if the proton variant should even keep x86 keywords though (was kind
of flaky when I tested it for x86 while considering stable and not
entirely sure it works on a real system).

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

 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index ed67e6b6fe21..e6660a9082bf 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -31,7 +31,7 @@ IUSE="
 	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
 	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
 	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
-	usb v4l +xcomposite xinerama
+	usb v4l video_cards_amdgpu +xcomposite xinerama
 "
 
 # tests are non-trivial to run, can hang easily, don't play well with
@@ -68,7 +68,7 @@ WINE_COMMON_DEPEND="
 	sys-devel/gcc:*
 	x11-libs/libX11[${MULTILIB_USEDEP}]
 	x11-libs/libXext[${MULTILIB_USEDEP}]
-	x11-libs/libdrm[video_cards_amdgpu,${MULTILIB_USEDEP}]
+	x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
 	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
 	gstreamer? (
 		dev-libs/glib:2[${MULTILIB_USEDEP}]
@@ -221,6 +221,7 @@ src_configure() {
 
 		$(use_enable gecko mshtml)
 		$(use_enable mono mscoree)
+		$(use_enable video_cards_amdgpu amd_ags_x64)
 		--disable-tests
 		$(use_with alsa)
 		$(use_with fontconfig)


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-13 13:11 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-01-13 13:11 UTC (permalink / raw
  To: gentoo-commits

commit:     a356059a59ad128ce51e44d42632749eb4017151
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 13 12:14:40 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Jan 13 13:10:22 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a356059a

app-emulation/wine-proton: adjust style

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

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild   | 20 +++++++++++++-------
 app-emulation/wine-proton/wine-proton-8.0.4.ebuild   | 18 ++++++++++++------
 .../wine-proton/wine-proton-8.0.9999.ebuild          | 18 ++++++++++++------
 3 files changed, 37 insertions(+), 19 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index b0d8137fd450..7e922c196988 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -31,7 +31,8 @@ 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"
+	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
@@ -59,7 +60,8 @@ WINE_DLOPEN_DEPEND="
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
 WINE_COMMON_DEPEND="
 	${WINE_DLOPEN_DEPEND}
 	x11-libs/libX11[${MULTILIB_USEDEP}]
@@ -78,7 +80,8 @@ WINE_COMMON_DEPEND="
 		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
 	)
 	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
-	vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
+	vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )
+"
 RDEPEND="
 	${WINE_COMMON_DEPEND}
 	app-emulation/wine-desktop-common
@@ -90,11 +93,13 @@ RDEPEND="
 		dev-perl/XML-LibXML
 	)
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
+	udisks? ( sys-fs/udisks:2 )
+"
 DEPEND="
 	${WINE_COMMON_DEPEND}
 	sys-kernel/linux-headers
-	x11-base/xorg-proto"
+	x11-base/xorg-proto
+"
 BDEPEND="
 	${PYTHON_DEPS}
 	dev-lang/perl
@@ -103,7 +108,8 @@ BDEPEND="
 	sys-devel/flex
 	virtual/pkgconfig
 	nls? ( sys-devel/gettext )
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
 IDEPEND=">=app-eselect/eselect-wine-2"
 
 QA_CONFIG_IMPL_DECL_SKIP=(

diff --git a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
index be98e0d28d22..8ab559caf709 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
@@ -31,7 +31,8 @@ IUSE="
 	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
 	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
 	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
-	usb v4l +xcomposite xinerama"
+	usb v4l +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
@@ -59,7 +60,8 @@ WINE_DLOPEN_DEPEND="
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
 # gcc: for -latomic with clang
 WINE_COMMON_DEPEND="
 	${WINE_DLOPEN_DEPEND}
@@ -78,7 +80,8 @@ WINE_COMMON_DEPEND="
 		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
 		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
 	)
-	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
 RDEPEND="
 	${WINE_COMMON_DEPEND}
 	app-emulation/wine-desktop-common
@@ -90,11 +93,13 @@ RDEPEND="
 		dev-perl/XML-LibXML
 	)
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
+	udisks? ( sys-fs/udisks:2 )
+"
 DEPEND="
 	${WINE_COMMON_DEPEND}
 	sys-kernel/linux-headers
-	x11-base/xorg-proto"
+	x11-base/xorg-proto
+"
 BDEPEND="
 	${PYTHON_DEPS}
 	dev-lang/perl
@@ -103,7 +108,8 @@ BDEPEND="
 	sys-devel/flex
 	virtual/pkgconfig
 	nls? ( sys-devel/gettext )
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
 IDEPEND=">=app-eselect/eselect-wine-2"
 
 QA_CONFIG_IMPL_DECL_SKIP=(

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index a515a28f2122..ed67e6b6fe21 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -31,7 +31,8 @@ IUSE="
 	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
 	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
 	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
-	usb v4l +xcomposite xinerama"
+	usb v4l +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
@@ -59,7 +60,8 @@ WINE_DLOPEN_DEPEND="
 	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
 	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
 # gcc: for -latomic with clang
 WINE_COMMON_DEPEND="
 	${WINE_DLOPEN_DEPEND}
@@ -79,7 +81,8 @@ WINE_COMMON_DEPEND="
 		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
 		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
 	)
-	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
 RDEPEND="
 	${WINE_COMMON_DEPEND}
 	app-emulation/wine-desktop-common
@@ -91,11 +94,13 @@ RDEPEND="
 		dev-perl/XML-LibXML
 	)
 	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )"
+	udisks? ( sys-fs/udisks:2 )
+"
 DEPEND="
 	${WINE_COMMON_DEPEND}
 	sys-kernel/linux-headers
-	x11-base/xorg-proto"
+	x11-base/xorg-proto
+"
 BDEPEND="
 	${PYTHON_DEPS}
 	dev-lang/perl
@@ -104,7 +109,8 @@ BDEPEND="
 	sys-devel/flex
 	virtual/pkgconfig
 	nls? ( sys-devel/gettext )
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
 IDEPEND=">=app-eselect/eselect-wine-2"
 
 QA_CONFIG_IMPL_DECL_SKIP=(


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-17 16:20 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-01-17 16:20 UTC (permalink / raw
  To: gentoo-commits

commit:     8dd5687bfa3b6e6a45d19f24e1e119ca03ec1dd2
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 17 15:50:13 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jan 17 16:19:37 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8dd5687b

app-emulation/wine-proton: add ebuild comment tip for user patches

Closes: https://github.com/gentoo/gentoo/pull/34865
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 3 +++
 app-emulation/wine-proton/wine-proton-8.0.4.ebuild    | 3 +++
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 3 +++
 3 files changed, 9 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 7e922c196988..b04f298e473a 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -178,6 +178,9 @@ src_prepare() {
 	eautoreconf
 	tools/make_requests || die # perl
 	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+	# 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-proton
 }
 
 src_configure() {

diff --git a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
index 8ab559caf709..359ad7c9f4e1 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
@@ -181,6 +181,9 @@ src_prepare() {
 	eautoreconf
 	tools/make_requests || die # perl
 	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+	# 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-proton
 }
 
 src_configure() {

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index e6660a9082bf..a2711662b536 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -182,6 +182,9 @@ src_prepare() {
 	eautoreconf
 	tools/make_requests || die # perl
 	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+	# 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-proton
 }
 
 src_configure() {


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-22 23:34 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-01-22 23:34 UTC (permalink / raw
  To: gentoo-commits

commit:     bc28a96889976cf3fab1228b04caa9e54cdce402
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 22 22:58:43 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 23:31:42 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc28a968

app-emulation/wine-proton: add 8.0.5c

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

 app-emulation/wine-proton/Manifest                 |   1 +
 .../wine-proton/wine-proton-8.0.5c.ebuild          | 377 +++++++++++++++++++++
 2 files changed, 378 insertions(+)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 92f166f9ef22..a6b7dd2607b1 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,2 +1,3 @@
 DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
 DIST proton-wine-8.0-4.tar.gz 48317622 BLAKE2B 53047016897c8919cf3b51d7e51025806d267bb2f04fb3d464b8cf0f133c36b53d9c6c3e591aff4c71a95c6e167eed67b6ad84cc549e1aa1682175233da79835 SHA512 837772856aafb4d47c700997655c0d98f17cafdcc76008e04d064dd071e8d3163ed094bfc57441ef8ec4f2f7ea6303815351dc707ce5515f8c22f9aba8c5f83b
+DIST proton-wine-8.0-5c.tar.gz 48710071 BLAKE2B 99627baea6fb3d51231aa1e75a2734c3c1baba88326baf15b3d421d57a00472d25ba51c2140b51152c8aeae7dd240d3d77bb0d8835aa7eb3b745a51be120f8bb SHA512 0cf98d4e67866e55cc8cd5ea8da0d76aee8e37b130b3cbca604083c913e98ddf9038ecd6f9761d2e11443e282b372977400e251456c6d40e1365210c7578234d

diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
new file mode 100644
index 000000000000..28ec733f1806
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -0,0 +1,377 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=8.1.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/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+	usb v4l video_cards_amdgpu +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/libgcrypt:=[${MULTILIB_USEDEP}]
+	media-libs/freetype[${MULTILIB_USEDEP}]
+	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	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}]
+	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+	ssl? (
+		dev-libs/gmp:=[${MULTILIB_USEDEP}]
+		net-libs/gnutls:=[${MULTILIB_USEDEP}]
+	)
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
+# gcc: for -latomic with clang
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	sys-devel/gcc:*
+	x11-libs/libX11[${MULTILIB_USEDEP}]
+	x11-libs/libXext[${MULTILIB_USEDEP}]
+	x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
+	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+	)
+	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+	unwind? (
+		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+	)
+	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+	${WINE_COMMON_DEPEND}
+	app-emulation/wine-desktop-common
+	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+	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
+	)
+	selinux? ( sec-policy/selinux-wine )
+	udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	sys-kernel/linux-headers
+	x11-base/xorg-proto
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-lang/perl
+	sys-devel/binutils
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+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
+)
+
+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}) $(usev abi_x86_32 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"
+				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)
+	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
+		# -mabi=ms was ignored by <clang:16 then turned error in :17
+		# and it still gets used in install phase despite --with-mingw,
+		# drop as a quick fix for now which hopefully should be safe
+		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+		# needed by Valve's fsync patches if using clang (undef atomic_load_8)
+		sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+			-i dlls/{ntdll,winevulkan}/Makefile.in || die
+	fi
+
+	# ensure .desktop calls this variant + slot
+	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+	# similarly to staging, append to `wine --version` for identification
+	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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
+	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+	# 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-proton
+}
+
+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
+
+		# upstream (Valve) doesn't really support misc configurations (e.g.
+		# adds vulkan code not always guarded by --with-vulkan), so force
+		# some major options that are typically needed by games either way
+		# TODO?: --without-mingw could make sense *if* using clang, assuming
+		# bug #912237 is resolved (consider when do USE=wow64 in proton-9)
+		--with-freetype
+		--with-mingw # needed by many, notably Blizzard titles
+		--with-opengl
+		--with-vulkan
+		--with-x
+
+		# ...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-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 alsa)
+		$(use_with fontconfig)
+		$(use_with gstreamer)
+		$(use_with nls gettext)
+		$(use_with osmesa)
+		--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 udisks dbus) # dbus is only used for udisks
+		$(use_with unwind)
+		$(use_with usb)
+		$(use_with v4l v4l2)
+		$(use_with xcomposite)
+		$(use_with xinerama)
+	)
+
+	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+	filter-lto # build failure
+	use custom-cflags || strip-flags # can break in obscure ways at runtime
+	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+	# https://github.com/gentoo/gentoo/pull/28355
+	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+		append-ldflags -fuse-ld=bfd
+
+	# build using upstream's way (--with-wine64)
+	# order matters: 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
+
+		pe_arch=i386
+		if (( bits == 64 )); then
+			pe_arch=x86_64
+			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+			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
+		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+		# CROSSCC is no longer recognized by Wine, but still use for now
+		# (future handling for CROSS* variables is subject to changes)
+		conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+		# use *FLAGS for mingw, but strip unsupported
+		: "${CROSSCFLAGS:=$(
+			# >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
+			# it should (can be removed when proton is rebased on >=8.10)
+			append-cflags -fno-strict-aliasing
+
+			filter-flags '-fstack-protector*' #870136
+			filter-flags '-mfunction-return=thunk*' #878849
+
+			# -mavx with mingw-gcc has a history of obscure issues and
+			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+			# crashes with -march=skylake >=wine-8.10, similar issues with
+			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+			append-cflags -mno-avx #912268
+
+			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+		: "${CROSSLDFLAGS:=$(
+			filter-flags '-fuse-ld=*'
+			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+		export CROSS{C,LD}FLAGS
+
+		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
+
+	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
+	if use abi_x86_64 && use !abi_x86_32; then
+		dosym wine64 ${WINE_PREFIX}/bin/wine
+		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+		local man
+		for man in ../build64/loader/wine.*man; do
+			: "${man##*/wine}"
+			: "${_%.*}"
+			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+			newins ${man} wine.1
+		done
+	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
+
+	# 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
+
+	dodoc ANNOUNCE* AUTHORS README* documentation/README*
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+	if use abi_x86_32 && 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."
+	fi
+
+	eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+	eselect wine update --if-unset || die
+}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-03-05  6:03 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-03-05  6:03 UTC (permalink / raw
  To: gentoo-commits

commit:     541ef52c7dab695bc09b11f88113760f1da2cfa3
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Mar  5 05:54:56 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Mar  5 05:55:43 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=541ef52c

app-emulation/wine-proton: improve USE=wow64 description further

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

 app-emulation/wine-proton/metadata.xml | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/app-emulation/wine-proton/metadata.xml b/app-emulation/wine-proton/metadata.xml
index 16afd8a54c41..2e414ed41543 100644
--- a/app-emulation/wine-proton/metadata.xml
+++ b/app-emulation/wine-proton/metadata.xml
@@ -23,9 +23,10 @@
 		<flag name="wow64">
 			Enable running 32bit applications without 32bit ELF
 			multilib by mapping to 64bit calls (experimental,
-			may have worse OpenGL performance or other issues
-			compared to USE=abi_x86_32) -- still requires (just)
-			<pkg>dev-util/mingw64-toolchain</pkg> with abi_x86_32
+			may have slightly worse OpenGL performance or other
+			issues compared to USE=abi_x86_32, also lacks 16bit
+			support) -- still need <pkg>dev-util/mingw64-toolchain</pkg>
+			with abi_x86_32 which itself does not need multilib
 		</flag>
 	</use>
 	<upstream>


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-03-12  4:29 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-03-12  4:29 UTC (permalink / raw
  To: gentoo-commits

commit:     a8395ab333f5b5f1c384ccc48c93ea9a9682e2fb
Author:     Matoro Mahri <matoro_gentoo <AT> matoro <DOT> tk>
AuthorDate: Tue Mar 12 04:02:29 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Mar 12 04:11:27 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a8395ab3

app-emulation/wine-proton: Stabilize 8.0.5c amd64, #924198

Signed-off-by: Matoro Mahri <matoro_gentoo <AT> matoro.tk>
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index 28ec733f1806..64e517a897ea 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]]; then
 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"
+	KEYWORDS="-* amd64 ~x86"
 fi
 
 DESCRIPTION="Valve Software's fork of Wine"


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-03-20  7:17 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-03-20  7:17 UTC (permalink / raw
  To: gentoo-commits

commit:     278e265ca7998fe2dd1f329753f65b171edd6e2b
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 20 05:09:04 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Mar 20 07:01:01 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=278e265c

app-emulation/wine-proton: drop 8.0.4

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

 app-emulation/wine-proton/Manifest                 |   1 -
 app-emulation/wine-proton/wine-proton-8.0.4.ebuild | 375 ---------------------
 2 files changed, 376 deletions(-)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index a6b7dd2607b1..34b2254d80d2 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,2 @@
 DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
-DIST proton-wine-8.0-4.tar.gz 48317622 BLAKE2B 53047016897c8919cf3b51d7e51025806d267bb2f04fb3d464b8cf0f133c36b53d9c6c3e591aff4c71a95c6e167eed67b6ad84cc549e1aa1682175233da79835 SHA512 837772856aafb4d47c700997655c0d98f17cafdcc76008e04d064dd071e8d3163ed094bfc57441ef8ec4f2f7ea6303815351dc707ce5515f8c22f9aba8c5f83b
 DIST proton-wine-8.0-5c.tar.gz 48710071 BLAKE2B 99627baea6fb3d51231aa1e75a2734c3c1baba88326baf15b3d421d57a00472d25ba51c2140b51152c8aeae7dd240d3d77bb0d8835aa7eb3b745a51be120f8bb SHA512 0cf98d4e67866e55cc8cd5ea8da0d76aee8e37b130b3cbca604083c913e98ddf9038ecd6f9761d2e11443e282b372977400e251456c6d40e1365210c7578234d

diff --git a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
deleted file mode 100644
index 359ad7c9f4e1..000000000000
--- a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
+++ /dev/null
@@ -1,375 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build prefix
-inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=8.0.1
-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/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
-	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
-	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
-	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
-	usb v4l +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/libgcrypt:=[${MULTILIB_USEDEP}]
-	media-libs/freetype[${MULTILIB_USEDEP}]
-	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
-	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
-	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}]
-	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? (
-		dev-libs/gmp:=[${MULTILIB_USEDEP}]
-		net-libs/gnutls:=[${MULTILIB_USEDEP}]
-	)
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
-"
-# gcc: for -latomic with clang
-WINE_COMMON_DEPEND="
-	${WINE_DLOPEN_DEPEND}
-	sys-devel/gcc:*
-	x11-libs/libX11[${MULTILIB_USEDEP}]
-	x11-libs/libXext[${MULTILIB_USEDEP}]
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		dev-libs/glib:2[${MULTILIB_USEDEP}]
-		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-	)
-	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	unwind? (
-		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
-		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
-	)
-	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
-"
-RDEPEND="
-	${WINE_COMMON_DEPEND}
-	app-emulation/wine-desktop-common
-	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
-	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
-	)
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-"
-DEPEND="
-	${WINE_COMMON_DEPEND}
-	sys-kernel/linux-headers
-	x11-base/xorg-proto
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-lang/perl
-	sys-devel/binutils
-	sys-devel/bison
-	sys-devel/flex
-	virtual/pkgconfig
-	nls? ( sys-devel/gettext )
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
-"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-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
-)
-
-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}) $(usev abi_x86_32 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"
-				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)
-	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
-		# -mabi=ms was ignored by <clang:16 then turned error in :17
-		# and it still gets used in install phase despite --with-mingw,
-		# drop as a quick fix for now which hopefully should be safe
-		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
-
-		# needed by Valve's fsync patches if using clang (undef atomic_load_8)
-		sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
-			-i dlls/{ntdll,winevulkan}/Makefile.in || die
-	fi
-
-	# ensure .desktop calls this variant + slot
-	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
-	# similarly to staging, append to `wine --version` for identification
-	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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
-	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-	# 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-proton
-}
-
-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
-
-		# upstream (Valve) doesn't really support misc configurations (e.g.
-		# adds vulkan code not always guarded by --with-vulkan), so force
-		# some major options that are typically needed by games either way
-		# TODO?: --without-mingw could make sense *if* using clang, assuming
-		# bug #912237 is resolved (consider when do USE=wow64 in proton-9)
-		--with-freetype
-		--with-mingw # needed by many, notably Blizzard titles
-		--with-opengl
-		--with-vulkan
-		--with-x
-
-		# ...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-sane
-		ac_cv_lib_soname_odbc=
-
-		$(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 osmesa)
-		--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 udisks dbus) # dbus is only used for udisks
-		$(use_with unwind)
-		$(use_with usb)
-		$(use_with v4l v4l2)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-	)
-
-	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
-	filter-lto # build failure
-	use custom-cflags || strip-flags # can break in obscure ways at runtime
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
-	# https://github.com/gentoo/gentoo/pull/28355
-	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
-		append-ldflags -fuse-ld=bfd
-
-	# build using upstream's way (--with-wine64)
-	# order matters: 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
-
-		pe_arch=i386
-		if (( bits == 64 )); then
-			pe_arch=x86_64
-			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
-			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
-		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
-		# CROSSCC is no longer recognized by Wine, but still use for now
-		# (future handling for CROSS* variables is subject to changes)
-		conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
-
-		# use *FLAGS for mingw, but strip unsupported
-		: "${CROSSCFLAGS:=$(
-			# >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
-			# it should (can be removed when proton is rebased on >=8.10)
-			append-cflags -fno-strict-aliasing
-
-			filter-flags '-fstack-protector*' #870136
-			filter-flags '-mfunction-return=thunk*' #878849
-
-			# -mavx with mingw-gcc has a history of obscure issues and
-			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
-			# crashes with -march=skylake >=wine-8.10, similar issues with
-			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-			append-cflags -mno-avx #912268
-
-			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
-		: "${CROSSLDFLAGS:=$(
-			filter-flags '-fuse-ld=*'
-			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
-		export CROSS{C,LD}FLAGS
-
-		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
-
-	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
-	if use abi_x86_64 && use !abi_x86_32; then
-		dosym wine64 ${WINE_PREFIX}/bin/wine
-		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
-		local man
-		for man in ../build64/loader/wine.*man; do
-			: "${man##*/wine}"
-			: "${_%.*}"
-			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
-			newins ${man} wine.1
-		done
-	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
-
-	# 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
-
-	dodoc ANNOUNCE AUTHORS README* documentation/README*
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
-	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
-	if use abi_x86_32 && 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."
-	fi
-
-	eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
-	eselect wine update --if-unset || die
-}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-03-22 12:31 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-03-22 12:31 UTC (permalink / raw
  To: gentoo-commits

commit:     5c81bf1b9b70d0099537771d25cd5f1ac2d5f113
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 22 12:26:58 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Mar 22 12:30:43 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c81bf1b

app-emulation/wine-proton: reword USE=wow64 again

There is alternate realities where OpenGL works great for some, and is
1fps unusable for others (likely depending on what is being run and/or
drivers). So saying "slightly" may be misleading.

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

 app-emulation/wine-proton/metadata.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/metadata.xml b/app-emulation/wine-proton/metadata.xml
index 2e414ed41543..cc21bdb8ce89 100644
--- a/app-emulation/wine-proton/metadata.xml
+++ b/app-emulation/wine-proton/metadata.xml
@@ -23,7 +23,7 @@
 		<flag name="wow64">
 			Enable running 32bit applications without 32bit ELF
 			multilib by mapping to 64bit calls (experimental,
-			may have slightly worse OpenGL performance or other
+			*may* have worse/unusable OpenGL performance or other
 			issues compared to USE=abi_x86_32, also lacks 16bit
 			support) -- still need <pkg>dev-util/mingw64-toolchain</pkg>
 			with abi_x86_32 which itself does not need multilib


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-03-24 18:39 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-03-24 18:39 UTC (permalink / raw
  To: gentoo-commits

commit:     5f02566649d4a1e6dc602102add6cc2fccc52c4d
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 24 18:31:03 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Mar 24 18:37:35 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f025666

app-emulation/wine-proton: filter -Wl,-z,* ... for CFLAGS

test-flags-CC was not meant to test LDFLAGS and -Wl,* are no-ops
at compile-time and thus don't get stripped even if they don't work
(same happens when using strip-unsupported-flags) and then if a
package compiles and links anything at same time it fails.

This used not to be a big problem but now that 23.0 profiles
do -Wl,-z,pack-relative-relocs (mingw ld has no -z) this is
hitting bashrc-mv users that tend to do CFLAGS="${LDFLAGS}"
by default. Tempting to ignore it because of how wrong it is,
but well.

An alternate route could be to eventually have strip-flags
and/or strip-unsupported-flags remove -Wl,* from non-LDFLAGS
given this could affect more than mingw (e.g. switching to
bfd when there is a lld-only option).

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

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 5 +++++
 app-emulation/wine-proton/wine-proton-8.0.5c.ebuild   | 5 +++++
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 5 +++++
 app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 6 ++++++
 4 files changed, 21 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index b04f298e473a..50cc8ae8ca6c 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -279,6 +279,11 @@ src_configure() {
 			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 obscure issues and
 			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
 			# crashes with -march=skylake >=wine-8.10, similar issues with

diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index 64e517a897ea..bb1944292c4d 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -292,6 +292,11 @@ src_configure() {
 			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 obscure issues and
 			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
 			# crashes with -march=skylake >=wine-8.10, similar issues with

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index a2711662b536..78b03242a34b 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -294,6 +294,11 @@ src_configure() {
 			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 obscure issues and
 			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
 			# crashes with -march=skylake >=wine-8.10, similar issues with

diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 42b55c99ed92..fda342d879f2 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -296,6 +296,12 @@ src_configure() {
 		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,*'
+
 			CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
 		)}"
 


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-04-22 20:31 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-04-22 20:31 UTC (permalink / raw
  To: gentoo-commits

commit:     22bcdb814979170228cfd85a49cd421a934c0903
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 22 19:44:31 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Apr 22 20:31:13 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22bcdb81

app-emulation/wine-proton: "fix" build with gcc-14 for old branches

No release yet but current 9.0.9999 builds fine as-is, and
would rather not worry about backporting for old branches.

Closes: https://bugs.gentoo.org/924486
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild  | 4 ++++
 app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 50cc8ae8ca6c..25ee6175708f 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -250,6 +250,10 @@ src_configure() {
 	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
 		append-ldflags -fuse-ld=bfd
 
+	# >=wine-proton-9 has proper fixes and builds with gcc-14, but would
+	# rather not have to worry about fixing old branches (bug #924486)
+	append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
 	# build using upstream's way (--with-wine64)
 	# order matters: configure+compile 64->32, install 32->64
 	local -i bits

diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index bb1944292c4d..9d8a60b340e9 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -254,6 +254,10 @@ src_configure() {
 	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
 		append-ldflags -fuse-ld=bfd
 
+	# >=wine-proton-9 has proper fixes and builds with gcc-14, but would
+	# rather not have to worry about fixing old branches (bug #924486)
+	append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
 	# build using upstream's way (--with-wine64)
 	# order matters: configure+compile 64->32, install 32->64
 	local -i bits


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-04-22 20:31 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-04-22 20:31 UTC (permalink / raw
  To: gentoo-commits

commit:     4e91942e6f35771c9d48a436520353ec0301d185
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 22 18:40:34 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Apr 22 20:31:13 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e91942e

app-emulation/wine-proton: drop 8.0.9999

Seem like a dead branch, use 9.0.9999 instead.

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

 .../wine-proton/wine-proton-8.0.9999.ebuild        | 384 ---------------------
 1 file changed, 384 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
deleted file mode 100644
index 78b03242a34b..000000000000
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ /dev/null
@@ -1,384 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build prefix
-inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.4
-WINE_MONO=8.1.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/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
-	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
-	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
-	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
-	usb v4l video_cards_amdgpu +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/libgcrypt:=[${MULTILIB_USEDEP}]
-	media-libs/freetype[${MULTILIB_USEDEP}]
-	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
-	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
-	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}]
-	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? (
-		dev-libs/gmp:=[${MULTILIB_USEDEP}]
-		net-libs/gnutls:=[${MULTILIB_USEDEP}]
-	)
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
-"
-# gcc: for -latomic with clang
-WINE_COMMON_DEPEND="
-	${WINE_DLOPEN_DEPEND}
-	sys-devel/gcc:*
-	x11-libs/libX11[${MULTILIB_USEDEP}]
-	x11-libs/libXext[${MULTILIB_USEDEP}]
-	x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		dev-libs/glib:2[${MULTILIB_USEDEP}]
-		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-	)
-	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	unwind? (
-		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
-		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
-	)
-	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
-"
-RDEPEND="
-	${WINE_COMMON_DEPEND}
-	app-emulation/wine-desktop-common
-	gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
-	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
-	)
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-"
-DEPEND="
-	${WINE_COMMON_DEPEND}
-	sys-kernel/linux-headers
-	x11-base/xorg-proto
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-lang/perl
-	sys-devel/binutils
-	sys-devel/bison
-	sys-devel/flex
-	virtual/pkgconfig
-	nls? ( sys-devel/gettext )
-	!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
-"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-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
-)
-
-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}) $(usev abi_x86_32 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"
-				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)
-	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
-		# -mabi=ms was ignored by <clang:16 then turned error in :17
-		# and it still gets used in install phase despite --with-mingw,
-		# drop as a quick fix for now which hopefully should be safe
-		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
-
-		# needed by Valve's fsync patches if using clang (undef atomic_load_8)
-		sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
-			-i dlls/{ntdll,winevulkan}/Makefile.in || die
-	fi
-
-	# ensure .desktop calls this variant + slot
-	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
-	# similarly to staging, append to `wine --version` for identification
-	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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
-	dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-	# 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-proton
-}
-
-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
-
-		# upstream (Valve) doesn't really support misc configurations (e.g.
-		# adds vulkan code not always guarded by --with-vulkan), so force
-		# some major options that are typically needed by games either way
-		# TODO?: --without-mingw could make sense *if* using clang, assuming
-		# bug #912237 is resolved (consider when do USE=wow64 in proton-9)
-		--with-freetype
-		--with-mingw # needed by many, notably Blizzard titles
-		--with-opengl
-		--with-vulkan
-		--with-x
-
-		# ...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-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 alsa)
-		$(use_with fontconfig)
-		$(use_with gstreamer)
-		$(use_with nls gettext)
-		$(use_with osmesa)
-		--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 udisks dbus) # dbus is only used for udisks
-		$(use_with unwind)
-		$(use_with usb)
-		$(use_with v4l v4l2)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-
-		--without-vosk # unpackaged, file a bug if you need this
-	)
-
-	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
-	filter-lto # build failure
-	use custom-cflags || strip-flags # can break in obscure ways at runtime
-	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
-	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
-	# https://github.com/gentoo/gentoo/pull/28355
-	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
-		append-ldflags -fuse-ld=bfd
-
-	# build using upstream's way (--with-wine64)
-	# order matters: 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
-
-		pe_arch=i386
-		if (( bits == 64 )); then
-			pe_arch=x86_64
-			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
-			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
-		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
-		# CROSSCC is no longer recognized by Wine, but still use for now
-		# (future handling for CROSS* variables is subject to changes)
-		conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
-
-		# use *FLAGS for mingw, but strip unsupported
-		: "${CROSSCFLAGS:=$(
-			# >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
-			# it should (can be removed when proton is rebased on >=8.10)
-			append-cflags -fno-strict-aliasing
-
-			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 obscure issues and
-			# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
-			# crashes with -march=skylake >=wine-8.10, similar issues with
-			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
-			append-cflags -mno-avx #912268
-
-			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
-		: "${CROSSLDFLAGS:=$(
-			filter-flags '-fuse-ld=*'
-			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
-		export CROSS{C,LD}FLAGS
-
-		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
-
-	# symlink for plain 'wine' and install its man pages if 64bit-only #404331
-	if use abi_x86_64 && use !abi_x86_32; then
-		dosym wine64 ${WINE_PREFIX}/bin/wine
-		dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
-		local man
-		for man in ../build64/loader/wine.*man; do
-			: "${man##*/wine}"
-			: "${_%.*}"
-			insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
-			newins ${man} wine.1
-		done
-	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
-
-	# 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
-
-	dodoc ANNOUNCE* AUTHORS README* documentation/README*
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
-	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
-	if use abi_x86_32 && 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."
-	fi
-
-	eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
-	eselect wine update --if-unset || die
-}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-03  0:18 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-05-03  0:18 UTC (permalink / raw
  To: gentoo-commits

commit:     a53143e095bca88a7c78a5c30435e13e7d5a7b30
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri May  3 00:17:58 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri May  3 00:18:03 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a53143e0

app-emulation/wine-proton: add 9.0.1

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

 app-emulation/wine-proton/Manifest                 |   1 +
 app-emulation/wine-proton/wine-proton-9.0.1.ebuild | 420 +++++++++++++++++++++
 2 files changed, 421 insertions(+)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 34b2254d80d2..4e84f540f297 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,2 +1,3 @@
 DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
 DIST proton-wine-8.0-5c.tar.gz 48710071 BLAKE2B 99627baea6fb3d51231aa1e75a2734c3c1baba88326baf15b3d421d57a00472d25ba51c2140b51152c8aeae7dd240d3d77bb0d8835aa7eb3b745a51be120f8bb SHA512 0cf98d4e67866e55cc8cd5ea8da0d76aee8e37b130b3cbca604083c913e98ddf9038ecd6f9761d2e11443e282b372977400e251456c6d40e1365210c7578234d
+DIST proton-wine-9.0-1.tar.gz 49048661 BLAKE2B cf237c314e8b222bb36f52f316baae2351a30d22995d610c7977accc9588c474d0e598702000aa81b34fc2f3daeccd09f54ef53b7a2250c0b012ca47d69628eb SHA512 d7d3e4725a86ca120d059e5b8f9760bce45a5db0ae814cd76aa51dc361bb67af9c2834917ddad3858fc324a1d048acdd9942492c77d0f396aae7d537c70e3ca1

diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
new file mode 100644
index 000000000000..5971fb4a6f56
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -0,0 +1,420 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=8.1.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/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+	usb v4l video_cards_amdgpu wow64 +xcomposite xinerama
+"
+REQUIRED_USE="wow64? ( abi_x86_64 !abi_x86_32 )"
+
+# 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:=[${MULTILIB_USEDEP}]
+	media-libs/freetype[${MULTILIB_USEDEP}]
+	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	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}]
+	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+	ssl? (
+		dev-libs/gmp:=[${MULTILIB_USEDEP}]
+		net-libs/gnutls:=[${MULTILIB_USEDEP}]
+	)
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
+# gcc: for -latomic with clang
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	sys-devel/gcc:*
+	x11-libs/libX11[${MULTILIB_USEDEP}]
+	x11-libs/libXext[${MULTILIB_USEDEP}]
+	x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
+	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+	)
+	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+	unwind? (
+		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+	)
+	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+	${WINE_COMMON_DEPEND}
+	app-emulation/wine-desktop-common
+	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
+	)
+	selinux? ( sec-policy/selinux-wine )
+	udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	sys-kernel/linux-headers
+	x11-base/xorg-proto
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	|| (
+		sys-devel/binutils
+		sys-devel/lld
+	)
+	dev-lang/perl
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	!crossdev-mingw? (
+		>=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+		wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+	)
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+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
+)
+
+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"
+				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)
+	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
+		# -mabi=ms was ignored by <clang:16 then turned error in :17
+		# and it still gets used in install phase despite --with-mingw,
+		# drop as a quick fix for now which hopefully should be safe
+		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+		# needed by Valve's fsync patches if using clang (undef atomic_load_8)
+		sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+			-i dlls/{ntdll,winevulkan}/Makefile.in || die
+	fi
+
+	# ensure .desktop calls this variant + slot
+	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+	# similarly to staging, append to `wine --version` for identification
+	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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
+	# proton variant also needs specfiles and vulkan
+	tools/make_specfiles || die # perl
+	dlls/winevulkan/make_vulkan -x vk.xml || die # python
+	# 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-proton
+}
+
+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)
+
+		# upstream (Valve) doesn't really support misc configurations (e.g.
+		# adds vulkan code not always guarded by --with-vulkan), so force
+		# some major options that are typically needed by games either way
+		# TODO?: --without-mingw could make sense *if* using clang, assuming
+		# bug #912237 is resolved (consider when do USE=wow64 in proton-9)
+		--with-freetype
+		--with-mingw # needed by many, notably Blizzard titles
+		--with-opengl
+		--with-vulkan
+		--with-x
+
+		# ...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=
+
+		# afaik wayland support in 9.0.x currently cannot do opengl/vulkan
+		# yet making it mostly pointless for a gaming-oriented build
+		# (IUSE="X wayland" may be added in wine-proton-10 or 11)
+		--without-wayland
+
+		$(use_enable gecko mshtml)
+		$(use_enable mono mscoree)
+		$(use_enable video_cards_amdgpu amd_ags_x64)
+		--disable-tests
+		$(use_with alsa)
+		$(use_with fontconfig)
+		$(use_with gstreamer)
+		$(use_with nls gettext)
+		$(use_with osmesa)
+		--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 udisks dbus) # dbus is only used for udisks
+		$(use_with unwind)
+		$(use_with usb)
+		$(use_with v4l v4l2)
+		$(use_with xcomposite)
+		$(use_with xinerama)
+
+		--without-vosk # unpackaged, file a bug if you need this
+	)
+
+	filter-lto # build failure
+	use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+	# 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
+
+	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,*'
+
+			CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+		)}"
+
+		CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+			filter-flags '-fuse-ld=*'
+
+			CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+		)}"
+	)
+
+	# 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
+
+	# Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+	# -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+	# one or the other could be missing and that is unexpected for users
+	# and some tools like winetricks)
+	if use abi_x86_64; then
+		if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+			dosym wine64 ${WINE_PREFIX}/bin/wine
+			dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+			# also install wine(1) man pages (incl. translations)
+			local man
+			for man in ../build64/loader/wine.*man; do
+				: "${man##*/wine}"
+				: "${_%.*}"
+				insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+				newins ${man} wine.1
+			done
+		elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+			dosym wine ${WINE_PREFIX}/bin/wine64
+			dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+		fi
+	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
+
+	# 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
+
+	dodoc ANNOUNCE* AUTHORS README* documentation/README*
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+	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 && 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."
+	fi
+
+	eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+	eselect wine update --if-unset || die
+}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-07  7:19 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-05-07  7:19 UTC (permalink / raw
  To: gentoo-commits

commit:     14fedbed424316e0287e11054aac509376ac226b
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May  7 07:04:30 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May  7 07:18:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14fedbed

app-emulation/wine-proton: filter -Wl,--gc-sections

Is an issue with both lld and bfd that I can see, likely due to
the linker tricks wine uses. Let's just filter it as it's fragile.

Skipping revbump given the option is rarely used and shouldn't
affect many.

Bug: https://bugs.gentoo.org/931329
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 1 +
 app-emulation/wine-proton/wine-proton-8.0.5c.ebuild   | 1 +
 app-emulation/wine-proton/wine-proton-9.0.1.ebuild    | 1 +
 app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 1 +
 4 files changed, 4 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 25ee6175708f..4820984ae397 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -242,6 +242,7 @@ src_configure() {
 
 	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
 	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
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 

diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index 9d8a60b340e9..a68574673402 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -246,6 +246,7 @@ src_configure() {
 
 	tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
 	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
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 

diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
index 5971fb4a6f56..34ad2375a843 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -269,6 +269,7 @@ src_configure() {
 	)
 
 	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
 
 	# wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)

diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index fda342d879f2..4cabfe3111be 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -269,6 +269,7 @@ src_configure() {
 	)
 
 	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
 
 	# wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-07 14:28 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-05-07 14:28 UTC (permalink / raw
  To: gentoo-commits

commit:     664b7392058f7d0d747b6ef514b08d3bd3acc1fc
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May  7 14:19:30 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May  7 14:23:05 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=664b7392

app-emulation/wine-proton: remove unused option

Forgot to remove it when copied from 9999, this is only
used in experimental and not in releases.

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

 app-emulation/wine-proton/wine-proton-9.0.1.ebuild | 2 --
 1 file changed, 2 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
index 34ad2375a843..3826048c0fcc 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -264,8 +264,6 @@ src_configure() {
 		$(use_with v4l v4l2)
 		$(use_with xcomposite)
 		$(use_with xinerama)
-
-		--without-vosk # unpackaged, file a bug if you need this
 	)
 
 	filter-lto # build failure


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-10  4:26 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-05-10  4:26 UTC (permalink / raw
  To: gentoo-commits

commit:     6665ace8a528cefef5e33a7966ca56ae432e1fb2
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri May 10 04:11:27 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri May 10 04:11:27 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6665ace8

app-emulation/wine-proton: enable py3.13

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

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 2 +-
 app-emulation/wine-proton/wine-proton-8.0.5c.ebuild   | 2 +-
 app-emulation/wine-proton/wine-proton-9.0.1.ebuild    | 2 +-
 app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 4820984ae397..fe8d48046141 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
 inherit autotools flag-o-matic multilib multilib-build prefix
 inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 

diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index a68574673402..d241cf82281d 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
 inherit autotools flag-o-matic multilib multilib-build prefix
 inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 

diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
index 3826048c0fcc..024f4d039fc9 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
 inherit autotools flag-o-matic multilib multilib-build prefix
 inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 

diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 4cabfe3111be..6a86d9f190b0 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
 inherit autotools flag-o-matic multilib multilib-build prefix
 inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-16  2:08 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-05-16  2:08 UTC (permalink / raw
  To: gentoo-commits

commit:     cde08ef0b18352b2c340b2fdb35d74c66c01a0b8
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu May 16 02:04:33 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu May 16 02:05:22 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cde08ef0

app-emulation/wine-proton: depend on vulkan-loader[X]

Not worth a revbump, rather few people disable that.

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

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 2 +-
 app-emulation/wine-proton/wine-proton-8.0.5c.ebuild   | 2 +-
 app-emulation/wine-proton/wine-proton-9.0.1.ebuild    | 2 +-
 app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index fe8d48046141..546bcaf60b4a 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -43,7 +43,7 @@ WINE_DLOPEN_DEPEND="
 	dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
 	media-libs/freetype[${MULTILIB_USEDEP}]
 	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
-	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
 	x11-libs/libXcursor[${MULTILIB_USEDEP}]
 	x11-libs/libXfixes[${MULTILIB_USEDEP}]
 	x11-libs/libXi[${MULTILIB_USEDEP}]

diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index d241cf82281d..e5b25d63323f 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -43,7 +43,7 @@ WINE_DLOPEN_DEPEND="
 	dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
 	media-libs/freetype[${MULTILIB_USEDEP}]
 	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
-	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
 	x11-libs/libXcursor[${MULTILIB_USEDEP}]
 	x11-libs/libXfixes[${MULTILIB_USEDEP}]
 	x11-libs/libXi[${MULTILIB_USEDEP}]

diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
index 024f4d039fc9..4558c65461b2 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -44,7 +44,7 @@ WINE_DLOPEN_DEPEND="
 	dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
 	media-libs/freetype[${MULTILIB_USEDEP}]
 	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
-	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
 	x11-libs/libXcursor[${MULTILIB_USEDEP}]
 	x11-libs/libXfixes[${MULTILIB_USEDEP}]
 	x11-libs/libXi[${MULTILIB_USEDEP}]

diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 6a86d9f190b0..ceddb4a00eec 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -44,7 +44,7 @@ WINE_DLOPEN_DEPEND="
 	dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
 	media-libs/freetype[${MULTILIB_USEDEP}]
 	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
-	media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
 	x11-libs/libXcursor[${MULTILIB_USEDEP}]
 	x11-libs/libXfixes[${MULTILIB_USEDEP}]
 	x11-libs/libXi[${MULTILIB_USEDEP}]


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-21  3:01 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-05-21  3:01 UTC (permalink / raw
  To: gentoo-commits

commit:     b701bf35fd508f2bc15c42805e7ab2ad131ff5f6
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 21 02:23:48 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May 21 02:58:15 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b701bf35

app-emulation/wine-proton: add workaround for gcc14 ICE w/ mingw

Bug: https://bugs.gentoo.org/932319
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 3 +++
 app-emulation/wine-proton/wine-proton-8.0.5c.ebuild   | 3 +++
 app-emulation/wine-proton/wine-proton-9.0.1.ebuild    | 3 +++
 app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 3 +++
 4 files changed, 12 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 546bcaf60b4a..81d3096abf6b 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -295,6 +295,9 @@ src_configure() {
 			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
 			append-cflags -mno-avx #912268
 
+			# gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
+			append-flags -fomit-frame-pointer
+
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index e5b25d63323f..c0e755952564 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -308,6 +308,9 @@ src_configure() {
 			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
 			append-cflags -mno-avx #912268
 
+			# gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
+			append-flags -fomit-frame-pointer
+
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
index 4558c65461b2..f3d2a4dc29e1 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -301,6 +301,9 @@ src_configure() {
 			# (primarily done for 23.0 profiles' -z, not full coverage)
 			filter-flags '-Wl,-z,*'
 
+			# gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
+			append-flags -fomit-frame-pointer
+
 			CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
 		)}"
 

diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index ceddb4a00eec..8a5138a724ad 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -303,6 +303,9 @@ src_configure() {
 			# (primarily done for 23.0 profiles' -z, not full coverage)
 			filter-flags '-Wl,-z,*'
 
+			# gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
+			append-flags -fomit-frame-pointer
+
 			CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
 		)}"
 


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-22  3:32 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-05-22  3:32 UTC (permalink / raw
  To: gentoo-commits

commit:     f148a5bd2cbd0b8094b11865d5b0f9884f551127
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed May 22 02:11:24 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed May 22 03:30:58 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f148a5bd

Revert "app-emulation/wine-proton: add workaround for gcc14 ICE w/ mingw"

This reverts commit b701bf35fd508f2bc15c42805e7ab2ad131ff5f6.

Fixing in mingw64-toolchain instead, *could* keep the workaround
longer for those that didn't update but likely doesn't affect many.

Bug: https://bugs.gentoo.org/932319
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 3 ---
 app-emulation/wine-proton/wine-proton-8.0.5c.ebuild   | 3 ---
 app-emulation/wine-proton/wine-proton-9.0.1.ebuild    | 3 ---
 app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 3 ---
 4 files changed, 12 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 81d3096abf6b..546bcaf60b4a 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -295,9 +295,6 @@ src_configure() {
 			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
 			append-cflags -mno-avx #912268
 
-			# gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
-			append-flags -fomit-frame-pointer
-
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index c0e755952564..e5b25d63323f 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -308,9 +308,6 @@ src_configure() {
 			# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
 			append-cflags -mno-avx #912268
 
-			# gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
-			append-flags -fomit-frame-pointer
-
 			CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
 		: "${CROSSLDFLAGS:=$(
 			filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
index f3d2a4dc29e1..4558c65461b2 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -301,9 +301,6 @@ src_configure() {
 			# (primarily done for 23.0 profiles' -z, not full coverage)
 			filter-flags '-Wl,-z,*'
 
-			# gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
-			append-flags -fomit-frame-pointer
-
 			CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
 		)}"
 

diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 8a5138a724ad..ceddb4a00eec 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -303,9 +303,6 @@ src_configure() {
 			# (primarily done for 23.0 profiles' -z, not full coverage)
 			filter-flags '-Wl,-z,*'
 
-			# gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
-			append-flags -fomit-frame-pointer
-
 			CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
 		)}"
 


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-31  6:20 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-05-31  6:20 UTC (permalink / raw
  To: gentoo-commits

commit:     28ce3c60e87f00db74c1b08ec1f174deff9e39a9
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri May 31 06:09:20 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri May 31 06:19:48 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28ce3c60

app-emulation/wine-proton: extend 32bit hwaccel warning for mesa

Hard to tell what's actually needed, nvidia users do not need
it on mesa (or need mesa at all), mesa users do not need it on
nvidia, and multi-card users likely need it on both.

If do this through dependencies, *could* always depend on
mesa[abi_x86_32] even if it may be wrong, and depend on nvidia's
if USE=video_cards_nvidia -- but for now sticking to a warning.

Ultimately it's also kind of an optfeature, only needed if
running 32bit hardware accelerated applications and not needed
at build time.

Non-issue for users doing abi_x86_32 globally.

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

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 19 ++++++++++++++-----
 app-emulation/wine-proton/wine-proton-8.0.5c.ebuild   | 19 ++++++++++++++-----
 app-emulation/wine-proton/wine-proton-9.0.1.ebuild    | 19 ++++++++++++++-----
 app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 19 ++++++++++++++-----
 4 files changed, 56 insertions(+), 20 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 546bcaf60b4a..cdab45831b77 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -355,11 +355,20 @@ pkg_preinst() {
 pkg_postinst() {
 	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
 
-	if use abi_x86_32 && 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."
+	if use abi_x86_32; 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
 
 	eselect wine update --if-unset || die

diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index e5b25d63323f..83417e7c34f7 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -372,11 +372,20 @@ pkg_preinst() {
 pkg_postinst() {
 	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
 
-	if use abi_x86_32 && 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."
+	if use abi_x86_32; 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
 
 	eselect wine update --if-unset || die

diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
index 4558c65461b2..1dd72b877060 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -404,11 +404,20 @@ pkg_postinst() {
 		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 && 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."
+	elif use abi_x86_32; 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
 
 	eselect wine update --if-unset || die

diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index ceddb4a00eec..f43dad37ae8e 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -406,11 +406,20 @@ pkg_postinst() {
 		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 && 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."
+	elif use abi_x86_32; 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
 
 	eselect wine update --if-unset || die


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-06-12 23:52 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-06-12 23:52 UTC (permalink / raw
  To: gentoo-commits

commit:     2d6401a181645d5f7f55b012232cbb7ecbad7f8e
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 12 23:19:17 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jun 12 23:51:43 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d6401a1

app-emulation/wine-proton: add 9.0.2

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

 app-emulation/wine-proton/Manifest                 |   1 +
 app-emulation/wine-proton/wine-proton-9.0.2.ebuild | 429 +++++++++++++++++++++
 2 files changed, 430 insertions(+)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 4e84f540f297..a78cd9208436 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,4 @@
 DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
 DIST proton-wine-8.0-5c.tar.gz 48710071 BLAKE2B 99627baea6fb3d51231aa1e75a2734c3c1baba88326baf15b3d421d57a00472d25ba51c2140b51152c8aeae7dd240d3d77bb0d8835aa7eb3b745a51be120f8bb SHA512 0cf98d4e67866e55cc8cd5ea8da0d76aee8e37b130b3cbca604083c913e98ddf9038ecd6f9761d2e11443e282b372977400e251456c6d40e1365210c7578234d
 DIST proton-wine-9.0-1.tar.gz 49048661 BLAKE2B cf237c314e8b222bb36f52f316baae2351a30d22995d610c7977accc9588c474d0e598702000aa81b34fc2f3daeccd09f54ef53b7a2250c0b012ca47d69628eb SHA512 d7d3e4725a86ca120d059e5b8f9760bce45a5db0ae814cd76aa51dc361bb67af9c2834917ddad3858fc324a1d048acdd9942492c77d0f396aae7d537c70e3ca1
+DIST proton-wine-9.0-2.tar.gz 49125171 BLAKE2B ac1e4a63f94689bc4fcc6ab4e2d12cfc214f54181515434ab950d8975d131a5f6333b1e6cb9b67eda61cf3e652e57e27e60ba3cff6a6ac403b07178f382f7e25 SHA512 82efee3100da80f650229d1abf3df4896ab71af4a79c6e5cf03aa646c56f435daf07c6f084a3264067cf90ce509102e3d7ee6d4bf7d0650baf645b5ece08cc7c

diff --git a/app-emulation/wine-proton/wine-proton-9.0.2.ebuild b/app-emulation/wine-proton/wine-proton-9.0.2.ebuild
new file mode 100644
index 000000000000..5b65bf80cc44
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-9.0.2.ebuild
@@ -0,0 +1,429 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.1.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/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+	usb v4l video_cards_amdgpu wow64 +xcomposite xinerama
+"
+REQUIRED_USE="wow64? ( abi_x86_64 !abi_x86_32 )"
+
+# 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:=[${MULTILIB_USEDEP}]
+	media-libs/freetype[${MULTILIB_USEDEP}]
+	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
+	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}]
+	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+	ssl? (
+		dev-libs/gmp:=[${MULTILIB_USEDEP}]
+		net-libs/gnutls:=[${MULTILIB_USEDEP}]
+	)
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
+# gcc: for -latomic with clang
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	sys-devel/gcc:*
+	x11-libs/libX11[${MULTILIB_USEDEP}]
+	x11-libs/libXext[${MULTILIB_USEDEP}]
+	x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
+	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+	)
+	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+	unwind? (
+		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+	)
+	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+	${WINE_COMMON_DEPEND}
+	app-emulation/wine-desktop-common
+	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
+	)
+	selinux? ( sec-policy/selinux-wine )
+	udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	sys-kernel/linux-headers
+	x11-base/xorg-proto
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	|| (
+		sys-devel/binutils
+		sys-devel/lld
+	)
+	dev-lang/perl
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	!crossdev-mingw? (
+		>=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+		wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+	)
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+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}-8.0.5c-vulkan-libm.patch
+	"${FILESDIR}"/${PN}-9.0-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"
+				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)
+	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
+		# -mabi=ms was ignored by <clang:16 then turned error in :17
+		# and it still gets used in install phase despite --with-mingw,
+		# drop as a quick fix for now which hopefully should be safe
+		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+		# needed by Valve's fsync patches if using clang (undef atomic_load_8)
+		sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+			-i dlls/{ntdll,winevulkan}/Makefile.in || die
+	fi
+
+	# ensure .desktop calls this variant + slot
+	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+	# similarly to staging, append to `wine --version` for identification
+	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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
+	# proton variant also needs specfiles and vulkan
+	tools/make_specfiles || die # perl
+	dlls/winevulkan/make_vulkan -x vk.xml || die # python
+	# 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-proton
+}
+
+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)
+
+		# upstream (Valve) doesn't really support misc configurations (e.g.
+		# adds vulkan code not always guarded by --with-vulkan), so force
+		# some major options that are typically needed by games either way
+		# TODO?: --without-mingw could make sense *if* using clang, assuming
+		# bug #912237 is resolved (consider when do USE=wow64 in proton-9)
+		--with-freetype
+		--with-mingw # needed by many, notably Blizzard titles
+		--with-opengl
+		--with-vulkan
+		--with-x
+
+		# ...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=
+
+		# afaik wayland support in 9.0.x currently cannot do opengl/vulkan
+		# yet making it mostly pointless for a gaming-oriented build
+		# (IUSE="X wayland" may be added in wine-proton-10 or 11)
+		--without-wayland
+
+		$(use_enable gecko mshtml)
+		$(use_enable mono mscoree)
+		$(use_enable video_cards_amdgpu amd_ags_x64)
+		--disable-tests
+		$(use_with alsa)
+		$(use_with fontconfig)
+		$(use_with gstreamer)
+		$(use_with nls gettext)
+		$(use_with osmesa)
+		--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 udisks dbus) # dbus is only used for udisks
+		$(use_with unwind)
+		$(use_with usb)
+		$(use_with v4l v4l2)
+		$(use_with xcomposite)
+		$(use_with xinerama)
+	)
+
+	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
+
+	# 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
+
+	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,*'
+
+			CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+		)}"
+
+		CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+			filter-flags '-fuse-ld=*'
+
+			CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+		)}"
+	)
+
+	# 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
+
+	# Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+	# -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+	# one or the other could be missing and that is unexpected for users
+	# and some tools like winetricks)
+	if use abi_x86_64; then
+		if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+			dosym wine64 ${WINE_PREFIX}/bin/wine
+			dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+			# also install wine(1) man pages (incl. translations)
+			local man
+			for man in ../build64/loader/wine.*man; do
+				: "${man##*/wine}"
+				: "${_%.*}"
+				insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+				newins ${man} wine.1
+			done
+		elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+			dosym wine ${WINE_PREFIX}/bin/wine64
+			dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+		fi
+	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
+
+	# 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
+
+	dodoc ANNOUNCE* AUTHORS README* documentation/README*
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+	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; 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
+
+	eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+	eselect wine update --if-unset || die
+}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-06-12 23:52 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-06-12 23:52 UTC (permalink / raw
  To: gentoo-commits

commit:     59c8eae7592a4de4b1b06b3aec93d220d8cfa6cc
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 12 23:19:25 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jun 12 23:51:43 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59c8eae7

app-emulation/wine-proton: sync live

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

 app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index caa389a5712f..9c233aee5903 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build prefix
 inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 
 WINE_GECKO=2.47.4
-WINE_MONO=9.0.0
+WINE_MONO=9.1.0
 WINE_PV=$(ver_rs 2 -)
 
 if [[ ${PV} == *9999 ]]; then


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-07-06  7:03 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-07-06  7:03 UTC (permalink / raw
  To: gentoo-commits

commit:     571e804223ddb840722f40486c72267ce95d2be4
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Jul  6 07:02:48 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Jul  6 07:02:54 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=571e8042

app-emulation/wine-proton: update live

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

 app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 9c233aee5903..78a63d876e93 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build prefix
 inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 
 WINE_GECKO=2.47.4
-WINE_MONO=9.1.0
+WINE_MONO=9.2.0
 WINE_PV=$(ver_rs 2 -)
 
 if [[ ${PV} == *9999 ]]; then


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-09-19 21:07 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-09-19 21:07 UTC (permalink / raw
  To: gentoo-commits

commit:     7243846fa1381b4842b45ff378bd9f501e28d41a
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 19 20:49:36 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Sep 19 21:05:54 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7243846f

app-emulation/wine-proton: add 9.0.3

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

 app-emulation/wine-proton/Manifest                 |   1 +
 app-emulation/wine-proton/wine-proton-9.0.3.ebuild | 429 +++++++++++++++++++++
 2 files changed, 430 insertions(+)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index a78cd9208436..4916697a6785 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -2,3 +2,4 @@ DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326
 DIST proton-wine-8.0-5c.tar.gz 48710071 BLAKE2B 99627baea6fb3d51231aa1e75a2734c3c1baba88326baf15b3d421d57a00472d25ba51c2140b51152c8aeae7dd240d3d77bb0d8835aa7eb3b745a51be120f8bb SHA512 0cf98d4e67866e55cc8cd5ea8da0d76aee8e37b130b3cbca604083c913e98ddf9038ecd6f9761d2e11443e282b372977400e251456c6d40e1365210c7578234d
 DIST proton-wine-9.0-1.tar.gz 49048661 BLAKE2B cf237c314e8b222bb36f52f316baae2351a30d22995d610c7977accc9588c474d0e598702000aa81b34fc2f3daeccd09f54ef53b7a2250c0b012ca47d69628eb SHA512 d7d3e4725a86ca120d059e5b8f9760bce45a5db0ae814cd76aa51dc361bb67af9c2834917ddad3858fc324a1d048acdd9942492c77d0f396aae7d537c70e3ca1
 DIST proton-wine-9.0-2.tar.gz 49125171 BLAKE2B ac1e4a63f94689bc4fcc6ab4e2d12cfc214f54181515434ab950d8975d131a5f6333b1e6cb9b67eda61cf3e652e57e27e60ba3cff6a6ac403b07178f382f7e25 SHA512 82efee3100da80f650229d1abf3df4896ab71af4a79c6e5cf03aa646c56f435daf07c6f084a3264067cf90ce509102e3d7ee6d4bf7d0650baf645b5ece08cc7c
+DIST proton-wine-9.0-3.tar.gz 49153588 BLAKE2B 81f80fbcf7045c9e08b8c4fd5feeb24fdc65f4266d6ecc2198e8638e56e6fd65cbf7e6d3d113d84ea0bd24ac8bb4780db0bb8dbfdf93f120b4f3b6a5948eedae SHA512 1ec948c781576bc21d5735db4ad572c7d73ecd046d2d2e45958ddc08ec9591441397bb582bfe8b5eb94c584da7000cf4ab138b67bda4b3e717568842595f0d8f

diff --git a/app-emulation/wine-proton/wine-proton-9.0.3.ebuild b/app-emulation/wine-proton/wine-proton-9.0.3.ebuild
new file mode 100644
index 000000000000..3895030f61ab
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-9.0.3.ebuild
@@ -0,0 +1,429 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.2.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/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+	usb v4l video_cards_amdgpu wow64 +xcomposite xinerama
+"
+REQUIRED_USE="wow64? ( abi_x86_64 !abi_x86_32 )"
+
+# 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:=[${MULTILIB_USEDEP}]
+	media-libs/freetype[${MULTILIB_USEDEP}]
+	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+	media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
+	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}]
+	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+	ssl? (
+		dev-libs/gmp:=[${MULTILIB_USEDEP}]
+		net-libs/gnutls:=[${MULTILIB_USEDEP}]
+	)
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
+# gcc: for -latomic with clang
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	sys-devel/gcc:*
+	x11-libs/libX11[${MULTILIB_USEDEP}]
+	x11-libs/libXext[${MULTILIB_USEDEP}]
+	x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
+	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	gstreamer? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+	)
+	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+	unwind? (
+		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+	)
+	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+	${WINE_COMMON_DEPEND}
+	app-emulation/wine-desktop-common
+	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
+	)
+	selinux? ( sec-policy/selinux-wine )
+	udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	sys-kernel/linux-headers
+	x11-base/xorg-proto
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	|| (
+		sys-devel/binutils
+		sys-devel/lld
+	)
+	dev-lang/perl
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	!crossdev-mingw? (
+		>=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+		wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+	)
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+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}-8.0.5c-vulkan-libm.patch
+	"${FILESDIR}"/${PN}-9.0-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"
+				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)
+	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
+		# -mabi=ms was ignored by <clang:16 then turned error in :17
+		# and it still gets used in install phase despite --with-mingw,
+		# drop as a quick fix for now which hopefully should be safe
+		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+		# needed by Valve's fsync patches if using clang (undef atomic_load_8)
+		sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+			-i dlls/{ntdll,winevulkan}/Makefile.in || die
+	fi
+
+	# ensure .desktop calls this variant + slot
+	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+	# similarly to staging, append to `wine --version` for identification
+	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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
+	# proton variant also needs specfiles and vulkan
+	tools/make_specfiles || die # perl
+	dlls/winevulkan/make_vulkan -x vk.xml || die # python
+	# 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-proton
+}
+
+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)
+
+		# upstream (Valve) doesn't really support misc configurations (e.g.
+		# adds vulkan code not always guarded by --with-vulkan), so force
+		# some major options that are typically needed by games either way
+		# TODO?: --without-mingw could make sense *if* using clang, assuming
+		# bug #912237 is resolved (consider when do USE=wow64 in proton-9)
+		--with-freetype
+		--with-mingw # needed by many, notably Blizzard titles
+		--with-opengl
+		--with-vulkan
+		--with-x
+
+		# ...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=
+
+		# afaik wayland support in 9.0.x currently cannot do opengl/vulkan
+		# yet making it mostly pointless for a gaming-oriented build
+		# (IUSE="X wayland" may be added in wine-proton-10 or 11)
+		--without-wayland
+
+		$(use_enable gecko mshtml)
+		$(use_enable mono mscoree)
+		$(use_enable video_cards_amdgpu amd_ags_x64)
+		--disable-tests
+		$(use_with alsa)
+		$(use_with fontconfig)
+		$(use_with gstreamer)
+		$(use_with nls gettext)
+		$(use_with osmesa)
+		--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 udisks dbus) # dbus is only used for udisks
+		$(use_with unwind)
+		$(use_with usb)
+		$(use_with v4l v4l2)
+		$(use_with xcomposite)
+		$(use_with xinerama)
+	)
+
+	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
+
+	# 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
+
+	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,*'
+
+			CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+		)}"
+
+		CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+			filter-flags '-fuse-ld=*'
+
+			CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+		)}"
+	)
+
+	# 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
+
+	# Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+	# -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+	# one or the other could be missing and that is unexpected for users
+	# and some tools like winetricks)
+	if use abi_x86_64; then
+		if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+			dosym wine64 ${WINE_PREFIX}/bin/wine
+			dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+			# also install wine(1) man pages (incl. translations)
+			local man
+			for man in ../build64/loader/wine.*man; do
+				: "${man##*/wine}"
+				: "${_%.*}"
+				insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+				newins ${man} wine.1
+			done
+		elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+			dosym wine ${WINE_PREFIX}/bin/wine64
+			dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+		fi
+	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
+
+	# 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
+
+	dodoc ANNOUNCE* AUTHORS README* documentation/README*
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+	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; 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
+
+	eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+	eselect wine update --if-unset || die
+}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-09-20  7:15 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-09-20  7:15 UTC (permalink / raw
  To: gentoo-commits

commit:     c69bb4ed9c919da4083f9e114b915cd6b23f525f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 20 07:11:40 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Sep 20 07:15:24 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c69bb4ed

app-emulation/wine-proton: update live

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

 app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 78a63d876e93..40365fde2442 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build prefix
 inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 
 WINE_GECKO=2.47.4
-WINE_MONO=9.2.0
+WINE_MONO=9.3.0
 WINE_PV=$(ver_rs 2 -)
 
 if [[ ${PV} == *9999 ]]; then


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-10-02  4:35 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-10-02  4:35 UTC (permalink / raw
  To: gentoo-commits

commit:     7d8fe16667c8efeb957dce16f704563ce87d699c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Oct  2 04:30:52 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Oct  2 04:34:40 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d8fe166

app-emulation/wine-proton: update live?

wine-mono was at 9.3.0 (still seeing the old value in a old checkout)
but seems the commit that made that change is gone, was the
experimental_9.0 branch force pushed?

Odds are it's a mistake and will have to change it back, but adjust
anyway in the interim.

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

 app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 40365fde2442..9c233aee5903 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build prefix
 inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 
 WINE_GECKO=2.47.4
-WINE_MONO=9.3.0
+WINE_MONO=9.1.0
 WINE_PV=$(ver_rs 2 -)
 
 if [[ ${PV} == *9999 ]]; then


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-10-05  8:12 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-10-05  8:12 UTC (permalink / raw
  To: gentoo-commits

commit:     e61124270b92f9e4720e3ca423d9555ad0c82dcb
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Oct  5 06:28:23 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Oct  5 08:11:34 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6112427

app-emulation/wine-proton: add 9999, drop 9.0.9999

Using the "bleeding-edge" branch. Pretty sure this branch did not
exist when formerly added the live ebuild and so had settled for
the versioned experimental branch.

Do not wish to maintain two live ebuilds, and it probably make more
sense to use bleeding edge if any (experimental is not updated that
often, and may lack fixes for very recent games that some users may
need).

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

 .../{wine-proton-9.0.9999.ebuild => wine-proton-9999.ebuild}          | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9999.ebuild
similarity index 99%
rename from app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
rename to app-emulation/wine-proton/wine-proton-9999.ebuild
index 9c233aee5903..dc95b99493af 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9999.ebuild
@@ -9,13 +9,13 @@ inherit autotools flag-o-matic multilib multilib-build prefix
 inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
 
 WINE_GECKO=2.47.4
-WINE_MONO=9.1.0
+WINE_MONO=9.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)"
+	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}"


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-10-05  8:12 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-10-05  8:12 UTC (permalink / raw
  To: gentoo-commits

commit:     179cd17d5ffd5021f0b6481eb927112593ebbecd
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Oct  5 06:28:51 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Oct  5 08:11:34 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=179cd17d

app-emulation/wine-proton: drop 9.0.1

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

 app-emulation/wine-proton/Manifest                 |   1 -
 app-emulation/wine-proton/wine-proton-9.0.1.ebuild | 429 ---------------------
 2 files changed, 430 deletions(-)

diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 4916697a6785..62c1af0a3a83 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,5 +1,4 @@
 DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
 DIST proton-wine-8.0-5c.tar.gz 48710071 BLAKE2B 99627baea6fb3d51231aa1e75a2734c3c1baba88326baf15b3d421d57a00472d25ba51c2140b51152c8aeae7dd240d3d77bb0d8835aa7eb3b745a51be120f8bb SHA512 0cf98d4e67866e55cc8cd5ea8da0d76aee8e37b130b3cbca604083c913e98ddf9038ecd6f9761d2e11443e282b372977400e251456c6d40e1365210c7578234d
-DIST proton-wine-9.0-1.tar.gz 49048661 BLAKE2B cf237c314e8b222bb36f52f316baae2351a30d22995d610c7977accc9588c474d0e598702000aa81b34fc2f3daeccd09f54ef53b7a2250c0b012ca47d69628eb SHA512 d7d3e4725a86ca120d059e5b8f9760bce45a5db0ae814cd76aa51dc361bb67af9c2834917ddad3858fc324a1d048acdd9942492c77d0f396aae7d537c70e3ca1
 DIST proton-wine-9.0-2.tar.gz 49125171 BLAKE2B ac1e4a63f94689bc4fcc6ab4e2d12cfc214f54181515434ab950d8975d131a5f6333b1e6cb9b67eda61cf3e652e57e27e60ba3cff6a6ac403b07178f382f7e25 SHA512 82efee3100da80f650229d1abf3df4896ab71af4a79c6e5cf03aa646c56f435daf07c6f084a3264067cf90ce509102e3d7ee6d4bf7d0650baf645b5ece08cc7c
 DIST proton-wine-9.0-3.tar.gz 49153588 BLAKE2B 81f80fbcf7045c9e08b8c4fd5feeb24fdc65f4266d6ecc2198e8638e56e6fd65cbf7e6d3d113d84ea0bd24ac8bb4780db0bb8dbfdf93f120b4f3b6a5948eedae SHA512 1ec948c781576bc21d5735db4ad572c7d73ecd046d2d2e45958ddc08ec9591441397bb582bfe8b5eb94c584da7000cf4ab138b67bda4b3e717568842595f0d8f

diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
deleted file mode 100644
index aaa8d2f07d3c..000000000000
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ /dev/null
@@ -1,429 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..13} )
-inherit autotools flag-o-matic multilib multilib-build prefix
-inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.4
-WINE_MONO=8.1.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/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
-	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
-	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
-	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
-	usb v4l video_cards_amdgpu wow64 +xcomposite xinerama
-"
-REQUIRED_USE="wow64? ( abi_x86_64 !abi_x86_32 )"
-
-# 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:=[${MULTILIB_USEDEP}]
-	media-libs/freetype[${MULTILIB_USEDEP}]
-	media-libs/libglvnd[X,${MULTILIB_USEDEP}]
-	media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
-	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}]
-	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
-	osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
-	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? (
-		dev-libs/gmp:=[${MULTILIB_USEDEP}]
-		net-libs/gnutls:=[${MULTILIB_USEDEP}]
-	)
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
-"
-# gcc: for -latomic with clang
-WINE_COMMON_DEPEND="
-	${WINE_DLOPEN_DEPEND}
-	sys-devel/gcc:*
-	x11-libs/libX11[${MULTILIB_USEDEP}]
-	x11-libs/libXext[${MULTILIB_USEDEP}]
-	x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	gstreamer? (
-		dev-libs/glib:2[${MULTILIB_USEDEP}]
-		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
-	)
-	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	unwind? (
-		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
-		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
-	)
-	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
-"
-RDEPEND="
-	${WINE_COMMON_DEPEND}
-	app-emulation/wine-desktop-common
-	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
-	)
-	selinux? ( sec-policy/selinux-wine )
-	udisks? ( sys-fs/udisks:2 )
-"
-DEPEND="
-	${WINE_COMMON_DEPEND}
-	sys-kernel/linux-headers
-	x11-base/xorg-proto
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	|| (
-		sys-devel/binutils
-		sys-devel/lld
-	)
-	dev-lang/perl
-	sys-devel/bison
-	sys-devel/flex
-	virtual/pkgconfig
-	nls? ( sys-devel/gettext )
-	!crossdev-mingw? (
-		>=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
-		wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
-	)
-"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-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}-8.0.5c-vulkan-libm.patch
-	"${FILESDIR}"/${PN}-9.0-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"
-				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)
-	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
-		# -mabi=ms was ignored by <clang:16 then turned error in :17
-		# and it still gets used in install phase despite --with-mingw,
-		# drop as a quick fix for now which hopefully should be safe
-		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
-
-		# needed by Valve's fsync patches if using clang (undef atomic_load_8)
-		sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
-			-i dlls/{ntdll,winevulkan}/Makefile.in || die
-	fi
-
-	# ensure .desktop calls this variant + slot
-	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
-	# similarly to staging, append to `wine --version` for identification
-	sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || 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
-	# proton variant also needs specfiles and vulkan
-	tools/make_specfiles || die # perl
-	dlls/winevulkan/make_vulkan -x vk.xml || die # python
-	# 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-proton
-}
-
-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)
-
-		# upstream (Valve) doesn't really support misc configurations (e.g.
-		# adds vulkan code not always guarded by --with-vulkan), so force
-		# some major options that are typically needed by games either way
-		# TODO?: --without-mingw could make sense *if* using clang, assuming
-		# bug #912237 is resolved (consider when do USE=wow64 in proton-9)
-		--with-freetype
-		--with-mingw # needed by many, notably Blizzard titles
-		--with-opengl
-		--with-vulkan
-		--with-x
-
-		# ...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=
-
-		# afaik wayland support in 9.0.x currently cannot do opengl/vulkan
-		# yet making it mostly pointless for a gaming-oriented build
-		# (IUSE="X wayland" may be added in wine-proton-10 or 11)
-		--without-wayland
-
-		$(use_enable gecko mshtml)
-		$(use_enable mono mscoree)
-		$(use_enable video_cards_amdgpu amd_ags_x64)
-		--disable-tests
-		$(use_with alsa)
-		$(use_with fontconfig)
-		$(use_with gstreamer)
-		$(use_with nls gettext)
-		$(use_with osmesa)
-		--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 udisks dbus) # dbus is only used for udisks
-		$(use_with unwind)
-		$(use_with usb)
-		$(use_with v4l v4l2)
-		$(use_with xcomposite)
-		$(use_with xinerama)
-	)
-
-	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
-
-	# 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
-
-	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,*'
-
-			CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
-		)}"
-
-		CROSSLDFLAGS="${CROSSLDFLAGS:-$(
-			filter-flags '-fuse-ld=*'
-
-			CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
-		)}"
-	)
-
-	# 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
-
-	# Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
-	# -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
-	# one or the other could be missing and that is unexpected for users
-	# and some tools like winetricks)
-	if use abi_x86_64; then
-		if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
-			dosym wine64 ${WINE_PREFIX}/bin/wine
-			dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
-
-			# also install wine(1) man pages (incl. translations)
-			local man
-			for man in ../build64/loader/wine.*man; do
-				: "${man##*/wine}"
-				: "${_%.*}"
-				insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
-				newins ${man} wine.1
-			done
-		elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
-			dosym wine ${WINE_PREFIX}/bin/wine64
-			dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
-		fi
-	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
-
-	# 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
-
-	dodoc ANNOUNCE* AUTHORS README* documentation/README*
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
-	[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
-	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; 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
-
-	eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
-	eselect wine update --if-unset || die
-}


^ permalink raw reply related	[flat|nested] 84+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-11-18 23:37 Ionen Wolkens
  0 siblings, 0 replies; 84+ messages in thread
From: Ionen Wolkens @ 2024-11-18 23:37 UTC (permalink / raw
  To: gentoo-commits

commit:     9ef338cb5aec0c85fe0a6c65f61bc395237a789f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 18 22:35:25 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Nov 18 22:35:58 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ef338cb

app-emulation/wine-proton: pass -std=gnu17 for gcc15 for now

Bug: https://bugs.gentoo.org/943849
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild  | 3 +++
 app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 3 +++
 app-emulation/wine-proton/wine-proton-9.0.2.ebuild  | 3 +++
 app-emulation/wine-proton/wine-proton-9.0.3.ebuild  | 3 +++
 app-emulation/wine-proton/wine-proton-9999.ebuild   | 3 +++
 5 files changed, 15 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 0885f72efe17..4ebc2d33e911 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -247,6 +247,9 @@ src_configure() {
 	use custom-cflags || strip-flags # can break in obscure ways at runtime
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
+	# broken with gcc-15's c23 default (TODO: try w/o occasionally, bug #943849)
+	append-cflags -std=gnu17
+
 	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
 	# https://github.com/gentoo/gentoo/pull/28355
 	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&

diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index cd3bf6391ea7..fe281d763060 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -251,6 +251,9 @@ src_configure() {
 	use custom-cflags || strip-flags # can break in obscure ways at runtime
 	use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
 
+	# broken with gcc-15's c23 default (TODO: try w/o occasionally, bug #943849)
+	append-cflags -std=gnu17
+
 	# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
 	# https://github.com/gentoo/gentoo/pull/28355
 	[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&

diff --git a/app-emulation/wine-proton/wine-proton-9.0.2.ebuild b/app-emulation/wine-proton/wine-proton-9.0.2.ebuild
index d8dfaa48476b..4a959910a693 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.2.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.2.ebuild
@@ -271,6 +271,9 @@ src_configure() {
 	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)* ]]

diff --git a/app-emulation/wine-proton/wine-proton-9.0.3.ebuild b/app-emulation/wine-proton/wine-proton-9.0.3.ebuild
index 158df4efa795..1b6c3be815f9 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.3.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.3.ebuild
@@ -271,6 +271,9 @@ src_configure() {
 	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)* ]]

diff --git a/app-emulation/wine-proton/wine-proton-9999.ebuild b/app-emulation/wine-proton/wine-proton-9999.ebuild
index 10f556feb152..512564eccefb 100644
--- a/app-emulation/wine-proton/wine-proton-9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9999.ebuild
@@ -273,6 +273,9 @@ src_configure() {
 	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)* ]]


^ permalink raw reply related	[flat|nested] 84+ messages in thread

end of thread, other threads:[~2024-11-18 23:37 UTC | newest]

Thread overview: 84+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-22 20:31 [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/ Ionen Wolkens
  -- strict thread matches above, loose matches on Subject: below --
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-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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox