public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-staging/
Date: Mon, 21 Apr 2025 02:38:59 +0000 (UTC)	[thread overview]
Message-ID: <1745200369.77c01eb070c1d8dcad7ba12a95b161199d5c54fa.ionen@gentoo> (raw)

commit:     77c01eb070c1d8dcad7ba12a95b161199d5c54fa
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 19 08:20:49 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Apr 21 01:52:49 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77c01eb0

app-emulation/wine-staging: migrate to wine.eclass

Only the latest, wine-staging ebuilds are not meant for archiving
(use vanilla) and will likely delete sooner than later.

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

 app-emulation/wine-staging/metadata.xml            |   2 +-
 .../wine-staging/wine-staging-10.5-r1.ebuild       | 257 +++++++++++++++
 .../wine-staging/wine-staging-9999.ebuild          | 345 ++++-----------------
 3 files changed, 320 insertions(+), 284 deletions(-)

diff --git a/app-emulation/wine-staging/metadata.xml b/app-emulation/wine-staging/metadata.xml
index 8cbdba795852..ca3329a1891c 100644
--- a/app-emulation/wine-staging/metadata.xml
+++ b/app-emulation/wine-staging/metadata.xml
@@ -21,7 +21,7 @@ This variant of the Wine packaging includes the Wine-Staging patchset.
 		</flag>
 		<flag name="dos">Pull in <pkg>games-emulation/dosbox</pkg> to run DOS applications</flag>
 		<flag name="gecko">Enable mshtml support using <pkg>app-emulation/wine-gecko</pkg></flag>
-		<flag name="mingw">Build PE files using a MinGW toolchain for better compatibility</flag>
+		<flag name="mingw">Build PE files using <pkg>dev-util/mingw64-toolchain</pkg> (more tested) rather than <pkg>llvm-core/clang</pkg> (newer)</flag>
 		<flag name="mono">Enable .NET support using <pkg>app-emulation/wine-mono</pkg></flag>
 		<flag name="netapi">Enable support for configuring remote shares using <pkg>net-fs/samba</pkg></flag>
 		<flag name="pcap">Support packet capture software (e.g. wireshark)</flag>

