Diff wine-proton-7.0.6 with a wine-proton-8.0.3c

/usr/portage/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild 2023-10-09 14:52:28.740368331 +0300
9 9
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
10 10

  
11 11
WINE_GECKO=2.47.3
12
WINE_MONO=7.4.0
12
WINE_MONO=7.4.1
13 13
WINE_PV=$(ver_rs 2 -)
14 14

  
15 15
if [[ ${PV} == *9999 ]]; then
......
25 25
DESCRIPTION="Valve Software's fork of Wine"
26 26
HOMEPAGE="https://github.com/ValveSoftware/wine/"
27 27

  
28
LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
28
LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
29 29
SLOT="${PV}"
30 30
IUSE="
31
	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
32
	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls openal
33
	osmesa perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb
34
	v4l +vkd3d +xcomposite xinerama"
31
	+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
32
	+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
33
	perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
34
	usb v4l +xcomposite xinerama"
35 35

  
36 36
# tests are non-trivial to run, can hang easily, don't play well with
37 37
# sandbox, and several need real opengl/vulkan or network access
......
60 60
	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
61 61
	xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
62 62
	xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
63
# gcc: for -latomic with clang
63 64
WINE_COMMON_DEPEND="
64 65
	${WINE_DLOPEN_DEPEND}
66
	sys-devel/gcc:*
65 67
	x11-libs/libX11[${MULTILIB_USEDEP}]
66 68
	x11-libs/libXext[${MULTILIB_USEDEP}]
67 69
	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
......
70 72
		media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
71 73
		media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
72 74
	)
73
	openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
74 75
	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
75 76
	udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
76 77
	unwind? (
77 78
		llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
78 79
		!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
79 80
	)
80
	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
81
	vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
81
	usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
82 82
RDEPEND="
83 83
	${WINE_COMMON_DEPEND}
84 84
	app-emulation/wine-desktop-common
......
116 116
	"${FILESDIR}"/${PN}-7.0.4-musl.patch
117 117
	"${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
118 118
	"${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
119
	"${FILESDIR}"/${PN}-7.0.4-unwind.patch
120
	"${FILESDIR}"/${PN}-7.0.6-mingw64-11.0.0.patch
119
	"${FILESDIR}"/${PN}-8.0.1c-unwind.patch
121 120
)
122 121

  
123 122
pkg_pretend() {
......
157 156
		# and it still gets used in install phase despite --with-mingw,
158 157
		# drop as a quick fix for now which hopefully should be safe
159 158
		sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
159

  
160
		# needed by Valve's fsync patches if using clang (undef atomic_load_8)
161
		sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
160 162
	fi
161 163

  
162 164
	# ensure .desktop calls this variant + slot
......
201 203
		--without-gphoto
202 204
		--without-gssapi
203 205
		--without-krb5
204
		--without-ldap
205 206
		--without-netapi
206 207
		--without-opencl
207 208
		--without-pcap
......
215 216
		$(use_with fontconfig)
216 217
		$(use_with gstreamer)
217 218
		$(use_with nls gettext)
218
		$(use_with openal)
219 219
		$(use_with osmesa)
220 220
		--without-oss # media-sound/oss is not packaged (OSSv4)
221 221
		$(use_with pulseaudio pulse)
......
226 226
		$(use_with unwind)
227 227
		$(use_with usb)
228 228
		$(use_with v4l v4l2)
229
		$(use_with vkd3d)
230 229
		$(use_with xcomposite)
231 230
		$(use_with xinerama)
232 231
	)
......
251 250
		mkdir ../build${bits} || die
252 251
		cd ../build${bits} || die
253 252

  
254
		# CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
253
		pe_arch=i386
255 254
		if (( bits == 64 )); then
255
			pe_arch=x86_64
256 256
			: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
257 257
			conf+=( --enable-win64 )
258 258
		elif use amd64; then
......
265 265
		fi
266 266
		: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
267 267

  
268
		# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
268
		# CROSSCC is no longer recognized by Wine, but still use for now
269
		# (future handling for CROSS* variables is subject to changes)
270
		conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
271

  
272
		# use *FLAGS for mingw, but strip unsupported
269 273
		: "${CROSSCFLAGS:=$(
274
			# >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
275
			# it should (can be removed when proton is rebased on >=8.10)
276
			append-cflags -fno-strict-aliasing
277

  
270 278
			filter-flags '-fstack-protector*' #870136
271 279
			filter-flags '-mfunction-return=thunk*' #878849
272 280

  
......
280 288
		: "${CROSSLDFLAGS:=$(
281 289
			filter-flags '-fuse-ld=*'
282 290
			CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
283
		export CROSS{CC,{C,LD}FLAGS}
291
		export CROSS{C,LD}FLAGS
284 292

  
285 293
		ECONF_SOURCE=${S} econf "${conf[@]}"
286 294
	)
......
321 329
	# don't let portage try to strip PE files with the wrong
322 330
	# strip executable and instead handle it here (saves ~120MB)
323 331
	dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
324
	use debug ||
332

  
333
	if use strip; then
334
		ebegin "Stripping Windows (PE) binaries"
325 335
		find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
326
			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
336
			-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
337
		eend ${?} || die
338
	fi
327 339

  
328 340
	dodoc ANNOUNCE AUTHORS README* documentation/README*
329 341
	readme.gentoo_create_doc
Thank you!