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

commit:     f0f92185be83cc4b2b7e65675a256f95a10b19ce
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  9 14:57:20 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=f0f92185

app-emulation/wine-vanilla: sync live

Almost entirely different, so diff is not meaningful.
Identical to 7.17, but see wine-vanilla-7.0-r3 commit for details.

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

 .../wine-vanilla/wine-vanilla-9999.ebuild          | 568 ++++++++-------------
 1 file changed, 204 insertions(+), 364 deletions(-)

diff --git a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
index 1bb18ebe2ce5..a04742503154 100644
--- a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
+++ b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
@@ -1,476 +1,316 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
 
-PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
-PLOCALE_BACKUP="en"
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit autotools flag-o-matic multilib multilib-build toolchain-funcs wrapper
 
-inherit autotools estack flag-o-matic multilib-minimal pax-utils plocale toolchain-funcs virtualx wrapper xdg-utils
+WINE_GECKO=2.47.3
+WINE_MONO=7.3.0
 
-MY_PN="${PN%%-*}"
-MY_P="${MY_PN}-${PV}"
-GECKO_VERSION="2.47.3"
-
-if [[ ${PV} == "9999" ]] ; then
-	EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
-	EGIT_BRANCH="master"
+if [[ ${PV} == *9999 ]]; then
 	inherit git-r3
-	SRC_URI=""
-	#KEYWORDS=""
+	EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
 else
-	MAJOR_V=$(ver_cut 1)
-	SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
+	(( $(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-${PV}.tar.xz"
+	S="${WORKDIR}/wine-${PV}"
 	KEYWORDS="-* ~amd64 ~x86"
 fi
-S="${WORKDIR}/${MY_P}"
-
-GWP_V="20211122"
-PATCHDIR="${WORKDIR}/gentoo-wine-patches"
 
 DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
 HOMEPAGE="https://www.winehq.org/"
-SRC_URI="${SRC_URI}
-	https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
-"
 
-LICENSE="LGPL-2.1"
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
 SLOT="${PV}"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups custom-cflags dos +fontconfig +gecko gphoto2 gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind usb v4l vulkan +X +xcomposite xinerama"
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
+IUSE="
+	+X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+	llvm-libunwind debug custom-cflags +fontconfig +gecko gphoto2
+	+gstreamer kerberos ldap +mingw +mono netapi nls odbc openal
+	opencl +opengl osmesa pcap perl pulseaudio samba scanner +sdl
+	selinux +ssl +truetype udev udisks +unwind usb v4l +vulkan
+	+xcomposite xinerama"
+REQUIRED_USE="
 	X? ( truetype )
-	crossdev-mingw? ( mingw )
-	elibc_glibc? ( threads )
-	osmesa? ( opengl )
-	test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
+	crossdev-mingw? ( mingw )" # bug #551124 for truetype
 
-# FIXME: the test suite is unsuitable for us; many tests require net access
-# or fail due to Xvfb's opengl limitations.
+# 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"
 
-BDEPEND="sys-devel/flex
-	virtual/yacc
-	virtual/pkgconfig
-	mingw? ( !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] ) )"
-
-COMMON_DEPEND="
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
 	X? (
 		x11-libs/libXcursor[${MULTILIB_USEDEP}]
-		x11-libs/libXext[${MULTILIB_USEDEP}]
 		x11-libs/libXfixes[${MULTILIB_USEDEP}]
-		x11-libs/libXrandr[${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}]
+			osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+		)
+		xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+		xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
 	)
-	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
-	capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
-	cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
-	fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
-	gphoto2? (
-		media-libs/libgphoto2:=[${MULTILIB_USEDEP}]
-		media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}]
+	cups? ( net-print/cups[${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}] )
+	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+	vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+	${WINE_DLOPEN_DEPEND}
+	X? (
+		x11-libs/libX11[${MULTILIB_USEDEP}]
+		x11-libs/libXext[${MULTILIB_USEDEP}]
 	)
+	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+	gphoto2? ( media-libs/libgphoto2:=[${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}]
-		media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
 	)
-	kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
 	ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
-	netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
-	nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
-	odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
-	openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
 	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-	opengl? (
-		virtual/opengl[${MULTILIB_USEDEP}]
-	)
-	osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
 	pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
-	pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
-	scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
-	sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
-	ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
-	truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+	scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
 	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