diff --git a/app-emulation/wine-staging/wine-staging-10.5-r1.ebuild b/app-emulation/wine-staging/wine-staging-10.5-r1.ebuild
new file mode 100644
index 000000000000..62429a14f0ae
--- /dev/null
+++ b/app-emulation/wine-staging/wine-staging-10.5-r1.ebuild
@@ -0,0 +1,257 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit edo optfeature python-any-r1 wine
+
+WINE_GECKO=2.47.4
+WINE_MONO=10.0.0
+WINE_P=wine-$(ver_cut 1-2)
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
+	WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+	(( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+	SRC_URI="
+		https://dl.winehq.org/wine/source/${WINE_SDIR}/${WINE_P}.tar.xz
+		https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz
+	"
+	KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
+HOMEPAGE="
+	https://wiki.winehq.org/Wine-Staging
+	https://gitlab.winehq.org/wine/wine-staging/
+"
+S=${WORKDIR}/${WINE_P}
+
+LICENSE="
+	LGPL-2.1+
+	BSD BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff
+	|| ( WTFPL-2 public-domain )
+"
+SLOT="${PV}"
+IUSE="
+	+X +alsa bluetooth capi cups +dbus dos llvm-libunwind ffmpeg
+	+fontconfig +gecko gphoto2 +gstreamer kerberos +mono netapi
+	nls odbc opencl +opengl pcap perl pulseaudio samba scanner
+	+sdl selinux smartcard +ssl +truetype udev +unwind usb v4l
+	+vulkan wayland +xcomposite xinerama
+"
+REQUIRED_USE="
+	X? ( truetype )
+	bluetooth? ( dbus )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+	X? (
+		x11-libs/libXcursor[${WINE_USEDEP}]
+		x11-libs/libXfixes[${WINE_USEDEP}]
+		x11-libs/libXi[${WINE_USEDEP}]
+		x11-libs/libXrandr[${WINE_USEDEP}]
+		x11-libs/libXrender[${WINE_USEDEP}]
+		x11-libs/libXxf86vm[${WINE_USEDEP}]
+		opengl? ( media-libs/libglvnd[X,${WINE_USEDEP}] )
+		xcomposite? ( x11-libs/libXcomposite[${WINE_USEDEP}] )
+		xinerama? ( x11-libs/libXinerama[${WINE_USEDEP}] )
+	)
+	cups? ( net-print/cups[${WINE_USEDEP}] )
+	dbus? ( sys-apps/dbus[${WINE_USEDEP}] )
+	fontconfig? ( media-libs/fontconfig[${WINE_USEDEP}] )
+	kerberos? ( virtual/krb5[${WINE_USEDEP}] )
+	netapi? ( net-fs/samba[${WINE_USEDEP}] )
+	odbc? ( dev-db/unixODBC[${WINE_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${WINE_USEDEP}] )
+	ssl? ( net-libs/gnutls:=[${WINE_USEDEP}] )
+	truetype? ( media-libs/freetype[${WINE_USEDEP}] )
+	v4l? ( media-libs/libv4l[${WINE_USEDEP}] )
+	vulkan? ( media-libs/vulkan-loader[X?,wayland?,${WINE_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	X? (
+		x11-libs/libX11[${WINE_USEDEP}]
+		x11-libs/libXext[${WINE_USEDEP}]
+	)
+	alsa? ( media-libs/alsa-lib[${WINE_USEDEP}] )
+	capi? ( net-libs/libcapi:=[${WINE_USEDEP}] )
+	ffmpeg? ( media-video/ffmpeg:=[${WINE_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${WINE_USEDEP}] )
+	gstreamer? (
+		dev-libs/glib:2[${WINE_USEDEP}]
+		media-libs/gst-plugins-base:1.0[${WINE_USEDEP}]
+		media-libs/gstreamer:1.0[${WINE_USEDEP}]
+	)
+	opencl? ( virtual/opencl[${WINE_USEDEP}] )
+	pcap? ( net-libs/libpcap[${WINE_USEDEP}] )
+	pulseaudio? ( media-libs/libpulse[${WINE_USEDEP}] )
+	scanner? ( media-gfx/sane-backends[${WINE_USEDEP}] )
+	smartcard? ( sys-apps/pcsc-lite[${WINE_USEDEP}] )
+	udev? ( virtual/libudev:=[${WINE_USEDEP}] )
+	unwind? (
+		llvm-libunwind? ( llvm-runtimes/libunwind[${WINE_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${WINE_USEDEP}] )
+	)
+	usb? ( dev-libs/libusb:1[${WINE_USEDEP}] )
+	wayland? (
+		dev-libs/wayland[${WINE_USEDEP}]
+		x11-libs/libxkbcommon[${WINE_USEDEP}]
+	)
+"
+RDEPEND="
+	${WINE_COMMON_DEPEND}
+	app-emulation/wine-desktop-common
+	dos? (
+		|| (
+			games-emulation/dosbox
+			games-emulation/dosbox-staging
+		)
+	)
+	gecko? (
+		app-emulation/wine-gecko:${WINE_GECKO}[${WINE_USEDEP}]
+		wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+	)
+	gstreamer? ( media-plugins/gst-plugins-meta:1.0[${WINE_USEDEP}] )
+	mono? ( app-emulation/wine-mono:${WINE_MONO} )
+	perl? (
+		dev-lang/perl
+		dev-perl/XML-LibXML
+	)
+	samba? ( net-fs/samba[winbind] )
+	selinux? ( sec-policy/selinux-wine )
+"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	sys-kernel/linux-headers
+	X? ( x11-base/xorg-proto )
+	bluetooth? ( net-wireless/bluez )
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-vcs/git
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	wayland? ( dev-util/wayland-scanner )
+"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+	__clear_cache # unused on amd64+x86 (bug #900334)
+	res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-7.17-noexecstack.patch
+	"${FILESDIR}"/${PN}-7.20-unwind.patch
+	"${FILESDIR}"/${PN}-8.13-rpath.patch
+)
+
+src_unpack() {
+	if [[ ${PV} == 9999 ]]; then
+		EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
+		git-r3_src_unpack
+
+		# hack: use subshell to preserve state (including what git-r3 unpack
+		# sets) for smart-live-rebuild as this is not the repo to look at
+		(
+			EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
+			EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
+			EGIT_CHECKOUT_DIR=${S}
+			einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
+			git-r3_src_unpack
+		)
+	else
+		default
+	fi
+}
+
+src_prepare() {
+	local patchinstallargs=(
+		--all
+		--no-autoconf
+		${MY_WINE_STAGING_CONF}
+	)
+
+	edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
+
+	wine_src_prepare
+}
+
+src_configure() {
+	local wineconfargs=(
+		$(use_enable gecko mshtml)
+		$(use_enable mono mscoree)
+		--disable-tests
+
+		$(use_with X x)
+		$(use_with alsa)
+		$(use_with capi)
+		$(use_with cups)
+		$(use_with dbus)
+		$(use_with ffmpeg)
+		$(use_with fontconfig)
+		$(use_with gphoto2 gphoto)
+		$(use_with gstreamer)
+		$(use_with kerberos gssapi)
+		$(use_with kerberos krb5)
+		$(use_with netapi)
+		$(use_with nls gettext)
+		$(use_with opencl)
+		$(use_with opengl)
+		--without-osmesa # media-libs/mesa no longer supports this
+		--without-oss # media-sound/oss is not packaged (OSSv4)
+		$(use_with pcap)
+		$(use_with pulseaudio pulse)
+		$(use_with scanner sane)
+		$(use_with sdl)
+		$(use_with smartcard pcsclite)
+		$(use_with ssl gnutls)
+		$(use_with truetype freetype)
+		$(use_with udev)
+		$(use_with unwind)
+		$(use_with usb)
+		$(use_with v4l v4l2)
+		$(use_with vulkan)
+		$(use_with wayland)
+		$(use_with xcomposite)
+		$(use_with xinerama)
+
+		$(usev !bluetooth '
+			ac_cv_header_bluetooth_bluetooth_h=no
+			ac_cv_header_bluetooth_rfcomm_h=no
+		')
+		$(usev !odbc ac_cv_lib_soname_odbc=)
+	)
+
+	wine_src_configure
+}
+
+src_install() {
+	use perl || local WINE_SKIP_INSTALL=(
+		${WINE_DATADIR}/man/man1/wine{dump,maker}.1
+		${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}}
+	)
+
+	wine_src_install
+
+	dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+	wine_pkg_postinst
+
+	optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+		games-util/game-device-udev-rules
+}

diff --git a/app-emulation/wine-staging/wine-staging-9999.ebuild b/app-emulation/wine-staging/wine-staging-9999.ebuild
index 4d42567b583c..62429a14f0ae 100644
--- a/app-emulation/wine-staging/wine-staging-9999.ebuild
+++ b/app-emulation/wine-staging/wine-staging-9999.ebuild
@@ -3,16 +3,14 @@
 
 EAPI=8
 
-MULTILIB_COMPAT=( abi_x86_{32,64} )
 PYTHON_COMPAT=( python3_{10..13} )
-inherit autotools edo flag-o-matic multilib multilib-build optfeature
-inherit prefix python-any-r1 toolchain-funcs wrapper
+inherit edo optfeature python-any-r1 wine
 
 WINE_GECKO=2.47.4
 WINE_MONO=10.0.0
 WINE_P=wine-$(ver_cut 1-2)
 
-if [[ ${PV} == *9999 ]]; then
+if [[ ${PV} == 9999 ]]; then
 	inherit git-r3
 	EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
 	WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
@@ -20,7 +18,8 @@ else
 	(( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
 	SRC_URI="
 		https://dl.winehq.org/wine/source/${WINE_SDIR}/${WINE_P}.tar.xz
-		https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+		https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz
+	"
 	KEYWORDS="-* ~amd64 ~x86"
 fi
 
@@ -29,8 +28,7 @@ HOMEPAGE="
 	https://wiki.winehq.org/Wine-Staging
 	https://gitlab.winehq.org/wine/wine-staging/
 "
-
-S="${WORKDIR}/${WINE_P}"
+S=${WORKDIR}/${WINE_P}
 
 LICENSE="
 	LGPL-2.1+
@@ -39,20 +37,15 @@ LICENSE="
 "
 SLOT="${PV}"
 IUSE="
-	+X +abi_x86_32 +abi_x86_64 +alsa bluetooth capi crossdev-mingw cups
-	+dbus dos llvm-libunwind custom-cflags ffmpeg +fontconfig +gecko
-	gphoto2 +gstreamer kerberos +mingw +mono netapi nls odbc opencl
-	+opengl pcap perl pulseaudio samba scanner +sdl selinux smartcard
-	+ssl +strip +truetype udev +unwind usb v4l +vulkan wayland wow64
-	+xcomposite xinerama
+	+X +alsa bluetooth capi cups +dbus dos llvm-libunwind ffmpeg
+	+fontconfig +gecko gphoto2 +gstreamer kerberos +mono netapi
+	nls odbc opencl +opengl pcap perl pulseaudio samba scanner
+	+sdl selinux smartcard +ssl +truetype udev +unwind usb v4l
+	+vulkan wayland +xcomposite xinerama
 "
-# bug #551124 for truetype
-# TODO?: wow64 can be done without mingw if using clang (needs bug #912237)
 REQUIRED_USE="
 	X? ( truetype )
 	bluetooth? ( dbus )
-	crossdev-mingw? ( mingw )
-	wow64? ( abi_x86_64 !abi_x86_32 mingw )
 "
 
 # tests are non-trivial to run, can hang easily, don't play well with
@@ -62,57 +55,57 @@ RESTRICT="test"
 # `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
 WINE_DLOPEN_DEPEND="
 	X? (
-		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}]
-		opengl? ( media-libs/libglvnd[X,${MULTILIB_USEDEP}] )
-		xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-		xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+		x11-libs/libXcursor[${WINE_USEDEP}]
+		x11-libs/libXfixes[${WINE_USEDEP}]
+		x11-libs/libXi[${WINE_USEDEP}]
+		x11-libs/libXrandr[${WINE_USEDEP}]
+		x11-libs/libXrender[${WINE_USEDEP}]
+		x11-libs/libXxf86vm[${WINE_USEDEP}]
+		opengl? ( media-libs/libglvnd[X,${WINE_USEDEP}] )
+		xcomposite? ( x11-libs/libXcomposite[${WINE_USEDEP}] )
+		xinerama? ( x11-libs/libXinerama[${WINE_USEDEP}] )
 	)
-	cups? ( net-print/cups[${MULTILIB_USEDEP}] )
-	dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
-	kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
-	netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
-	odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
-	sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	vulkan? ( media-libs/vulkan-loader[X?,wayland?,${MULTILIB_USEDEP}] )
+	cups? ( net-print/cups[${WINE_USEDEP}] )
+	dbus? ( sys-apps/dbus[${WINE_USEDEP}] )
+	fontconfig? ( media-libs/fontconfig[${WINE_USEDEP}] )
+	kerberos? ( virtual/krb5[${WINE_USEDEP}] )
+	netapi? ( net-fs/samba[${WINE_USEDEP}] )
+	odbc? ( dev-db/unixODBC[${WINE_USEDEP}] )
+	sdl? ( media-libs/libsdl2[haptic,joystick,${WINE_USEDEP}] )
+	ssl? ( net-libs/gnutls:=[${WINE_USEDEP}] )
+	truetype? ( media-libs/freetype[${WINE_USEDEP}] )
+	v4l? ( media-libs/libv4l[${WINE_USEDEP}] )
+	vulkan? ( media-libs/vulkan-loader[X?,wayland?,${WINE_USEDEP}] )
 "
 WINE_COMMON_DEPEND="
 	${WINE_DLOPEN_DEPEND}
 	X? (
-		x11-libs/libX11[${MULTILIB_USEDEP}]
-		x11-libs/libXext[${MULTILIB_USEDEP}]
+		x11-libs/libX11[${WINE_USEDEP}]
+		x11-libs/libXext[${WINE_USEDEP}]
 	)
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
-	ffmpeg? ( media-video/ffmpeg:=[${MULTILIB_USEDEP}] )
-	gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+	alsa? ( media-libs/alsa-lib[${WINE_USEDEP}] )
+	capi? ( net-libs/libcapi:=[${WINE_USEDEP}] )
+	ffmpeg? ( media-video/ffmpeg:=[${WINE_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${WINE_USEDEP}] )
 	gstreamer? (
-		dev-libs/glib:2[${MULTILIB_USEDEP}]
-		media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
-		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+		dev-libs/glib:2[${WINE_USEDEP}]
+		media-libs/gst-plugins-base:1.0[${WINE_USEDEP}]
+		media-libs/gstreamer:1.0[${WINE_USEDEP}]
 	)
-	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
-	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
-	scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
-	smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
-	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${WINE_USEDEP}] )
+	pcap? ( net-libs/libpcap[${WINE_USEDEP}] )
+	pulseaudio? ( media-libs/libpulse[${WINE_USEDEP}] )
+	scanner? ( media-gfx/sane-backends[${WINE_USEDEP}] )
+	smartcard? ( sys-apps/pcsc-lite[${WINE_USEDEP}] )
+	udev? ( virtual/libudev:=[${WINE_USEDEP}] )
 	unwind? (
-		llvm-libunwind? ( llvm-runtimes/libunwind[${MULTILIB_USEDEP}] )
-		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+		llvm-libunwind? ( llvm-runtimes/libunwind[${WINE_USEDEP}] )
+		!llvm-libunwind? ( sys-libs/libunwind:=[${WINE_USEDEP}] )
 	)
-	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+	usb? ( dev-libs/libusb:1[${WINE_USEDEP}] )
 	wayland? (
-		dev-libs/wayland[${MULTILIB_USEDEP}]
-		x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+		dev-libs/wayland[${WINE_USEDEP}]
+		x11-libs/libxkbcommon[${WINE_USEDEP}]
 	)
 "
 RDEPEND="
@@ -125,10 +118,10 @@ RDEPEND="
 		)
 	)
 	gecko? (
-		app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+		app-emulation/wine-gecko:${WINE_GECKO}[${WINE_USEDEP}]
 		wow64? ( app-emulation/wine-gecko[abi_x86_32] )
 	)
-	gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+	gstreamer? ( media-plugins/gst-plugins-meta:1.0[${WINE_USEDEP}] )
 	mono? ( app-emulation/wine-mono:${WINE_MONO} )
 	perl? (
 		dev-lang/perl
@@ -143,27 +136,15 @@ DEPEND="
 	X? ( x11-base/xorg-proto )
 	bluetooth? ( net-wireless/bluez )
 "
-# gitapply.sh "can" work without git but that is hardly tested
-# and known failing with some versions, so force real git
 BDEPEND="
 	${PYTHON_DEPS}
-	|| (
-		sys-devel/binutils
-		llvm-core/lld
-	)
-	dev-lang/perl
 	dev-vcs/git
 	sys-devel/bison
 	sys-devel/flex
 	virtual/pkgconfig
-	mingw? ( !crossdev-mingw? (
-		>=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
-		wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
-	) )
 	nls? ( sys-devel/gettext )
 	wayland? ( dev-util/wayland-scanner )
 "
-IDEPEND=">=app-eselect/eselect-wine-2"
 
 QA_CONFIG_IMPL_DECL_SKIP=(
 	__clear_cache # unused on amd64+x86 (bug #900334)
@@ -177,28 +158,8 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-8.13-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"
-				die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
-			fi
-		done
-	fi
-}
-
 src_unpack() {
-	if [[ ${PV} == *9999 ]]; then
+	if [[ ${PV} == 9999 ]]; then
 		EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
 		git-r3_src_unpack
 
@@ -225,60 +186,11 @@ src_prepare() {
 
 	edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
 
-	# 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
-		if use mingw; then
-			# -mabi=ms was ignored by <clang:16 then turned error in :17
-			# if used without --target *-windows, then gets used in install
-			# phase despite USE=mingw, drop as a quick fix for now
-			sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
-		else
-			# fails in ./configure unless --enable-archs is passed, allow to
-			# bypass with EXTRA_ECONF but is currently considered unsupported
-			# (by Gentoo) as additional work is needed for (proper) support
-			# note: also fails w/ :17, but unsure if safe to drop w/o mingw
-			[[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
-				die "building ${PN} with clang is only supported with USE=mingw"
-		fi
-	fi
-
-	# ensure .desktop calls this variant + slot
-	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || 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
-	# 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-staging
+	wine_src_prepare
 }
 
 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)
-
+	local wineconfargs=(
 		$(use_enable gecko mshtml)
 		$(use_enable mono mscoree)
 		--disable-tests
@@ -294,7 +206,6 @@ src_configure() {
 		$(use_with gstreamer)
 		$(use_with kerberos gssapi)
 		$(use_with kerberos krb5)
-		$(use_with mingw)
 		$(use_with netapi)
 		$(use_with nls gettext)
 		$(use_with opencl)
@@ -324,155 +235,23 @@ src_configure() {
 		$(usev !odbc ac_cv_lib_soname_odbc=)
 	)
 
-	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
-
-	# 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)* ]]
-	then
-		has_version -b sys-devel/binutils &&
-			append-ldflags -fuse-ld=bfd ||
-			append-ldflags -fuse-ld=lld
-		strip-unsupported-flags
-	fi
-
-	if use mingw; then
-		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,*'
-
-				# -mavx with mingw-gcc has a history of issues and still see
-				# users have problems despite -mpreferred-stack-boundary=2
-				append-cflags -mno-avx
-
-				CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
-			)}"
-
-			CROSSLDFLAGS="${CROSSLDFLAGS:-$(
-				filter-flags '-fuse-ld=*'
-
-				CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
-			)}"
-		)
-	fi
-
-	# 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
+	wine_src_configure
 }
 
 src_install() {
-	use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
-	use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
-
-	# "wine64" is no longer provided, but a keep symlink for old scripts
-	# TODO: remove the guard later, only useful for bisecting -9999
-	if [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 ]]; then
-		use abi_x86_64 && dosym wine ${WINE_PREFIX}/bin/wine64
-	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
-
-	if use mingw; then
-		# 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 perl || local WINE_SKIP_INSTALL=(
+		${WINE_DATADIR}/man/man1/wine{dump,maker}.1
+		${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}}
+	)
 
-		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
-	fi
+	wine_src_install
 
 	dodoc ANNOUNCE* AUTHORS README* documentation/README*
 }
 
 pkg_postinst() {
-	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 && { use opengl || use vulkan; }; 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
+	wine_pkg_postinst
 
 	optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
 		games-util/game-device-udev-rules
-
-	eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
-	if has_version -b app-eselect/eselect-wine; then
-		eselect wine update --if-unset || die
-	fi
 }


             reply	other threads:[~2025-04-21  2:39 UTC|newest]

