summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2022-11-12 04:18:46 -0500
committerIonen Wolkens <ionen@gentoo.org>2022-11-12 06:15:58 -0500
commit43b8db18088b9ecf0d5b9c797dbcc113fabd9c47 (patch)
tree1581ffe47eeb92458cfb5836a3cb5d80887d286f /app-emulation
parentapp-emulation/wine-vanilla: sync live (diff)
downloadgentoo-43b8db18088b9ecf0d5b9c797dbcc113fabd9c47.tar.gz
gentoo-43b8db18088b9ecf0d5b9c797dbcc113fabd9c47.tar.bz2
gentoo-43b8db18088b9ecf0d5b9c797dbcc113fabd9c47.zip
app-emulation/wine-staging: sync live with vanilla
In preparation, wine-staging-7.21 has not been tagged yet. Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/wine-staging/files/wine-staging-7.21-crossflags.patch29
-rw-r--r--app-emulation/wine-staging/wine-staging-9999.ebuild26
2 files changed, 45 insertions, 10 deletions
diff --git a/app-emulation/wine-staging/files/wine-staging-7.21-crossflags.patch b/app-emulation/wine-staging/files/wine-staging-7.21-crossflags.patch
new file mode 100644
index 000000000000..bdf5aeefb5bf
--- /dev/null
+++ b/app-emulation/wine-staging/files/wine-staging-7.21-crossflags.patch
@@ -0,0 +1,29 @@
+Restore CROSSLDFLAGS and ensure tested flags are saved in
+{arch}_*FLAGS (e.g. -fno-strict-aliasing)
+
+quickfix, odds are this will be revamped upstream
+--- a/configure.ac
++++ b/configure.ac
+@@ -919,9 +919,9 @@
+ saved_CC=$CC
+ saved_CFLAGS=$CFLAGS
++ saved_LDFLAGS=$LDFLAGS
+
+ CFLAGS=${CROSSCFLAGS:-"-g -O2"}
++ LDFLAGS=${CROSSLDFLAGS:-}
+ AS_VAR_COPY([CC],[${wine_arch}_CC])
+- AS_VAR_COPY([${wine_arch}_CFLAGS],[CFLAGS])
+- AS_VAR_COPY([${wine_arch}_LDFLAGS],[LDFLAGS])
+ AS_VAR_SET([${wine_arch}_EXTRACFLAGS],["-D__WINE_PE_BUILD -Wall"])
+
+@@ -1052,6 +1052,10 @@
+ AS_VAR_APPEND([${wine_arch}_LDFLAGS],[" -Wl,--build-id"])])
+
++ AS_VAR_COPY([${wine_arch}_CFLAGS],[CFLAGS])
++ AS_VAR_COPY([${wine_arch}_LDFLAGS],[LDFLAGS])
++
+ CC=$saved_CC
+ CFLAGS=$saved_CFLAGS
++ LDFLAGS=$saved_LDFLAGS
+ done
+
diff --git a/app-emulation/wine-staging/wine-staging-9999.ebuild b/app-emulation/wine-staging/wine-staging-9999.ebuild
index 9ac0bc6e5297..a2cb290f769f 100644
--- a/app-emulation/wine-staging/wine-staging-9999.ebuild
+++ b/app-emulation/wine-staging/wine-staging-9999.ebuild
@@ -30,10 +30,10 @@ SLOT="${PV}"
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"
+ +gstreamer kerberos ldap +mingw +mono netapi nls odbc 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 )" # bug #551124 for truetype
@@ -84,7 +84,6 @@ WINE_COMMON_DEPEND="
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
)
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
- openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
@@ -118,7 +117,9 @@ BDEPEND="
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
- mingw? ( !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] ) )
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ ) )
nls? ( sys-devel/gettext )"
IDEPEND="app-eselect/eselect-wine"
@@ -127,6 +128,7 @@ 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}-7.21-crossflags.patch
)
pkg_pretend() {
@@ -223,7 +225,6 @@ src_configure() {
$(use_with mingw)
$(use_with netapi)
$(use_with nls gettext)
- $(use_with openal)
$(use_with opencl)
$(use_with opengl)
$(use_with osmesa)
@@ -259,8 +260,9 @@ src_configure() {
mkdir ../build${bits} || die
cd ../build${bits} || die
- # CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
+ 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
@@ -273,8 +275,12 @@ src_configure() {
fi
: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
- # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
if use mingw; then
+ # 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:=$(
filter-flags '-fstack-clash-protection' #758914
filter-flags '-fstack-protector*' #870136
@@ -283,7 +289,7 @@ src_configure() {
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
- export CROSS{CC,{C,LD}FLAGS}
+ export CROSS{C,LD}FLAGS
fi
ECONF_SOURCE=${S} econf "${conf[@]}"