-	udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
-	usb? ( virtual/libusb:1[${MULTILIB_USEDEP}]  )
-	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
-	vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
-	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
-	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-
-RDEPEND="${COMMON_DEPEND}
+	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
-	>app-eselect/eselect-wine-0.3
-	dos? ( >=games-emulation/dosbox-0.74_p20160629 )
-	gecko? ( app-emulation/wine-gecko:${GECKO_VERSION}[abi_x86_32?,abi_x86_64?] )
-	mono? ( app-emulation/wine-mono:7.3.0 )
+	dos? ( games-emulation/dosbox )
+	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-Simple
-	)
-	pulseaudio? (
-		realtime? ( sys-auth/rtkit )
+		dev-perl/XML-LibXML
 	)
-	samba? ( >=net-fs/samba-3.0.25[winbind] )
+	samba? ( net-fs/samba[winbind] )
 	selinux? ( sec-policy/selinux-wine )
 	udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+	${WINE_COMMON_DEPEND}
+	sys-kernel/linux-headers
+	X? ( x11-base/xorg-proto )"
+BDEPEND="
+	dev-lang/perl
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	mingw? ( !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] ) )
+	nls? ( sys-devel/gettext )"
+IDEPEND="app-eselect/eselect-wine"
 
-# tools/make_requests requires perl
-DEPEND="${COMMON_DEPEND}
-	${BDEPEND}
-	>=sys-kernel/linux-headers-2.6
-	X? ( x11-base/xorg-proto )
-	xinerama? ( x11-base/xorg-proto )"
-
-# These use a non-standard "Wine" category, which is provided by
-# /etc/xdg/applications-merged/wine.menu
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
-usr/share/applications/wine-notepad.desktop
-usr/share/applications/wine-uninstaller.desktop
-usr/share/applications/wine-winecfg.desktop"
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
 
 PATCHES=(
-	"${PATCHDIR}/patches/${MY_PN}-6.22-winegcc.patch" #260726
-	"${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
-	"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
+	"${FILESDIR}"/${PN}-7.0-llvm-libunwind.patch
+	"${FILESDIR}"/${PN}-7.0-noexecstack.patch
 )