Thread overview: 483+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-21  2:38 Ionen Wolkens [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-05-04  7:25 [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-staging/ Ionen Wolkens
2025-04-30  2:36 Ionen Wolkens
2025-04-22 13:02 Ionen Wolkens
2025-04-22  6:01 Ionen Wolkens
2025-04-22  6:01 Ionen Wolkens
2025-04-21 19:40 Arthur Zamarin
2025-04-21  2:39 Ionen Wolkens
2025-04-06 10:30 Ionen Wolkens
2025-04-06 10:30 Ionen Wolkens
2025-03-23  9:00 Ionen Wolkens
2025-03-09  0:51 Ionen Wolkens
2025-02-25  5:30 Ionen Wolkens
2025-02-22 22:41 Ionen Wolkens
2025-02-15 15:49 Ionen Wolkens
2025-02-15 14:56 Ionen Wolkens
2025-02-09 14:12 Ionen Wolkens
2025-02-09 14:12 Ionen Wolkens
2025-01-21 23:58 Ionen Wolkens
2024-11-23  8:24 Ionen Wolkens
2024-11-18 23:37 Ionen Wolkens
2024-11-08 23:29 Ionen Wolkens
2024-11-08 23:29 Ionen Wolkens
2024-10-19  1:28 Ionen Wolkens
2024-10-19  1:28 Ionen Wolkens
2024-10-16  5:10 Ionen Wolkens
2024-10-06  3:52 Ionen Wolkens
2024-09-22  9:52 Ionen Wolkens
2024-09-13 22:31 Ionen Wolkens
2024-09-11  4:54 Ionen Wolkens
2024-09-07  3:23 Ionen Wolkens
2024-09-07  3:23 Ionen Wolkens
2024-09-07  3:23 Ionen Wolkens
2024-08-24  6:58 Ionen Wolkens
2024-08-24  6:58 Ionen Wolkens
2024-08-24  6:58 Ionen Wolkens
2024-08-11 13:18 Ionen Wolkens
2024-07-29  3:55 Ionen Wolkens
2024-07-29  3:55 Ionen Wolkens
2024-07-15  6:05 Ionen Wolkens
2024-07-15  6:05 Ionen Wolkens
2024-06-30  6:49 Ionen Wolkens
2024-06-30  6:49 Ionen Wolkens
2024-06-30  6:49 Ionen Wolkens
2024-06-27  6:55 Ionen Wolkens
2024-06-15 11:20 Ionen Wolkens
2024-06-01  7:51 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-18 12:28 Ionen Wolkens
2024-05-18 12:28 Ionen Wolkens
2024-05-18 12:28 Ionen Wolkens
2024-05-16  2:08 Ionen Wolkens
2024-05-15  8:37 Ionen Wolkens
2024-05-07  7:19 Ionen Wolkens
2024-05-04 15:02 Ionen Wolkens
2024-04-23  9:33 Ionen Wolkens
2024-04-22 20:31 Ionen Wolkens
2024-04-21 16:57 Ionen Wolkens
2024-04-09 12:09 Ionen Wolkens
2024-04-06  3:37 Ionen Wolkens
2024-03-24 18:39 Ionen Wolkens
2024-03-24  4:24 Ionen Wolkens
2024-03-24  4:24 Ionen Wolkens
2024-03-22 12:31 Ionen Wolkens
2024-03-10 13:09 Ionen Wolkens
2024-03-05  6:03 Ionen Wolkens
2024-03-05  6:03 Ionen Wolkens
2024-03-05  6:03 Ionen Wolkens
2024-02-27  0:51 Ionen Wolkens
2024-02-27  0:51 Ionen Wolkens
2024-02-25  1:19 Ionen Wolkens
2024-02-16 10:51 Ionen Wolkens
2024-02-11  5:40 Ionen Wolkens
2024-01-27  7:46 Ionen Wolkens
2024-01-17 18:47 Ionen Wolkens
2024-01-17 16:20 Ionen Wolkens
2024-01-16 22:28 Ionen Wolkens
2024-01-16 22:28 Ionen Wolkens
2024-01-16 22:28 Ionen Wolkens
2024-01-13 13:11 Ionen Wolkens
2024-01-08 12:59 Ionen Wolkens
2024-01-04 18:06 Ionen Wolkens
2024-01-04 14:10 Ionen Wolkens
2023-12-08  8:50 Ionen Wolkens
2023-11-25  7:31 Ionen Wolkens
2023-11-25  7:31 Ionen Wolkens
2023-11-15  5:55 Ionen Wolkens
2023-11-11 21:21 Ionen Wolkens
2023-10-30  6:26 Ionen Wolkens
2023-10-30  6:26 Ionen Wolkens
2023-10-24 22:11 Ionen Wolkens
2023-10-15  3:01 Ionen Wolkens
2023-10-14  3:32 Ionen Wolkens
2023-10-10 20:20 Ionen Wolkens
2023-10-02 13:10 Ionen Wolkens
2023-10-02  4:50 Ionen Wolkens
2023-09-30 11:22 Ionen Wolkens
2023-09-17  4:26 Ionen Wolkens
2023-09-17  4:26 Ionen Wolkens
2023-09-02 14:32 Ionen Wolkens
2023-08-28 12:19 Ionen Wolkens
2023-08-21 11:03 Ionen Wolkens
2023-08-14 16:39 Ionen Wolkens
2023-08-14 16:39 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 22:14 Ionen Wolkens
2023-08-10 19:28 Ionen Wolkens
2023-08-10 12:44 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-10 10:53 Ionen Wolkens
2023-08-06  4:32 Ionen Wolkens
2023-07-23 16:57 Ionen Wolkens
2023-07-09  6:39 Ionen Wolkens
2023-07-09  6:39 Ionen Wolkens
2023-06-26 10:12 Ionen Wolkens
2023-06-25  6:06 Ionen Wolkens
2023-06-24 15:04 Ionen Wolkens
2023-06-24  4:56 Ionen Wolkens
2023-06-16  3:09 Ionen Wolkens
2023-06-11  8:29 Ionen Wolkens
2023-06-02  6:54 Ionen Wolkens
2023-05-29  0:38 Ionen Wolkens
2023-05-29  0:38 Ionen Wolkens
2023-05-26 21:53 Ionen Wolkens
2023-05-23 17:15 Ionen Wolkens
2023-05-23  2:52 Sam James
2023-05-19  8:17 Ionen Wolkens
2023-05-15  0:20 Ionen Wolkens
2023-05-15  0:20 Ionen Wolkens
2023-05-15  0:20 Ionen Wolkens
2023-05-13  8:08 Ionen Wolkens
2023-05-13  8:08 Ionen Wolkens
2023-05-01 11:17 Ionen Wolkens
2023-04-29  9:43 Ionen Wolkens
2023-04-29  9:43 Ionen Wolkens
2023-04-24  3:43 Ionen Wolkens
2023-04-22  6:53 Ionen Wolkens
2023-04-17  6:19 Ionen Wolkens
2023-04-11 12:03 Ionen Wolkens
2023-04-01  5:50 Ionen Wolkens
2023-04-01  5:50 Ionen Wolkens
2023-03-19  8:25 Ionen Wolkens
2023-03-16 21:55 Ionen Wolkens
2023-03-08 10:25 Ionen Wolkens
2023-03-05  9:26 Ionen Wolkens
2023-03-04 12:08 Ionen Wolkens
2023-02-23 10:01 Ionen Wolkens
2023-02-19  6:28 Ionen Wolkens
2023-02-19  6:28 Ionen Wolkens
2023-02-17 22:58 Ionen Wolkens
2023-02-13 11:46 Ionen Wolkens
2023-02-03 22:47 Ionen Wolkens
2023-02-03  0:13 Ionen Wolkens
2023-01-25  3:01 Ionen Wolkens
2023-01-21 21:48 Ionen Wolkens
2023-01-21 21:34 Ionen Wolkens
2022-12-06  1:15 Ionen Wolkens
2022-11-27 12:26 Ionen Wolkens
2022-11-27 12:26 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-19  8:13 Ionen Wolkens
2022-11-19  8:13 Ionen Wolkens
2022-11-16 18:57 Ionen Wolkens
2022-11-15 22:04 Ionen Wolkens
2022-11-13 16:15 Ionen Wolkens
2022-11-12  2:50 Ionen Wolkens
2022-11-01  3:15 Ionen Wolkens
2022-10-31  0:54 Ionen Wolkens
2022-10-26 10:13 Ionen Wolkens
2022-10-23  7:20 Ionen Wolkens
2022-10-20 13:34 Ionen Wolkens
2022-10-17  8:42 Ionen Wolkens
2022-10-17  8:42 Ionen Wolkens
2022-09-24  0:47 Ionen Wolkens
2022-09-14 23:11 Ionen Wolkens
2022-09-13 23:33 Nick Sarnie
2022-09-10  9:48 Ionen Wolkens
2022-09-10  9:48 Ionen Wolkens
2022-08-31 23:22 Nick Sarnie
2022-08-31 22:41 Nick Sarnie
2022-08-31 22:41 Nick Sarnie
2022-08-14 14:08 Nick Sarnie
2022-08-14 14:08 Nick Sarnie
2022-07-30 14:52 Nick Sarnie
2022-07-30 14:52 Nick Sarnie
2022-07-28 19:08 Nick Sarnie
2022-07-17 14:51 Nick Sarnie
2022-07-17 14:51 Nick Sarnie
2022-07-16 17:03 Ionen Wolkens
2022-07-03 15:16 Nick Sarnie
2022-07-03 15:16 Nick Sarnie
2022-06-18 13:56 Nick Sarnie
2022-06-18 13:56 Nick Sarnie
2022-06-04 15:25 Nick Sarnie
2022-06-04 15:25 Nick Sarnie
2022-05-24  1:09 Nick Sarnie
2022-05-21 19:05 Nick Sarnie
2022-05-21 19:05 Nick Sarnie
2022-05-21  4:09 Ionen Wolkens
2022-05-20 20:02 Ionen Wolkens
2022-05-20 20:02 Ionen Wolkens
2022-05-17  4:29 Sam James
2022-05-14 15:08 Nick Sarnie
2022-05-09 22:10 Nick Sarnie
2022-05-08 21:49 Nick Sarnie
2022-05-07 20:02 Nick Sarnie
2022-05-07 20:02 Nick Sarnie
2022-04-23 23:17 Nick Sarnie
2022-04-23 14:50 Nick Sarnie
2022-04-23 14:50 Nick Sarnie
2022-04-18 19:20 Nick Sarnie
2022-04-11  3:54 Nick Sarnie
2022-04-10 20:43 Nick Sarnie
2022-04-10 20:05 Nick Sarnie
2022-04-09 15:01 Nick Sarnie
2022-04-09 15:01 Nick Sarnie
2022-03-27 14:55 Nick Sarnie
2022-03-26  0:31 Nick Sarnie
2022-03-26  0:31 Nick Sarnie
2022-03-12  2:38 Nick Sarnie
2022-03-12  2:38 Nick Sarnie
2022-03-02  4:02 Sam James
2022-02-27  1:33 Nick Sarnie
2022-02-27  1:33 Nick Sarnie
2022-02-23  9:40 Jakov Smolić
2022-02-13 15:06 Nick Sarnie
2022-02-13 15:06 Nick Sarnie
2022-01-29  1:27 Nick Sarnie
2022-01-29  1:27 Nick Sarnie
2022-01-18 23:50 Nick Sarnie
2022-01-18 23:50 Nick Sarnie
2021-12-04 21:51 Nick Sarnie
2021-12-04 21:51 Nick Sarnie
2021-11-23  2:51 Nick Sarnie
2021-11-23  2:51 Nick Sarnie
2021-11-06 21:49 Nick Sarnie
2021-11-06 19:05 Nick Sarnie
2021-11-06 19:05 Nick Sarnie
2021-10-23 21:08 Nick Sarnie
2021-10-23 21:08 Nick Sarnie
2021-10-09 21:24 Nick Sarnie
2021-10-09 21:24 Nick Sarnie
2021-09-26  0:50 Nick Sarnie
2021-09-26  0:35 Nick Sarnie
2021-09-26  0:35 Nick Sarnie
2021-09-11  1:42 Nick Sarnie
2021-09-11  1:42 Nick Sarnie
2021-08-29  0:57 Nick Sarnie
2021-08-29  0:57 Nick Sarnie
2021-08-15 14:48 Nick Sarnie
2021-08-15 14:48 Nick Sarnie
2021-08-01  0:25 Nick Sarnie
2021-08-01  0:25 Nick Sarnie
2021-07-26 21:56 Conrad Kostecki
2021-07-22  2:29 Nick Sarnie
2021-07-22  2:29 Nick Sarnie
2021-07-12 18:09 Sergei Trofimovich
2021-07-04 17:50 Nick Sarnie
2021-07-04 17:50 Nick Sarnie
2021-06-20  1:11 Nick Sarnie
2021-06-20  1:11 Nick Sarnie
2021-06-05 15:57 Nick Sarnie
2021-06-05 15:57 Nick Sarnie
2021-05-23 15:01 Nick Sarnie
2021-05-23 15:01 Nick Sarnie
2021-05-08 14:49 Nick Sarnie
2021-05-08 14:49 Nick Sarnie
2021-05-04 19:23 Sam James
2021-04-24 20:59 Nick Sarnie
2021-04-24 20:59 Nick Sarnie
2021-04-11 17:16 Nick Sarnie
2021-04-11 17:16 Nick Sarnie
2021-04-04 18:52 Andreas Sturmlechner
2021-03-28 18:30 Nick Sarnie
2021-03-28 18:30 Nick Sarnie
2021-03-23 21:17 Nick Sarnie
2021-03-14 22:40 Nick Sarnie
2021-03-14 22:40 Nick Sarnie
2021-03-02  5:11 Nick Sarnie
2021-03-02  5:11 Nick Sarnie
2021-02-27 20:14 Nick Sarnie
2021-02-27 20:14 Nick Sarnie
2021-02-13 20:03 Nick Sarnie
2021-02-13 20:03 Nick Sarnie
2021-01-31 18:53 Nick Sarnie
2021-01-15 16:25 Nick Sarnie
2021-01-14 23:50 Nick Sarnie
2021-01-14 23:50 Nick Sarnie
2020-12-04  3:27 Nick Sarnie
2020-12-01 14:55 Nick Sarnie
2020-12-01 14:55 Nick Sarnie
2020-11-24  3:27 Nick Sarnie
2020-11-21 19:01 Nick Sarnie
2020-11-21 19:01 Nick Sarnie
2020-11-07  6:05 Nick Sarnie
2020-11-07  6:05 Nick Sarnie
2020-10-24  3:11 Nick Sarnie
2020-10-24  3:11 Nick Sarnie
2020-10-11 20:21 Nick Sarnie
2020-10-11 20:21 Nick Sarnie
2020-09-28  2:40 Nick Sarnie
2020-09-28  2:40 Nick Sarnie
2020-09-12 22:53 Nick Sarnie
2020-09-12 22:53 Nick Sarnie
2020-08-30 14:51 Nick Sarnie
2020-08-30 14:51 Nick Sarnie
2020-08-16 15:43 Nick Sarnie
2020-08-16  2:49 Nick Sarnie
2020-08-16  2:49 Nick Sarnie
2020-08-02 17:24 Nick Sarnie
2020-08-02 17:24 Nick Sarnie
2020-07-20  1:50 Nick Sarnie
2020-07-20  1:49 Nick Sarnie
2020-07-04 23:04 Nick Sarnie
2020-07-04 23:04 Nick Sarnie
2020-06-20  3:36 Nick Sarnie
2020-06-20  3:36 Nick Sarnie
2020-06-12  0:21 Nick Sarnie
2020-06-06 15:46 Nick Sarnie
2020-06-06 15:46 Nick Sarnie
2020-05-23 22:44 Nick Sarnie
2020-05-23 22:44 Nick Sarnie
2020-05-10  0:17 Nick Sarnie
2020-05-10  0:17 Nick Sarnie
2020-04-25 21:32 Nick Sarnie
2020-04-25 21:32 Nick Sarnie
2020-04-11 14:03 Nick Sarnie
2020-04-11  3:08 Nick Sarnie
2020-04-11  3:08 Nick Sarnie
2020-04-02  2:22 Nick Sarnie
2020-03-31  0:47 Nick Sarnie
2020-03-28 22:33 Nick Sarnie
2020-03-15 21:33 Nick Sarnie
2020-03-15 21:33 Nick Sarnie
2020-03-03  0:29 Nick Sarnie
2020-03-03  0:29 Nick Sarnie
2020-03-01  3:26 Nick Sarnie
2020-03-01  3:26 Nick Sarnie
2020-02-17 17:34 Nick Sarnie
2020-02-04  0:27 Nick Sarnie
2020-01-24  0:17 Nick Sarnie
2020-01-22  0:12 Nick Sarnie
2020-01-22  0:12 Nick Sarnie
2019-12-22 19:01 Nick Sarnie
2019-12-01 13:18 Nick Sarnie
2019-11-30 19:54 Nick Sarnie
2019-11-30 19:54 Nick Sarnie
2019-11-16 17:13 Nick Sarnie
2019-11-16 17:13 Nick Sarnie
2019-11-02 18:30 Nick Sarnie
2019-11-02 18:30 Nick Sarnie
2019-10-19 18:15 Nick Sarnie
2019-10-19 18:15 Nick Sarnie
2019-09-28 17:26 Nick Sarnie
2019-09-28 17:26 Nick Sarnie
2019-09-15  2:16 Nick Sarnie
2019-09-15  2:16 Nick Sarnie
2019-09-02 14:37 Nick Sarnie
2019-09-02 14:37 Nick Sarnie
2019-08-19 22:47 Nick Sarnie
2019-08-17 17:19 Nick Sarnie
2019-08-17 17:19 Nick Sarnie
2019-08-03 14:08 Nick Sarnie
2019-08-03 14:05 Nick Sarnie
2019-07-20 17:12 Nick Sarnie
2019-07-09  0:52 Nick Sarnie
2019-07-09  0:52 Nick Sarnie
2019-06-22 21:55 Nick Sarnie
2019-06-22 21:55 Nick Sarnie
2019-06-17 22:40 Nick Sarnie
2019-06-14  3:10 Nick Sarnie
2019-06-14  3:10 Nick Sarnie
2019-05-26  0:50 Nick Sarnie
2019-05-26  0:50 Nick Sarnie
2019-05-12 14:13 Nick Sarnie
2019-05-11 16:59 Nick Sarnie
2019-05-11 16:59 Nick Sarnie
2019-05-11 16:48 Nick Sarnie
2019-05-02 22:25 Nick Sarnie
2019-05-01 22:28 Nick Sarnie
2019-05-01  1:14 Nick Sarnie
2019-05-01  1:14 Nick Sarnie
2019-04-16  1:46 Nick Sarnie
2019-04-14 14:54 Nick Sarnie
2019-04-14 14:54 Nick Sarnie
2019-03-31 16:30 Nick Sarnie
2019-03-31 16:28 Nick Sarnie
2019-03-23 20:39 Nick Sarnie
2019-03-20 22:23 Nick Sarnie
2019-03-17 15:39 Nick Sarnie
2019-03-17 14:24 Nick Sarnie
2019-03-16 20:32 Nick Sarnie
2019-03-16 16:56 Nick Sarnie
2019-02-18 15:44 Nick Sarnie
2019-02-18 15:44 Nick Sarnie
2019-01-27 17:14 Nick Sarnie
2019-01-24  2:44 Nick Sarnie
2019-01-24  2:44 Nick Sarnie
2018-12-29 21:17 Nick Sarnie
2018-11-25 16:58 Nick Sarnie
2018-11-25 16:58 Nick Sarnie
2018-11-11 17:37 Nick Sarnie
2018-11-11 17:37 Nick Sarnie
2018-11-04 21:06 Nick Sarnie
2018-11-04 21:06 Nick Sarnie
2018-10-13 15:59 Nick Sarnie
2018-10-13 15:59 Nick Sarnie
2018-09-30 19:59 Nick Sarnie
2018-09-30 19:59 Nick Sarnie
2018-09-17  1:16 Nick Sarnie
2018-09-17  1:16 Nick Sarnie
2018-09-02 14:41 Nick Sarnie
2018-09-02 14:41 Nick Sarnie
2018-09-02  1:10 Nick Sarnie
2018-09-01 22:24 Nick Sarnie
2018-09-01 16:45 Nick Sarnie
2018-08-02  2:44 Nick Sarnie
2018-07-21 17:08 Nick Sarnie
2018-07-21 17:08 Nick Sarnie
2018-07-15 16:04 Nick Sarnie
2018-07-15 15:23 Nick Sarnie
2018-07-14  2:47 Nick Sarnie
2018-07-14  2:47 Nick Sarnie
2018-06-24 18:15 Nick Sarnie
2018-06-24 18:15 Nick Sarnie
2018-06-17 19:15 Nick Sarnie
2018-06-17 19:15 Nick Sarnie
2018-05-28 16:02 Nick Sarnie
2018-05-27 16:56 Nick Sarnie
2018-05-27 16:56 Nick Sarnie
2018-05-13 14:47 Nick Sarnie
2018-05-13 14:47 Nick Sarnie
2018-04-30  3:13 Nick Sarnie
2018-04-30  3:13 Nick Sarnie
2018-03-02  2:14 NP Hardass
2018-01-22 22:51 NP Hardass
2018-01-22 22:51 NP Hardass
2018-01-20  8:00 NP Hardass
2018-01-20  8:00 NP Hardass
2018-01-05 18:10 Ulrich Müller
2018-01-05 17:02 Ulrich Müller
2017-12-04  6:27 NP Hardass
2017-11-29  2:30 NP Hardass
2017-11-28 16:24 NP Hardass
2017-11-10 19:02 NP Hardass
2017-11-05  5:53 NP Hardass
2017-11-05  5:53 NP Hardass
2017-11-05  5:53 NP Hardass
2017-10-23 17:39 NP Hardass
2017-09-30 20:32 NP Hardass
2017-09-29  3:07 NP Hardass
2017-09-24 16:10 NP Hardass
2017-09-24 16:10 NP Hardass
2017-09-13 21:09 NP Hardass
2017-09-13 19:48 NP Hardass
2017-09-13 19:48 NP Hardass
2017-09-13 19:48 NP Hardass
2017-09-13 19:48 NP Hardass
2017-09-13 19:48 NP Hardass
2017-08-23 18:08 Michał Górny
2017-07-17 21:09 NP Hardass
2017-07-10  1:22 NP Hardass
2017-06-13 20:34 NP Hardass
2017-06-01  1:19 NP Hardass
2017-05-16 22:31 NP Hardass
2017-05-13  1:03 NP Hardass
2017-05-02 20:13 NP Hardass
2017-04-21  6:03 NP Hardass
2017-04-21  6:03 NP Hardass
2017-04-12  1:37 NP Hardass
2017-04-11 11:46 NP Hardass

Reply instructions:

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

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

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

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

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

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

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