-PATCHES_BIN=()
-
-# https://bugs.gentoo.org/show_bug.cgi?id=635222
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
-	DEPEND+=" dev-util/patchbin"
-fi
-
-wine_compiler_check() {
-	# Ensure compiler support
-	# (No checks here as of 2022)
-	return 0
-}
-
-wine_build_environment_check() {
-	[[ ${MERGE_TYPE} = "binary" ]] && return 0
-
-	if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
-		eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
-		eerror "See https://bugs.gentoo.org/487864 for more details."
-		eerror
-		return 1
-	fi
-}
-
-wine_env_vcs_vars() {
-	local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
-	local pn_live_val="${pn_live_var}"
-	eval pn_live_val='$'${pn_live_val}
-	if [[ ! -z ${EGIT_COMMIT} ]]; then
-		eerror "Commits must now be specified using the environmental variables"
-		eerror "EGIT_OVERRIDE_COMMIT_WINE"
-		eerror
-		return 1
-	fi
-}
 
 pkg_pretend() {
-	wine_build_environment_check || die
-
-	# Verify OSS support
-	if use oss; then
-		if ! has_version ">=media-sound/oss-4"; then
-			eerror "You cannot build wine with USE=oss without having support from"
-			eerror ">=media-sound/oss-4 (only available through external repos)"
-			eerror
-			die
-		fi
-	fi
+	[[ ${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
-			type -P ${mingw}-gcc && 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"
-			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"
+				die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+			fi
 		done
 	fi
 }
 
-pkg_setup() {
-	wine_build_environment_check || die
-	wine_env_vcs_vars || die
-
-	WINE_VARIANT="${PN#wine}-${PV}"
-	WINE_VARIANT="${WINE_VARIANT#-}"
-
-	MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
-	MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
-	MY_DATADIR="${MY_DATAROOTDIR}"
-	MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
-	MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
-	MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
-	MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
-	MY_MANDIR="${MY_DATADIR}/man"
-}
-
-src_unpack() {
-	if [[ ${PV} == "9999" ]] ; then
-		EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack
-	fi
-
-	default
-
-	plocale_find_changes "${S}/po" "" ".po"
-}
-
 src_prepare() {
-
-	eapply_bin(){
-		local patch
-		for patch in ${PATCHES_BIN[@]}; do
-			patchbin --nogit < "${patch}" || die
-		done
-	}
-
-	if use gecko; then
-		local source_gecko_version=$( sed -n -e '/^#define GECKO_VERSION/p' dlls/appwiz.cpl/addons.c | grep -Eo -m 1 '[0-9.]+' )
-		if [[ ${source_gecko_version} != ${GECKO_VERSION} ]] ; then
-			die "app-emulation/wine-gecko version is not correct! Please file a bug."
-		fi
+	# 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
 
-	local md5="$(md5sum server/protocol.def)"
-
 	default
-	eapply_bin
-	eautoreconf
-
-	# Modification of the server protocol requires regenerating the server requests
-	if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
-		einfo "server/protocol.def was patched; running tools/make_requests"
-		tools/make_requests || die #432348
-	fi
-	sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
-	if ! use run-exes; then
-		sed -i '/^MimeType/d' loader/wine.desktop || die #117785
-	fi
-
-	# Edit wine.desktop to work for specific variant
-	sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
-
-	# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
-	cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
-
-	plocale_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
-
-	# Fix manpage generation for locales #469418 and abi_x86_64 #617864
-
-	# Duplicate manpages input files for wine64
-	local f
-	for f in loader/*.man.in; do
-		cp ${f} ${f/wine/wine64} || die
-	done
-	# Add wine64 manpages to Makefile
-	if use abi_x86_64; then
-		sed -i "/wine.man.in/i \
-			\\\twine64.man.in \\\\" loader/Makefile.in || die
-		sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
-\164\2/' loader/Makefile.in || die
-	fi
 
-	rm_man_file(){
-		local file="${1}"
-		loc=${2}
-		sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
-	}
+	# ensure .desktop calls this variant + slot
+	sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
 
-	while read f; do
-		plocale_for_each_disabled_locale rm_man_file "${f}"
-	done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
+	# always update for patches (including user's wrt #432348)
+	eautoreconf
+	tools/make_requests || die # perl
 }
 
 src_configure() {
-	wine_compiler_check || die
-
-	export LDCONFIG=/bin/true
-	use custom-cflags || strip-flags
-	if use mingw; then
-		use crossdev-mingw || PATH="${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}"
-
-		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
-		local mingwcc=${CROSSCC:-$(usex x86 i686 x86_64)-w64-mingw32-gcc}
-		: "${CROSSCFLAGS:=$(CC=${mingwcc} test-flags-CC ${CFLAGS:--O2})}"
-		: "${CROSSLDFLAGS:=$(
-			filter-flags '-fuse-ld=*'
-			CC=${mingwcc} test-flags-CCLD ${LDFLAGS})}"
-		export CROSS{C,LD}FLAGS
-	fi
-
-	multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-	local myconf=(
-		--prefix="${MY_PREFIX}"
-		--datarootdir="${MY_DATAROOTDIR}"
-		--datadir="${MY_DATADIR}"
-		--docdir="${MY_DOCDIR}"
-		--includedir="${MY_INCLUDEDIR}"
-		--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
-		--libexecdir="${MY_LIBEXECDIR}"
-		--localstatedir="${MY_LOCALSTATEDIR}"
-		--mandir="${MY_MANDIR}"
-		--sysconfdir="${EPREFIX}/etc/wine"
+	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
+		$(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 udisks dbus)
 		$(use_with fontconfig)
-		$(use_with ssl gnutls)
-		$(use_enable gecko mshtml)
 		$(use_with gphoto2 gphoto)
 		$(use_with gstreamer)
-		--enable-hal
 		$(use_with kerberos gssapi)
 		$(use_with kerberos krb5)
 		$(use_with ldap)
-		# TODO: Will bug 685172 still need special handling?
 		$(use_with mingw)
-		$(use_enable mono mscoree)
 		$(use_with netapi)
 		$(use_with nls gettext)
 		$(use_with openal)
 		$(use_with opencl)
 		$(use_with opengl)
 		$(use_with osmesa)
-		$(use_with oss)
+		--without-oss # media-sound/oss is not packaged (OSSv4)
 		$(use_with pcap)
 		$(use_with pulseaudio pulse)
-		$(use_with threads pthread)
 		$(use_with scanner sane)
 		$(use_with sdl)
-		$(use_enable test tests)
+		$(use_with ssl gnutls)
 		$(use_with truetype freetype)
 		$(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 vulkan)
-		$(use_with X x)
-		$(use_with X xfixes)
 		$(use_with xcomposite)
 		$(use_with xinerama)
+		$(usev !odbc ac_cv_lib_soname_odbc=)
 	)
 
-	local PKG_CONFIG
-	# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
-	tc-export PKG_CONFIG
-
-	if use amd64; then
-		if [[ ${ABI} == amd64 ]]; then
-			myconf+=( --enable-win64 )
-		else
-			myconf+=( --disable-win64 )
+	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}}"
 
-		# Note: using --with-wine64 results in problems with multilib.eclass
-		# CC/LD hackery. We're using separate tools instead.
-	fi
-
-	ECONF_SOURCE=${S} \
-	econf "${myconf[@]}"
-	emake depend
-}
-
-multilib_src_test() {
-	# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
-	if [[ ${ABI} == x86 ]]; then
-		if [[ $(id -u) == 0 ]]; then
-			ewarn "Skipping tests since they cannot be run under the root user."
-			ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
-			return
+		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
+		if use mingw; then
+			: "${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}
 		fi
 
-		WINEPREFIX="${T}/.wine-${ABI}" \
-		virtx emake test
-	fi
+		ECONF_SOURCE=${S} econf "${conf[@]}"
+	)
+	done
 }
 
-multilib_src_install_all() {
-	local DOCS=( ANNOUNCE AUTHORS README )
-	add_locale_docs() {
-		local locale_doc="documentation/README.$1"
-		[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
-	}
-	plocale_for_each_locale add_locale_docs
-
-	einstalldocs
-	find "${ED}" -name *.la -delete || die
+src_compile() {
+	use abi_x86_64 && emake -C ../build64 # do first
+	use abi_x86_32 && emake -C ../build32
+}
 
-	if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
-		rm "${D%}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
-			"${D%}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
+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 abi_x86_32 && pax-mark psmr "${D%}${MY_PREFIX}"/bin/wine{,-preloader} #255055
-	use abi_x86_64 && pax-mark psmr "${D%}${MY_PREFIX}"/bin/wine64{,-preloader}
-
-	# Avoid double prefix from dosym and make_wrapper
-	MY_PREFIX=${MY_PREFIX#${EPREFIX}}
-
-	if use abi_x86_64 && ! use abi_x86_32; then
-		dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
-		dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
-	fi
+	use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+		"${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
 
-	# Failglob for binloops, shouldn't be necessary, but including to stay safe
-	eshopts_push -s failglob #615218
-	# Make wrappers for binaries for handling multiple variants
-	# Note: wrappers instead of symlinks because some are shell which use basename
-	local b
-	for b in "${ED%}${MY_PREFIX}"/bin/*; do
-		make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
+	# create variant wrappers for eselect-wine
+	local bin
+	for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+		make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
 	done
-	eshopts_pop
-}
 
-pkg_postinst() {
-	eselect wine register ${P}
-	if [[ ${PN} == "wine-vanilla" ]]; then
-		eselect wine register --vanilla ${P} || die
+	# don't let portage try to strip PE files with the wrong
+	# strip executable and instead handle it here (saves ~120MB)
+	if use mingw; then
+		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
 	fi
 
-	eselect wine update --all --if-unset || die
-
-	xdg_desktop_database_update
-
-	if ! use gecko; then
-		ewarn "Without Wine Gecko, wine prefixes will not have a default"
-		ewarn "implementation of iexplore.  Many older windows applications"
-		ewarn "rely upon the existence of an iexplore implementation, so"
-		ewarn "you will likely need to install an external one, like via winetricks"
-	fi
-	if ! use mono; then
-		ewarn "Without Wine Mono, wine prefixes will not have a default"
-		ewarn "implementation of .NET.  Many windows applications rely upon"
-		ewarn "the existence of a .NET implementation, so you will likely need"
-		ewarn "to install an external one, like via winetricks"
-	fi
+	dodoc ANNOUNCE AUTHORS README* documentation/README*
 }
 
-pkg_prerm() {
-	eselect wine deregister ${P}
-	if [[ ${PN} == "wine-vanilla" ]]; then
-		eselect wine deregister --vanilla ${P} || die
-	fi
+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}"
+}
 
-	eselect wine update --all --if-unset || die
+pkg_postinst() {
+	wine-eselect register
 }
 
-pkg_postrm() {
-	xdg_desktop_database_update
+pkg_prerm() {
+	nonfatal wine-eselect deregister
 }


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

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