* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-09-10 9:48 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-09-10 9:48 UTC (permalink / raw
To: gentoo-commits
commit: 72553a083c0dd0d384b7ec922f4e20d357a9001a
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 9 01:34:49 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Sep 10 09:47:13 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=72553a08
app-emulation/wine-proton: misc ebuild adjustments
Mostly text/comment/style updates plus live support to match what
will be used in wine-staging/vanilla ebuilds rebased on this.
Also restrict tests, it was no-op but makes it more explicit that
they exists and we're not running them.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.4.ebuild | 61 ++++++++++++++--------
1 file changed, 38 insertions(+), 23 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
index b7bb3868a11a..9101a5f62172 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -12,20 +12,32 @@ WINE_GECKO=2.47.3
WINE_MONO=7.3.0
WINE_PV=$(ver_rs 2 -)
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
DESCRIPTION="Valve Software's fork of Wine"
HOMEPAGE="https://github.com/ValveSoftware/wine/"
-SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
-S="${WORKDIR}/${PN}-wine-${WINE_PV}"
LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
SLOT="${PV}"
-KEYWORDS="-* ~amd64 ~x86"
IUSE="
+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+fontconfig +gecko +gstreamer llvm-libunwind +mono nls openal
osmesa perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb
v4l +vkd3d +xcomposite xinerama"
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
WINE_DLOPEN_DEPEND="
dev-libs/gmp:=[${MULTILIB_USEDEP}]
dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
@@ -106,25 +118,29 @@ pkg_pretend() {
if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
local mingw=-w64-mingw32
for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
- type -P ${mingw}-gcc >/dev/null && continue
- eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
- eerror "yourself by installing sys-devel/crossdev then running:"
- eerror
- eerror " crossdev --target ${mingw}"
- eerror
- eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
- eerror "--> Note that mingw builds are default for ${PN} even without this USE."
- die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
done
fi
}
src_prepare() {
# sanity check, bumping these has a history of oversights
- local geckomono="$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
- dlls/appwiz.cpl/addons.c || die)"
- [[ ${WINE_GECKO}$'\n'${WINE_MONO} == "${geckomono}" ]] ||
- die "gecko/mono mismatch, has:" ${geckomono}
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
default
@@ -134,10 +150,10 @@ src_prepare() {
# similarly to staging, append to `wine --version` for identification
sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
- # source has outdated auto-generated files, update like Proton's Makefile
+ # always update for patches (including user's wrt #432348)
eautoreconf
tools/make_requests || die # perl
- dlls/winevulkan/make_vulkan -x vk.xml || die # python
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
}
src_configure() {
@@ -162,7 +178,6 @@ src_configure() {
# ...and disable most options unimportant for games and unused by
# Proton rather than expose as volatile USEs with little support
- --disable-tests # does not build and is disabled in Proton's Makefile
--without-capi
--without-cups
--without-gphoto
@@ -177,13 +192,14 @@ src_configure() {
$(use_enable gecko mshtml)
$(use_enable mono mscoree)
+ --disable-tests
$(use_with alsa)
$(use_with fontconfig)
$(use_with gstreamer)
$(use_with nls gettext)
$(use_with openal)
$(use_with osmesa)
- --without-oss # media-sound/oss is not packaged
+ --without-oss # media-sound/oss is not packaged (OSSv4)
$(use_with pulseaudio pulse)
$(use_with sdl)
$(use_with ssl gnutls)
@@ -220,7 +236,7 @@ src_configure() {
$(usev abi_x86_64 --with-wine64=../build64)
TARGETFLAGS=-m32 # for widl
)
- # _setup is optional, but use over Wine's auto-detect (+bug 472038)
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
multilib_toolchain_setup x86
fi
: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
@@ -262,8 +278,7 @@ src_install() {
use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
"${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
- # create variant wrappers for eselect-wine, quotes are
- # enough to prevent bug #615218 if it somehow happens
+ # create variant wrappers for eselect-wine
local bin
for bin in "${ED}"${WINE_PREFIX}/bin/*; do
make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-09-10 9:48 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-09-10 9:48 UTC (permalink / raw
To: gentoo-commits
commit: 6a3d944e75698d85244745c0f1a723a2e693dc7a
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 9 11:11:43 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Sep 10 09:47:14 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a3d944e
app-emulation/wine-proton: add 7.0.9999 (experimental_7.0)
Same as 7.0.4 ebuild except:
* depend on gst-plugins-base[opengl] (checked by configure.ac)
* wine-mono-7.3.0 -> 7.3.1
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
.../wine-proton/wine-proton-7.0.9999.ebuild | 319 +++++++++++++++++++++
1 file changed, 319 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
new file mode 100644
index 000000000000..ea37d6fbf06a
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -0,0 +1,319 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{8..11} )
+inherit autotools flag-o-matic multilib multilib-build \
+ python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.3.1
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls openal
+ osmesa perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb
+ v4l +vkd3d +xcomposite xinerama"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-1.2.2-r1"
+
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-llvm-libunwind.patch
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-ldap
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with openal)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vkd3d)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ tc-ld-force-bfd #867097
+ use custom-cflags || strip-flags # can break in obscure ways, also no lto
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # build using upstream's way (--with-wine64)
+ # order matters: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ # CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
+ if (( bits == 64 )); then
+ : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+ : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+ # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
+ : "${CROSSCFLAGS:=$(CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(
+ filter-flags '-fuse-ld=*'
+ CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{CC,{C,LD}FLAGS}
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # symlink for plain 'wine' and install its man pages if 64bit-only #404331
+ if use abi_x86_64 && use !abi_x86_32; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+ use debug ||
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+
+ dodoc ANNOUNCE AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+wine-eselect() {
+ ebegin "${1^}ing ${P} using eselect-wine"
+ eselect wine ${1} ${P} &&
+ eselect wine ${1} --${PN#wine-} ${P} &&
+ eselect wine update --if-unset &&
+ eselect wine update --${PN#wine-} --if-unset
+ eend ${?} || die -n "eselect failed, may need to manually handle ${P}"
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ wine-eselect register
+
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+}
+
+pkg_prerm() {
+ nonfatal wine-eselect deregister
+}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-09-14 23:11 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-09-14 23:11 UTC (permalink / raw
To: gentoo-commits
commit: 7151cb7165bc6e22ae5b1eb968e626cdd734e30e
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 14 22:29:36 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Sep 14 23:10:17 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7151cb71
app-emulation/wine-proton: filter ssp for mingw
Bug: https://bugs.gentoo.org/870136
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.4.ebuild | 4 +++-
app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
index 4d1b0a1aa939..069df0440aa8 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -242,7 +242,9 @@ src_configure() {
: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
- : "${CROSSCFLAGS:=$(CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSCFLAGS:=$(
+ filter-flags '-fstack-protector*' #870136
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 0df6fada339d..3e08621d9527 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -242,7 +242,9 @@ src_configure() {
: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
- : "${CROSSCFLAGS:=$(CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSCFLAGS:=$(
+ filter-flags '-fstack-protector*' #870136
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-10-23 7:20 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-10-23 7:20 UTC (permalink / raw
To: gentoo-commits
commit: f73fa3368e506eb6ee5bfafb73c3d10bee4a012b
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 23 07:15:28 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Oct 23 07:20:04 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f73fa336
app-emulation/wine-proton: filter -fstack-clash-protection
Bug: https://bugs.gentoo.org/758914
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.4.ebuild | 1 +
app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 1 +
2 files changed, 2 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
index 069df0440aa8..c1cd2ca3a3e2 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -243,6 +243,7 @@ src_configure() {
# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
: "${CROSSCFLAGS:=$(
+ filter-flags '-fstack-clash-protection' #758914
filter-flags '-fstack-protector*' #870136
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 3e08621d9527..4e9166072474 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -243,6 +243,7 @@ src_configure() {
# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
: "${CROSSCFLAGS:=$(
+ filter-flags '-fstack-clash-protection' #758914
filter-flags '-fstack-protector*' #870136
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-10-31 0:54 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-10-31 0:54 UTC (permalink / raw
To: gentoo-commits
commit: 27d7f4a53d3a3050ba26b7bee12e24a8210edf12
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 31 00:45:35 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Oct 31 00:47:50 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27d7f4a5
app-emulation/wine-proton: filter -mfunction-return=thunk for mingw
Unfortunately mingw doesn't play well with many security/mitigation
flags. May need to consider a mingw.eclass if keep adding more of
these to every ebuilds using it.
Bug: https://bugs.gentoo.org/878849
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.4.ebuild | 1 +
app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 1 +
2 files changed, 2 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
index c1cd2ca3a3e2..b266c555dfea 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -245,6 +245,7 @@ src_configure() {
: "${CROSSCFLAGS:=$(
filter-flags '-fstack-clash-protection' #758914
filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 4e9166072474..93b08c4d0bfd 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -245,6 +245,7 @@ src_configure() {
: "${CROSSCFLAGS:=$(
filter-flags '-fstack-clash-protection' #758914
filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-11-12 2:50 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-11-12 2:50 UTC (permalink / raw
To: gentoo-commits
commit: fcdfbd6877cf396c503f78d59fa1579e9ca31ab4
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 12 02:00:24 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Nov 12 02:49:50 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fcdfbd68
app-emulation/wine-proton: skip deregister for rebuilds
Not ideal given still doesn't handle the issue where variant can be
switched rather than pick same-variant+new-version. Not to mention it
further increase chances of register mismatch as it cannot update
itself into a clean state (requires eselect-wine rewrite).
Closes: https://bugs.gentoo.org/881035
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.4.ebuild | 4 +++-
app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
index b266c555dfea..dcb70f280da0 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -319,5 +319,7 @@ pkg_postinst() {
}
pkg_prerm() {
- nonfatal wine-eselect deregister
+ if [[ ${REPLACED_BY_VERSION%-r*} != ${PV} ]]; then #881035
+ nonfatal wine-eselect deregister
+ fi
}
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 93b08c4d0bfd..f97da826ab6c 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -319,5 +319,7 @@ pkg_postinst() {
}
pkg_prerm() {
- nonfatal wine-eselect deregister
+ if [[ ${REPLACED_BY_VERSION%-r*} != ${PV} ]]; then #881035
+ nonfatal wine-eselect deregister
+ fi
}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-11-17 14:58 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-11-17 14:58 UTC (permalink / raw
To: gentoo-commits
commit: fce12026915731c51ac2828ffebf86e18a75b539
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 17 12:13:51 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Nov 17 13:46:40 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fce12026
app-emulation/wine-proton: bump mono in live
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index f97da826ab6c..6206f63f753b 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build \
python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.3
-WINE_MONO=7.3.1
+WINE_MONO=7.4.0
WINE_PV=$(ver_rs 2 -)
if [[ ${PV} == *9999 ]]; then
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-11-23 20:39 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-11-23 20:39 UTC (permalink / raw
To: gentoo-commits
commit: e733c4970185fb37791f35972fcbd21313d0f117
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 23 17:57:14 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 23 20:38:22 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e733c497
app-emulation/wine-proton: add 7.0.5
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 +
app-emulation/wine-proton/wine-proton-7.0.5.ebuild | 314 +++++++++++++++++++++
2 files changed, 315 insertions(+)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 69394f0077a5..9a39363fd8f3 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1 +1,2 @@
DIST proton-wine-7.0-4.tar.gz 45561670 BLAKE2B 0bc3432e5aa9ca1655e76b31dcbef08febe263e07d3635d005fbc7798b3a08fa50e2e736f33b18700f187dc755f012d7e8ae3edae6a63fb433cd9b8861b747b0 SHA512 dccdf4115e2a7c92981163783f5705e78fbfa042f06123e4802251bd2c558e8b4de7e3d2e114a5d942f9493eb64fb7fdedff2e6e8b3f21ea1de1156456930d8c
+DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
new file mode 100644
index 000000000000..18b14fa69ee3
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -0,0 +1,314 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{8..11} )
+inherit autotools flag-o-matic multilib multilib-build \
+ python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.3.1
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls openal
+ osmesa perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb
+ v4l +vkd3d +xcomposite xinerama"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
+ "${FILESDIR}"/${PN}-7.0.4-unwind.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-ldap
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with openal)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vkd3d)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ tc-ld-force-bfd #867097
+ use custom-cflags || strip-flags # can break in obscure ways, also no lto
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # build using upstream's way (--with-wine64)
+ # order matters: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ # CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
+ if (( bits == 64 )); then
+ : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+ : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+ # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
+ : "${CROSSCFLAGS:=$(
+ filter-flags '-fstack-clash-protection' #758914
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(
+ filter-flags '-fuse-ld=*'
+ CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{CC,{C,LD}FLAGS}
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # symlink for plain 'wine' and install its man pages if 64bit-only #404331
+ if use abi_x86_64 && use !abi_x86_32; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+ use debug ||
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+
+ dodoc ANNOUNCE AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-11-23 20:39 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-11-23 20:39 UTC (permalink / raw
To: gentoo-commits
commit: bbe6f606d4b0bb181c537d1008da601268b3f596
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 23 17:26:50 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 23 20:38:21 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbe6f606
app-emulation/wine-proton: migrate to eselect-wine-2
While >=eselect-wine-2 does not need ebuild modifications to
work thanks to compat code, downgrading it does not work nicely
given Wine slots won't be "registered" anymore (requires doing
it manually, or re-emerging wine). So cleanup now and force
IDEPEND on newer to help prevent mishaps.
The replace check, nonfatal, registering, etc... is no longer
necessary. prerm -> postrm is intended, prerm still works but
relies on hacks to do so and should be avoided.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.4.ebuild | 21 +++++----------------
.../wine-proton/wine-proton-7.0.9999.ebuild | 21 +++++----------------
2 files changed, 10 insertions(+), 32 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
index dcb70f280da0..bf0f5280395f 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -101,7 +101,7 @@ BDEPEND="
virtual/pkgconfig
nls? ( sys-devel/gettext )
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-1.2.2-r1"
+IDEPEND=">=app-eselect/eselect-wine-2"
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
@@ -299,27 +299,16 @@ src_install() {
readme.gentoo_create_doc
}
-wine-eselect() {
- ebegin "${1^}ing ${P} using eselect-wine"
- eselect wine ${1} ${P} &&
- eselect wine ${1} --${PN#wine-} ${P} &&
- eselect wine update --if-unset &&
- eselect wine update --${PN#wine-} --if-unset
- eend ${?} || die -n "eselect failed, may need to manually handle ${P}"
-}
-
pkg_preinst() {
has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
}
pkg_postinst() {
- wine-eselect register
-
[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ eselect wine update --if-unset || die
}
-pkg_prerm() {
- if [[ ${REPLACED_BY_VERSION%-r*} != ${PV} ]]; then #881035
- nonfatal wine-eselect deregister
- fi
+pkg_postrm() {
+ eselect wine update --if-unset || die
}
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 6206f63f753b..934259b7c815 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -101,7 +101,7 @@ BDEPEND="
virtual/pkgconfig
nls? ( sys-devel/gettext )
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-1.2.2-r1"
+IDEPEND=">=app-eselect/eselect-wine-2"
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
@@ -299,27 +299,16 @@ src_install() {
readme.gentoo_create_doc
}
-wine-eselect() {
- ebegin "${1^}ing ${P} using eselect-wine"
- eselect wine ${1} ${P} &&
- eselect wine ${1} --${PN#wine-} ${P} &&
- eselect wine update --if-unset &&
- eselect wine update --${PN#wine-} --if-unset
- eend ${?} || die -n "eselect failed, may need to manually handle ${P}"
-}
-
pkg_preinst() {
has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
}
pkg_postinst() {
- wine-eselect register
-
[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ eselect wine update --if-unset || die
}
-pkg_prerm() {
- if [[ ${REPLACED_BY_VERSION%-r*} != ${PV} ]]; then #881035
- nonfatal wine-eselect deregister
- fi
+pkg_postrm() {
+ eselect wine update --if-unset || die
}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-11-23 22:38 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-11-23 22:38 UTC (permalink / raw
To: gentoo-commits
commit: 95c70598a2988a82b4eb8f4d850973d44d111bba
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 23 22:30:26 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 23 22:35:00 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95c70598
app-emulation/wine-proton: workaround for mold
Everything segfaults if built with either mold or lld, but
tc-ld-force-bfd (currently) ignores mold. Skipping revbump
given global mold usage is not widespread.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.4.ebuild | 5 +++++
app-emulation/wine-proton/wine-proton-7.0.5.ebuild | 5 +++++
app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 5 +++++
3 files changed, 15 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
index bf0f5280395f..37d03a663596 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -217,6 +217,11 @@ src_configure() {
use custom-cflags || strip-flags # can break in obscure ways, also no lto
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,-version) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
# build using upstream's way (--with-wine64)
# order matters: configure+compile 64->32, install 32->64
local -i bits
diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index 18b14fa69ee3..d2c30cd89d6b 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -217,6 +217,11 @@ src_configure() {
use custom-cflags || strip-flags # can break in obscure ways, also no lto
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,-version) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
# build using upstream's way (--with-wine64)
# order matters: configure+compile 64->32, install 32->64
local -i bits
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 934259b7c815..b2e69e68887a 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -217,6 +217,11 @@ src_configure() {
use custom-cflags || strip-flags # can break in obscure ways, also no lto
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,-version) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
# build using upstream's way (--with-wine64)
# order matters: configure+compile 64->32, install 32->64
local -i bits
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-11-23 22:51 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-11-23 22:51 UTC (permalink / raw
To: gentoo-commits
commit: ffb8a7a847a0f86c3fd2d70fe5663c9defc12aa0
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 23 22:51:03 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 23 22:51:16 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ffb8a7a8
app-emulation/wine-proton: bdepend on binutils
Due to tc-ld-force-bfd while binutils can possibly
be missing on llvm profiles.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.4.ebuild | 1 +
app-emulation/wine-proton/wine-proton-7.0.5.ebuild | 1 +
app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 1 +
3 files changed, 3 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
index 37d03a663596..3b01f3d095cf 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -96,6 +96,7 @@ DEPEND="
BDEPEND="
${PYTHON_DEPS}
dev-lang/perl
+ sys-devel/binutils
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index d2c30cd89d6b..82c464535ae9 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -96,6 +96,7 @@ DEPEND="
BDEPEND="
${PYTHON_DEPS}
dev-lang/perl
+ sys-devel/binutils
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index b2e69e68887a..eeb9741d6db0 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -96,6 +96,7 @@ DEPEND="
BDEPEND="
${PYTHON_DEPS}
dev-lang/perl
+ sys-devel/binutils
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-11-23 23:24 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-11-23 23:24 UTC (permalink / raw
To: gentoo-commits
commit: efbab0dad3aec302f311e6cf6809ff83ff727d9d
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 23 23:09:06 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 23 23:23:11 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=efbab0da
app-emulation/wine-proton: adjust mold workaround
-version worked fine but is not correct (typo), so replace it
(--version emits collect2 noise, so also add 2>/dev/null)
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.4.ebuild | 2 +-
app-emulation/wine-proton/wine-proton-7.0.5.ebuild | 2 +-
app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
index 3b01f3d095cf..031a67e02638 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -220,7 +220,7 @@ src_configure() {
# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
# https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,-version) == mold* ]] &&
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
append-ldflags -fuse-ld=bfd
# build using upstream's way (--with-wine64)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index 82c464535ae9..46cd54a51bd3 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -220,7 +220,7 @@ src_configure() {
# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
# https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,-version) == mold* ]] &&
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
append-ldflags -fuse-ld=bfd
# build using upstream's way (--with-wine64)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index eeb9741d6db0..7906e159577b 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -220,7 +220,7 @@ src_configure() {
# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
# https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,-version) == mold* ]] &&
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
append-ldflags -fuse-ld=bfd
# build using upstream's way (--with-wine64)
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-12-02 3:18 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-12-02 3:18 UTC (permalink / raw
To: gentoo-commits
commit: bc120361a5b2e15b14233af92762812e211896aa
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 1 16:31:39 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Dec 2 03:14:01 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc120361
app-emulation/wine-proton: stabilize 7.0.5 for amd64, x86
Little reasons to not keep a stable version, based on stable 7.0
and receives a lot of testing by Valve's Proton (through experimental
branches) before these releases are made.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.5.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index 46cd54a51bd3..4d70f3788362 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]]; then
else
SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
S="${WORKDIR}/${PN}-wine-${WINE_PV}"
- KEYWORDS="-* ~amd64 ~x86"
+ KEYWORDS="-* amd64 x86"
fi
DESCRIPTION="Valve Software's fork of Wine"
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-12-06 1:15 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-12-06 1:15 UTC (permalink / raw
To: gentoo-commits
commit: 9d5f3c6755843b12852410fd7c373bcd8cb4b6de
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 6 01:05:14 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Dec 6 01:14:38 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d5f3c67
app-emulation/wine-proton: filter-lto directly
Kinda popular and no reason to allow something that fails to build
even with USE=custom-cflags (that's more aimed at runtime fragility
than build failures here).
Could imagine -flto being "potentially" whitelisted by strip-flags
as it gain more support too.
In other wine variants, also filtering -fno-plt, but that only
affects USE=-mingw and in wine-proton mingw is forced.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.4.ebuild | 5 +++--
app-emulation/wine-proton/wine-proton-7.0.5.ebuild | 5 +++--
app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 5 +++--
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
index 031a67e02638..5ada081c523d 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
@@ -214,8 +214,9 @@ src_configure() {
$(use_with xinerama)
)
- tc-ld-force-bfd #867097
- use custom-cflags || strip-flags # can break in obscure ways, also no lto
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index 82c405523947..1367ead3bafa 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -214,8 +214,9 @@ src_configure() {
$(use_with xinerama)
)
- tc-ld-force-bfd #867097
- use custom-cflags || strip-flags # can break in obscure ways, also no lto
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 7906e159577b..5a543eb8a75b 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -214,8 +214,9 @@ src_configure() {
$(use_with xinerama)
)
- tc-ld-force-bfd #867097
- use custom-cflags || strip-flags # can break in obscure ways, also no lto
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2022-12-19 7:23 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2022-12-19 7:23 UTC (permalink / raw
To: gentoo-commits
commit: 736dc5a58e9e8bd26d47db9862ce56e8f6e7f7a8
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 19 06:21:33 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Dec 19 07:11:33 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=736dc5a5
app-emulation/wine-proton: drop 7.0.4
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 -
app-emulation/wine-proton/wine-proton-7.0.4.ebuild | 321 ---------------------
2 files changed, 322 deletions(-)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 9a39363fd8f3..0e4baa8ce1a2 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,2 +1 @@
-DIST proton-wine-7.0-4.tar.gz 45561670 BLAKE2B 0bc3432e5aa9ca1655e76b31dcbef08febe263e07d3635d005fbc7798b3a08fa50e2e736f33b18700f187dc755f012d7e8ae3edae6a63fb433cd9b8861b747b0 SHA512 dccdf4115e2a7c92981163783f5705e78fbfa042f06123e4802251bd2c558e8b4de7e3d2e114a5d942f9493eb64fb7fdedff2e6e8b3f21ea1de1156456930d8c
DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
diff --git a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild b/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
deleted file mode 100644
index 5ada081c523d..000000000000
--- a/app-emulation/wine-proton/wine-proton-7.0.4.ebuild
+++ /dev/null
@@ -1,321 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{8..11} )
-inherit autotools flag-o-matic multilib multilib-build \
- python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=7.3.0
-WINE_PV=$(ver_rs 2 -)
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
- EGIT_BRANCH="experimental_$(ver_cut 1-2)"
-else
- SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
- S="${WORKDIR}/${PN}-wine-${WINE_PV}"
- KEYWORDS="-* ~amd64 ~x86"
-fi
-
-DESCRIPTION="Valve Software's fork of Wine"
-HOMEPAGE="https://github.com/ValveSoftware/wine/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
- +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
- +fontconfig +gecko +gstreamer llvm-libunwind +mono nls openal
- osmesa perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb
- v4l +vkd3d +xcomposite xinerama"
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
- dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
- media-libs/freetype[${MULTILIB_USEDEP}]
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[${MULTILIB_USEDEP}]
- x11-libs/libXcursor[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/libXi[${MULTILIB_USEDEP}]
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-libs/libXrender[${MULTILIB_USEDEP}]
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
- fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
- osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- )
- openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
- pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
- !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
- )
- usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- sys-kernel/linux-headers
- x11-base/xorg-proto"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- sys-devel/binutils
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.0.4-musl.patch
- "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
- "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
- "${FILESDIR}"/${PN}-7.0.4-unwind.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local mingw=-w64-mingw32
- for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
- if ! type -P ${mingw}-gcc >/dev/null; then
- eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
- eerror "yourself by installing sys-devel/crossdev then running:"
- eerror
- eerror " crossdev --target ${mingw}"
- eerror
- eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
- eerror "--> Note that mingw builds are default for ${PN} even without this USE."
- die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
- fi
- done
- fi
-}
-
-src_prepare() {
- # sanity check, bumping these has a history of oversights
- local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
- dlls/appwiz.cpl/addons.c || die)
- if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
- local gmfatal=
- [[ ${PV} == *9999 ]] && gmfatal=nonfatal
- ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
- fi
-
- default
-
- # ensure .desktop calls this variant + slot
- sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
- # similarly to staging, append to `wine --version` for identification
- sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
- # always update for patches (including user's wrt #432348)
- eautoreconf
- tools/make_requests || die # perl
- dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-}
-
-src_configure() {
- WINE_PREFIX=/usr/lib/${P}
- WINE_DATADIR=/usr/share/${P}
-
- local conf=(
- --prefix="${EPREFIX}"${WINE_PREFIX}
- --datadir="${EPREFIX}"${WINE_DATADIR}
- --includedir="${EPREFIX}"/usr/include/${P}
- --libdir="${EPREFIX}"${WINE_PREFIX}
- --mandir="${EPREFIX}"${WINE_DATADIR}/man
-
- # upstream (Valve) doesn't really support misc configurations (e.g.
- # adds vulkan code not always guarded by --with-vulkan), so force
- # some major options that are typically needed by games either way
- --with-freetype
- --with-mingw # needed by many, notably Blizzard titles
- --with-opengl
- --with-vulkan
- --with-x
-
- # ...and disable most options unimportant for games and unused by
- # Proton rather than expose as volatile USEs with little support
- --without-capi
- --without-cups
- --without-gphoto
- --without-gssapi
- --without-krb5
- --without-ldap
- --without-netapi
- --without-opencl
- --without-pcap
- --without-sane
- ac_cv_lib_soname_odbc=
-
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- --disable-tests
- $(use_with alsa)
- $(use_with fontconfig)
- $(use_with gstreamer)
- $(use_with nls gettext)
- $(use_with openal)
- $(use_with osmesa)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pulseaudio pulse)
- $(use_with sdl)
- $(use_with ssl gnutls)
- $(use_with udev)
- $(use_with udisks dbus) # dbus is only used for udisks
- $(use_with unwind)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with vkd3d)
- $(use_with xcomposite)
- $(use_with xinerama)
- )
-
- tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
- filter-lto # build failure
- use custom-cflags || strip-flags # can break in obscure ways at runtime
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
- # https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
- append-ldflags -fuse-ld=bfd
-
- # build using upstream's way (--with-wine64)
- # order matters: configure+compile 64->32, install 32->64
- local -i bits
- for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
- (
- einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
-
- mkdir ../build${bits} || die
- cd ../build${bits} || die
-
- # CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
- if (( bits == 64 )); then
- : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
- conf+=( --enable-win64 )
- elif use amd64; then
- conf+=(
- $(usev abi_x86_64 --with-wine64=../build64)
- TARGETFLAGS=-m32 # for widl
- )
- # _setup is optional, but use over Wine's auto-detect (+#472038)
- multilib_toolchain_setup x86
- fi
- : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
- # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
- : "${CROSSCFLAGS:=$(
- filter-flags '-fstack-clash-protection' #758914
- filter-flags '-fstack-protector*' #870136
- filter-flags '-mfunction-return=thunk*' #878849
- CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
- : "${CROSSLDFLAGS:=$(
- filter-flags '-fuse-ld=*'
- CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
- export CROSS{CC,{C,LD}FLAGS}
-
- ECONF_SOURCE=${S} econf "${conf[@]}"
- )
- done
-}
-
-src_compile() {
- use abi_x86_64 && emake -C ../build64 # do first
- use abi_x86_32 && emake -C ../build32
-}
-
-src_install() {
- use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
- use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
-
- # symlink for plain 'wine' and install its man pages if 64bit-only #404331
- if use abi_x86_64 && use !abi_x86_32; then
- dosym wine64 ${WINE_PREFIX}/bin/wine
- dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
- local man
- for man in ../build64/loader/wine.*man; do
- : "${man##*/wine}"
- : "${_%.*}"
- insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
- newins ${man} wine.1
- done
- fi
-
- use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
- "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
-
- # create variant wrappers for eselect-wine
- local bin
- for bin in "${ED}"${WINE_PREFIX}/bin/*; do
- make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
- done
-
- # don't let portage try to strip PE files with the wrong
- # strip executable and instead handle it here (saves ~120MB)
- dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
- use debug ||
- find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
- -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
-
- dodoc ANNOUNCE AUTHORS README* documentation/README*
- readme.gentoo_create_doc
-}
-
-pkg_preinst() {
- has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
- [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
- eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
- eselect wine update --if-unset || die
-}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-02-03 19:49 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-02-03 19:49 UTC (permalink / raw
To: gentoo-commits
commit: 587a78d048fbb9116658c88d6ae3f86958cee9ce
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 3 19:16:14 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Feb 3 19:49:06 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=587a78d0
app-emulation/wine-proton: minor style nitpick
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.5.ebuild | 4 ++--
app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index 07870f389abe..1b2840143d98 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -5,8 +5,8 @@ EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
PYTHON_COMPAT=( python3_{9..11} )
-inherit autotools flag-o-matic multilib multilib-build \
- python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.3
WINE_MONO=7.3.1
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index d57544d5f001..ac7d38464311 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -5,8 +5,8 @@ EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
PYTHON_COMPAT=( python3_{9..11} )
-inherit autotools flag-o-matic multilib multilib-build \
- python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.3
WINE_MONO=7.4.0
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-02-03 19:49 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-02-03 19:49 UTC (permalink / raw
To: gentoo-commits
commit: f22d893aec1ab2871dc4a0c1a556ffcb017c18eb
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 3 19:16:54 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Feb 3 19:49:06 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f22d893a
app-emulation/wine-proton: add 7.0.6
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 +
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 321 +++++++++++++++++++++
2 files changed, 322 insertions(+)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 0e4baa8ce1a2..fe670f488183 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1 +1,2 @@
DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
+DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
new file mode 100644
index 000000000000..ac7d38464311
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -0,0 +1,321 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.4.0
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls openal
+ osmesa perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb
+ v4l +vkd3d +xcomposite xinerama"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/binutils
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
+ "${FILESDIR}"/${PN}-7.0.4-unwind.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-ldap
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with openal)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vkd3d)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
+ # build using upstream's way (--with-wine64)
+ # order matters: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ # CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
+ if (( bits == 64 )); then
+ : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+ : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+ # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
+ : "${CROSSCFLAGS:=$(
+ filter-flags '-fstack-clash-protection' #758914
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(
+ filter-flags '-fuse-ld=*'
+ CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{CC,{C,LD}FLAGS}
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # symlink for plain 'wine' and install its man pages if 64bit-only #404331
+ if use abi_x86_64 && use !abi_x86_32; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+ use debug ||
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+
+ dodoc ANNOUNCE AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-03-04 12:08 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-03-04 12:08 UTC (permalink / raw
To: gentoo-commits
commit: 2d98474afdcaaf0a0a697d86253e0eacc91d18a5
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 4 10:57:28 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Mar 4 12:06:26 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d98474a
app-emulation/wine-proton: skip QA for implicit res_getservers
Test is failing on error when it should.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.5.ebuild | 1 +
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 1 +
app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 1 +
3 files changed, 3 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index 1b2840143d98..e025c4683455 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -104,6 +104,7 @@ BDEPEND="
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
IDEPEND=">=app-eselect/eselect-wine-2"
+QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index ac7d38464311..453a7f39a5a8 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -104,6 +104,7 @@ BDEPEND="
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
IDEPEND=">=app-eselect/eselect-wine-2"
+QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index ac7d38464311..453a7f39a5a8 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -104,6 +104,7 @@ BDEPEND="
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
IDEPEND=">=app-eselect/eselect-wine-2"
+QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-03-08 10:25 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-03-08 10:25 UTC (permalink / raw
To: gentoo-commits
commit: 7347dcb8288f9aa65c5b0049bf64e7dae090b515
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 8 09:58:52 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Mar 8 10:03:18 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7347dcb8
app-emulation/wine-proton: skip QA for implicit __clear_cache too
Tests for a compiler builtin that is not declared by anything, however
we can lazily ignore it because __clear_cache is not used by wine on
amd64+x86 either way.
Closes: https://bugs.gentoo.org/900332
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.5.ebuild | 5 ++++-
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 5 ++++-
app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 5 ++++-
3 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index e025c4683455..afa0bed7c071 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -104,7 +104,10 @@ BDEPEND="
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
IDEPEND=">=app-eselect/eselect-wine-2"
-QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 453a7f39a5a8..fd2ff4ec13f1 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -104,7 +104,10 @@ BDEPEND="
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
IDEPEND=">=app-eselect/eselect-wine-2"
-QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 453a7f39a5a8..fd2ff4ec13f1 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -104,7 +104,10 @@ BDEPEND="
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
IDEPEND=">=app-eselect/eselect-wine-2"
-QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-04-17 20:45 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-04-17 20:45 UTC (permalink / raw
To: gentoo-commits
commit: 7689b3b1e7ee7896ca2183d8cb114a7f73f29909
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 17 20:23:00 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Apr 17 20:41:08 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7689b3b1
app-emulation/wine-proton: move gmp dep behind ssl
Noticed it's only used with gnutls, not worth revbumps.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 6 ++++--
app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 6 ++++--
app-emulation/wine-proton/wine-proton-8.0.1c.ebuild | 6 ++++--
3 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index fd2ff4ec13f1..6cb4c973b3db 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -39,7 +39,6 @@ RESTRICT="test"
# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
WINE_DLOPEN_DEPEND="
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
media-libs/freetype[${MULTILIB_USEDEP}]
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
@@ -53,7 +52,10 @@ WINE_DLOPEN_DEPEND="
fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index fd2ff4ec13f1..6cb4c973b3db 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -39,7 +39,6 @@ RESTRICT="test"
# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
WINE_DLOPEN_DEPEND="
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
media-libs/freetype[${MULTILIB_USEDEP}]
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
@@ -53,7 +52,10 @@ WINE_DLOPEN_DEPEND="
fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
diff --git a/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild
index fa038b8fb9b6..e514971ce399 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild
@@ -39,7 +39,6 @@ RESTRICT="test"
# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
WINE_DLOPEN_DEPEND="
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
media-libs/freetype[${MULTILIB_USEDEP}]
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
@@ -53,7 +52,10 @@ WINE_DLOPEN_DEPEND="
fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-04-19 4:36 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-04-19 4:36 UTC (permalink / raw
To: gentoo-commits
commit: b9da76f200327316c3fce8f13b5b1499f5ba1f37
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 19 04:17:10 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Apr 19 04:35:44 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b9da76f2
app-emulation/wine-proton: add 8.0.1d
Hopefully these letter releases aren't frequent, may need to
review how handle releases otherwise given not the fastest thing
to build.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 +
.../wine-proton/wine-proton-8.0.1d.ebuild | 329 +++++++++++++++++++++
2 files changed, 330 insertions(+)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 0829b760d5f8..89ba8ea63c86 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,4 @@
DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
DIST proton-wine-8.0-1c.tar.gz 48204851 BLAKE2B 5a746cf4d10e605ce30e93a5116e73c4ae893a6ccb105984afa3e65e0ec64780ca58462fe5fc89e51aef0499fdc52be9756254878d8f7f28160a1cf4ed0ee3a9 SHA512 67dbd73287409aaecd5cfab29f79ddf455bbbd25e79289c66828bd4f0fac3003e68afe3e65ea39e18e2390b825342a52285c4be1368928606628b72a274b5456
+DIST proton-wine-8.0-1d.tar.gz 48198535 BLAKE2B 7ed7c4130d4c74d3f411880d253727469cbdaa78943b7783f3d2162177072503bffd588ba3c6c147014ce4e422850cb49e83c2d2d807777fcd01c101199f922d SHA512 4a5a2a2753f8fd025f8c0fe56341a67ed780befc8ae9bffe03872019d4227ec8324edf892c327b99330c3de29a3b8adaac656b41d3487de03a8a82cef9234da7
diff --git a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
new file mode 100644
index 000000000000..e514971ce399
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
@@ -0,0 +1,329 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.4.1
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+ perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
+ +xcomposite xinerama"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/binutils
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
+ "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
+ # build using upstream's way (--with-wine64)
+ # order matters: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ pe_arch=i386
+ if (( bits == 64 )); then
+ pe_arch=x86_64
+ : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+ : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+ # CROSSCC is no longer recognized by Wine, but still use for now
+ # (future handling for CROSS* variables is subject to changes)
+ conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+ # use *FLAGS for mingw, but strip unsupported
+ : "${CROSSCFLAGS:=$(
+ # >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
+ append-cflags '-fno-strict-aliasing'
+ filter-flags '-fstack-clash-protection' #758914
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(
+ filter-flags '-fuse-ld=*'
+ CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{C,LD}FLAGS
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # symlink for plain 'wine' and install its man pages if 64bit-only #404331
+ if use abi_x86_64 && use !abi_x86_32; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+ use debug ||
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+
+ dodoc ANNOUNCE AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-04-24 3:43 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-04-24 3:43 UTC (permalink / raw
To: gentoo-commits
commit: b38308e4b7e125a6de0c11eb5607f455eb3fa835
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 24 03:05:52 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Apr 24 03:18:44 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b38308e4
app-emulation/wine-proton: drop 8.0.1c
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 -
.../wine-proton/wine-proton-8.0.1c.ebuild | 329 ---------------------
2 files changed, 330 deletions(-)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 89ba8ea63c86..d3e84dafc3f4 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,4 +1,3 @@
DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
-DIST proton-wine-8.0-1c.tar.gz 48204851 BLAKE2B 5a746cf4d10e605ce30e93a5116e73c4ae893a6ccb105984afa3e65e0ec64780ca58462fe5fc89e51aef0499fdc52be9756254878d8f7f28160a1cf4ed0ee3a9 SHA512 67dbd73287409aaecd5cfab29f79ddf455bbbd25e79289c66828bd4f0fac3003e68afe3e65ea39e18e2390b825342a52285c4be1368928606628b72a274b5456
DIST proton-wine-8.0-1d.tar.gz 48198535 BLAKE2B 7ed7c4130d4c74d3f411880d253727469cbdaa78943b7783f3d2162177072503bffd588ba3c6c147014ce4e422850cb49e83c2d2d807777fcd01c101199f922d SHA512 4a5a2a2753f8fd025f8c0fe56341a67ed780befc8ae9bffe03872019d4227ec8324edf892c327b99330c3de29a3b8adaac656b41d3487de03a8a82cef9234da7
diff --git a/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild
deleted file mode 100644
index e514971ce399..000000000000
--- a/app-emulation/wine-proton/wine-proton-8.0.1c.ebuild
+++ /dev/null
@@ -1,329 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{9..11} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=7.4.1
-WINE_PV=$(ver_rs 2 -)
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
- EGIT_BRANCH="experimental_$(ver_cut 1-2)"
-else
- SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
- S="${WORKDIR}/${PN}-wine-${WINE_PV}"
- KEYWORDS="-* ~amd64 ~x86"
-fi
-
-DESCRIPTION="Valve Software's fork of Wine"
-HOMEPAGE="https://github.com/ValveSoftware/wine/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
- +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
- +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
- perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
- +xcomposite xinerama"
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
- media-libs/freetype[${MULTILIB_USEDEP}]
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[${MULTILIB_USEDEP}]
- x11-libs/libXcursor[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/libXi[${MULTILIB_USEDEP}]
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-libs/libXrender[${MULTILIB_USEDEP}]
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
- fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
- osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? (
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
- net-libs/gnutls:=[${MULTILIB_USEDEP}]
- )
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- )
- pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
- !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
- )
- usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- sys-kernel/linux-headers
- x11-base/xorg-proto"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- sys-devel/binutils
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- __clear_cache # unused on amd64+x86 (bug #900332)
- res_getservers # false positive
-)
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.0.4-musl.patch
- "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
- "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
- "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local mingw=-w64-mingw32
- for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
- if ! type -P ${mingw}-gcc >/dev/null; then
- eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
- eerror "yourself by installing sys-devel/crossdev then running:"
- eerror
- eerror " crossdev --target ${mingw}"
- eerror
- eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
- eerror "--> Note that mingw builds are default for ${PN} even without this USE."
- die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
- fi
- done
- fi
-}
-
-src_prepare() {
- # sanity check, bumping these has a history of oversights
- local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
- dlls/appwiz.cpl/addons.c || die)
- if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
- local gmfatal=
- [[ ${PV} == *9999 ]] && gmfatal=nonfatal
- ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
- fi
-
- default
-
- # ensure .desktop calls this variant + slot
- sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
- # similarly to staging, append to `wine --version` for identification
- sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
- # always update for patches (including user's wrt #432348)
- eautoreconf
- tools/make_requests || die # perl
- dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-}
-
-src_configure() {
- WINE_PREFIX=/usr/lib/${P}
- WINE_DATADIR=/usr/share/${P}
-
- local conf=(
- --prefix="${EPREFIX}"${WINE_PREFIX}
- --datadir="${EPREFIX}"${WINE_DATADIR}
- --includedir="${EPREFIX}"/usr/include/${P}
- --libdir="${EPREFIX}"${WINE_PREFIX}
- --mandir="${EPREFIX}"${WINE_DATADIR}/man
-
- # upstream (Valve) doesn't really support misc configurations (e.g.
- # adds vulkan code not always guarded by --with-vulkan), so force
- # some major options that are typically needed by games either way
- --with-freetype
- --with-mingw # needed by many, notably Blizzard titles
- --with-opengl
- --with-vulkan
- --with-x
-
- # ...and disable most options unimportant for games and unused by
- # Proton rather than expose as volatile USEs with little support
- --without-capi
- --without-cups
- --without-gphoto
- --without-gssapi
- --without-krb5
- --without-netapi
- --without-opencl
- --without-pcap
- --without-sane
- ac_cv_lib_soname_odbc=
-
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- --disable-tests
- $(use_with alsa)
- $(use_with fontconfig)
- $(use_with gstreamer)
- $(use_with nls gettext)
- $(use_with osmesa)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pulseaudio pulse)
- $(use_with sdl)
- $(use_with ssl gnutls)
- $(use_with udev)
- $(use_with udisks dbus) # dbus is only used for udisks
- $(use_with unwind)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with xcomposite)
- $(use_with xinerama)
- )
-
- tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
- filter-lto # build failure
- use custom-cflags || strip-flags # can break in obscure ways at runtime
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
- # https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
- append-ldflags -fuse-ld=bfd
-
- # build using upstream's way (--with-wine64)
- # order matters: configure+compile 64->32, install 32->64
- local -i bits
- for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
- (
- einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
-
- mkdir ../build${bits} || die
- cd ../build${bits} || die
-
- pe_arch=i386
- if (( bits == 64 )); then
- pe_arch=x86_64
- : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
- conf+=( --enable-win64 )
- elif use amd64; then
- conf+=(
- $(usev abi_x86_64 --with-wine64=../build64)
- TARGETFLAGS=-m32 # for widl
- )
- # _setup is optional, but use over Wine's auto-detect (+#472038)
- multilib_toolchain_setup x86
- fi
- : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
- # CROSSCC is no longer recognized by Wine, but still use for now
- # (future handling for CROSS* variables is subject to changes)
- conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
-
- # use *FLAGS for mingw, but strip unsupported
- : "${CROSSCFLAGS:=$(
- # >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
- append-cflags '-fno-strict-aliasing'
- filter-flags '-fstack-clash-protection' #758914
- filter-flags '-fstack-protector*' #870136
- filter-flags '-mfunction-return=thunk*' #878849
- CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
- : "${CROSSLDFLAGS:=$(
- filter-flags '-fuse-ld=*'
- CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
- export CROSS{C,LD}FLAGS
-
- ECONF_SOURCE=${S} econf "${conf[@]}"
- )
- done
-}
-
-src_compile() {
- use abi_x86_64 && emake -C ../build64 # do first
- use abi_x86_32 && emake -C ../build32
-}
-
-src_install() {
- use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
- use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
-
- # symlink for plain 'wine' and install its man pages if 64bit-only #404331
- if use abi_x86_64 && use !abi_x86_32; then
- dosym wine64 ${WINE_PREFIX}/bin/wine
- dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
- local man
- for man in ../build64/loader/wine.*man; do
- : "${man##*/wine}"
- : "${_%.*}"
- insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
- newins ${man} wine.1
- done
- fi
-
- use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
- "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
-
- # create variant wrappers for eselect-wine
- local bin
- for bin in "${ED}"${WINE_PREFIX}/bin/*; do
- make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
- done
-
- # don't let portage try to strip PE files with the wrong
- # strip executable and instead handle it here (saves ~120MB)
- dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
- use debug ||
- find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
- -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
-
- dodoc ANNOUNCE AUTHORS README* documentation/README*
- readme.gentoo_create_doc
-}
-
-pkg_preinst() {
- has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
- [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
- eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
- eselect wine update --if-unset || die
-}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-04-24 3:43 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-04-24 3:43 UTC (permalink / raw
To: gentoo-commits
commit: 1340c5cd4bbe4d69401334686ea54e323887dab6
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 24 03:10:37 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Apr 24 03:24:27 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1340c5cd
app-emulation/wine-proton: add live ebuild for experimental_8.0
Just noticed the experimental branch was created for 8.0. Exact copy
of 8.0.1d's ebuild as it does not seem any changes are needed yet.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
.../wine-proton/wine-proton-8.0.9999.ebuild | 329 +++++++++++++++++++++
1 file changed, 329 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
new file mode 100644
index 000000000000..e514971ce399
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -0,0 +1,329 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.4.1
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+ perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
+ +xcomposite xinerama"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/binutils
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
+ "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
+ # build using upstream's way (--with-wine64)
+ # order matters: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ pe_arch=i386
+ if (( bits == 64 )); then
+ pe_arch=x86_64
+ : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+ : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+ # CROSSCC is no longer recognized by Wine, but still use for now
+ # (future handling for CROSS* variables is subject to changes)
+ conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+ # use *FLAGS for mingw, but strip unsupported
+ : "${CROSSCFLAGS:=$(
+ # >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
+ append-cflags '-fno-strict-aliasing'
+ filter-flags '-fstack-clash-protection' #758914
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(
+ filter-flags '-fuse-ld=*'
+ CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{C,LD}FLAGS
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # symlink for plain 'wine' and install its man pages if 64bit-only #404331
+ if use abi_x86_64 && use !abi_x86_32; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+ use debug ||
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+
+ dodoc ANNOUNCE AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-04-29 9:43 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-04-29 9:43 UTC (permalink / raw
To: gentoo-commits
commit: a32b129cb14dc4434bc05fd99a7275a4aab77593
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 29 09:30:51 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Apr 29 09:42:40 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a32b129c
app-emulation/wine-proton: remove obsolete clash-protection filter
ICE was fixed (bug #758914), if still run into this then updating
gcc to a newer _p* snapshot should sort it (alternatively, use
released >=gcc-13.1.0).
Note that -fstack-protector* (bug #870136) is still needed, while
mingw64-runtime-11.0.0 add some degree of support, it still seems
to fail for Wine itself.
Bug: https://bugs.gentoo.org/758914
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.5.ebuild | 1 -
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 1 -
app-emulation/wine-proton/wine-proton-7.0.9999.ebuild | 1 -
app-emulation/wine-proton/wine-proton-8.0.1d.ebuild | 1 -
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 1 -
5 files changed, 5 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
index afa0bed7c071..00a57d5aac94 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
@@ -254,7 +254,6 @@ src_configure() {
# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
: "${CROSSCFLAGS:=$(
- filter-flags '-fstack-clash-protection' #758914
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 6cb4c973b3db..2c927df19297 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -256,7 +256,6 @@ src_configure() {
# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
: "${CROSSCFLAGS:=$(
- filter-flags '-fstack-clash-protection' #758914
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
index 6cb4c973b3db..2c927df19297 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
@@ -256,7 +256,6 @@ src_configure() {
# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
: "${CROSSCFLAGS:=$(
- filter-flags '-fstack-clash-protection' #758914
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
diff --git a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
index e514971ce399..62e33d58f9bd 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
@@ -258,7 +258,6 @@ src_configure() {
: "${CROSSCFLAGS:=$(
# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
append-cflags '-fno-strict-aliasing'
- filter-flags '-fstack-clash-protection' #758914
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index e514971ce399..62e33d58f9bd 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -258,7 +258,6 @@ src_configure() {
: "${CROSSCFLAGS:=$(
# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
append-cflags '-fno-strict-aliasing'
- filter-flags '-fstack-clash-protection' #758914
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-05-02 16:56 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-05-02 16:56 UTC (permalink / raw
To: gentoo-commits
commit: 4cc0e69dfb46e88914e61bc101742b7150d18f0c
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 2 15:53:29 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May 2 16:50:36 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4cc0e69d
app-emulation/wine-proton: drop 7.0.9999
Does not seem(?) developed anymore, use 8.0.9999 or 7.0.6 as needed.
Meant to keep it a bit longer, but wine-7 is already starting to break
and it'll be less ebuilds to fix.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
.../wine-proton/wine-proton-7.0.9999.ebuild | 326 ---------------------
1 file changed, 326 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
deleted file mode 100644
index 2c927df19297..000000000000
--- a/app-emulation/wine-proton/wine-proton-7.0.9999.ebuild
+++ /dev/null
@@ -1,326 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{9..11} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=7.4.0
-WINE_PV=$(ver_rs 2 -)
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
- EGIT_BRANCH="experimental_$(ver_cut 1-2)"
-else
- SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
- S="${WORKDIR}/${PN}-wine-${WINE_PV}"
- KEYWORDS="-* ~amd64 ~x86"
-fi
-
-DESCRIPTION="Valve Software's fork of Wine"
-HOMEPAGE="https://github.com/ValveSoftware/wine/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
- +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
- +fontconfig +gecko +gstreamer llvm-libunwind +mono nls openal
- osmesa perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb
- v4l +vkd3d +xcomposite xinerama"
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
- media-libs/freetype[${MULTILIB_USEDEP}]
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[${MULTILIB_USEDEP}]
- x11-libs/libXcursor[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/libXi[${MULTILIB_USEDEP}]
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-libs/libXrender[${MULTILIB_USEDEP}]
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
- fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
- osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? (
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
- net-libs/gnutls:=[${MULTILIB_USEDEP}]
- )
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- )
- openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
- pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
- !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
- )
- usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- sys-kernel/linux-headers
- x11-base/xorg-proto"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- sys-devel/binutils
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- __clear_cache # unused on amd64+x86 (bug #900332)
- res_getservers # false positive
-)
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.0.4-musl.patch
- "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
- "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
- "${FILESDIR}"/${PN}-7.0.4-unwind.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local mingw=-w64-mingw32
- for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
- if ! type -P ${mingw}-gcc >/dev/null; then
- eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
- eerror "yourself by installing sys-devel/crossdev then running:"
- eerror
- eerror " crossdev --target ${mingw}"
- eerror
- eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
- eerror "--> Note that mingw builds are default for ${PN} even without this USE."
- die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
- fi
- done
- fi
-}
-
-src_prepare() {
- # sanity check, bumping these has a history of oversights
- local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
- dlls/appwiz.cpl/addons.c || die)
- if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
- local gmfatal=
- [[ ${PV} == *9999 ]] && gmfatal=nonfatal
- ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
- fi
-
- default
-
- # ensure .desktop calls this variant + slot
- sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
- # similarly to staging, append to `wine --version` for identification
- sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
- # always update for patches (including user's wrt #432348)
- eautoreconf
- tools/make_requests || die # perl
- dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-}
-
-src_configure() {
- WINE_PREFIX=/usr/lib/${P}
- WINE_DATADIR=/usr/share/${P}
-
- local conf=(
- --prefix="${EPREFIX}"${WINE_PREFIX}
- --datadir="${EPREFIX}"${WINE_DATADIR}
- --includedir="${EPREFIX}"/usr/include/${P}
- --libdir="${EPREFIX}"${WINE_PREFIX}
- --mandir="${EPREFIX}"${WINE_DATADIR}/man
-
- # upstream (Valve) doesn't really support misc configurations (e.g.
- # adds vulkan code not always guarded by --with-vulkan), so force
- # some major options that are typically needed by games either way
- --with-freetype
- --with-mingw # needed by many, notably Blizzard titles
- --with-opengl
- --with-vulkan
- --with-x
-
- # ...and disable most options unimportant for games and unused by
- # Proton rather than expose as volatile USEs with little support
- --without-capi
- --without-cups
- --without-gphoto
- --without-gssapi
- --without-krb5
- --without-ldap
- --without-netapi
- --without-opencl
- --without-pcap
- --without-sane
- ac_cv_lib_soname_odbc=
-
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- --disable-tests
- $(use_with alsa)
- $(use_with fontconfig)
- $(use_with gstreamer)
- $(use_with nls gettext)
- $(use_with openal)
- $(use_with osmesa)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pulseaudio pulse)
- $(use_with sdl)
- $(use_with ssl gnutls)
- $(use_with udev)
- $(use_with udisks dbus) # dbus is only used for udisks
- $(use_with unwind)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with vkd3d)
- $(use_with xcomposite)
- $(use_with xinerama)
- )
-
- tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
- filter-lto # build failure
- use custom-cflags || strip-flags # can break in obscure ways at runtime
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
- # https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
- append-ldflags -fuse-ld=bfd
-
- # build using upstream's way (--with-wine64)
- # order matters: configure+compile 64->32, install 32->64
- local -i bits
- for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
- (
- einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
-
- mkdir ../build${bits} || die
- cd ../build${bits} || die
-
- # CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
- if (( bits == 64 )); then
- : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
- conf+=( --enable-win64 )
- elif use amd64; then
- conf+=(
- $(usev abi_x86_64 --with-wine64=../build64)
- TARGETFLAGS=-m32 # for widl
- )
- # _setup is optional, but use over Wine's auto-detect (+#472038)
- multilib_toolchain_setup x86
- fi
- : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
- # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
- : "${CROSSCFLAGS:=$(
- filter-flags '-fstack-protector*' #870136
- filter-flags '-mfunction-return=thunk*' #878849
- CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
- : "${CROSSLDFLAGS:=$(
- filter-flags '-fuse-ld=*'
- CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
- export CROSS{CC,{C,LD}FLAGS}
-
- ECONF_SOURCE=${S} econf "${conf[@]}"
- )
- done
-}
-
-src_compile() {
- use abi_x86_64 && emake -C ../build64 # do first
- use abi_x86_32 && emake -C ../build32
-}
-
-src_install() {
- use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
- use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
-
- # symlink for plain 'wine' and install its man pages if 64bit-only #404331
- if use abi_x86_64 && use !abi_x86_32; then
- dosym wine64 ${WINE_PREFIX}/bin/wine
- dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
- local man
- for man in ../build64/loader/wine.*man; do
- : "${man##*/wine}"
- : "${_%.*}"
- insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
- newins ${man} wine.1
- done
- fi
-
- use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
- "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
-
- # create variant wrappers for eselect-wine
- local bin
- for bin in "${ED}"${WINE_PREFIX}/bin/*; do
- make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
- done
-
- # don't let portage try to strip PE files with the wrong
- # strip executable and instead handle it here (saves ~120MB)
- dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
- use debug ||
- find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
- -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
-
- dodoc ANNOUNCE AUTHORS README* documentation/README*
- readme.gentoo_create_doc
-}
-
-pkg_preinst() {
- has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
- [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
- eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
- eselect wine update --if-unset || die
-}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-05-02 19:41 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-05-02 19:41 UTC (permalink / raw
To: gentoo-commits
commit: 99bc9c86c07e6838ab002b0d3a5a34605a99fd37
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 2 19:22:54 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May 2 19:40:53 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99bc9c86
app-emulation/wine-proton: add 8.0.2c
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 +
.../wine-proton/wine-proton-8.0.2c.ebuild | 328 +++++++++++++++++++++
2 files changed, 329 insertions(+)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index d3e84dafc3f4..d49da5301306 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,4 @@
DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
DIST proton-wine-8.0-1d.tar.gz 48198535 BLAKE2B 7ed7c4130d4c74d3f411880d253727469cbdaa78943b7783f3d2162177072503bffd588ba3c6c147014ce4e422850cb49e83c2d2d807777fcd01c101199f922d SHA512 4a5a2a2753f8fd025f8c0fe56341a67ed780befc8ae9bffe03872019d4227ec8324edf892c327b99330c3de29a3b8adaac656b41d3487de03a8a82cef9234da7
+DIST proton-wine-8.0-2c.tar.gz 48207888 BLAKE2B 8dc37f136c6d8758c521c0e5c2f16c88e9ede8b22ce7902bb7377a1555bf6aa5bcfaa46f3b9edb4fced1700675fc50f920f9ead17036c9ad1b8bc742ba7e8de3 SHA512 126c06352b6c8b38c133861ce13bc1ce4f1ecf9d451edc2928db54592707c94b07b3a346eb302895cc96c56fede8679b44111be7e1b451c4059c7afcb5fcff57
diff --git a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
new file mode 100644
index 000000000000..62e33d58f9bd
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
@@ -0,0 +1,328 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.4.1
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+ perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
+ +xcomposite xinerama"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/binutils
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
+ "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
+ # build using upstream's way (--with-wine64)
+ # order matters: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ pe_arch=i386
+ if (( bits == 64 )); then
+ pe_arch=x86_64
+ : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+ : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+ # CROSSCC is no longer recognized by Wine, but still use for now
+ # (future handling for CROSS* variables is subject to changes)
+ conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+ # use *FLAGS for mingw, but strip unsupported
+ : "${CROSSCFLAGS:=$(
+ # >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
+ append-cflags '-fno-strict-aliasing'
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(
+ filter-flags '-fuse-ld=*'
+ CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{C,LD}FLAGS
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # symlink for plain 'wine' and install its man pages if 64bit-only #404331
+ if use abi_x86_64 && use !abi_x86_32; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+ use debug ||
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+
+ dodoc ANNOUNCE AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-05-06 9:42 Arthur Zamarin
0 siblings, 0 replies; 83+ messages in thread
From: Arthur Zamarin @ 2023-05-06 9:42 UTC (permalink / raw
To: gentoo-commits
commit: a5776c5bfc6f9b7c64af8be4bf2fc9c90d7cb25d
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sat May 6 09:42:14 2023 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sat May 6 09:42:14 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5776c5b
app-emulation/wine-proton: Stabilize 7.0.6 amd64, #904490
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 0479380661a8..6cab6145a6e2 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]]; then
else
SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
S="${WORKDIR}/${PN}-wine-${WINE_PV}"
- KEYWORDS="-* ~amd64 ~x86"
+ KEYWORDS="-* amd64 ~x86"
fi
DESCRIPTION="Valve Software's fork of Wine"
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-05-06 11:17 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-05-06 11:17 UTC (permalink / raw
To: gentoo-commits
commit: 42072a2de395ff1f14590529a57601b97c41b0b5
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat May 6 10:27:17 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat May 6 11:16:46 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=42072a2d
app-emulation/wine-proton: drop 7.0.5
Note that won't be dropping 7.0.6 anytime soon to keep at
least one from the 7.0.x branch. May wait until proton-9 or
10 are released unless it breaks non-trivially.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 -
app-emulation/wine-proton/wine-proton-7.0.5.ebuild | 324 ---------------------
2 files changed, 325 deletions(-)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index d49da5301306..33f4de150db9 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,4 +1,3 @@
-DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
DIST proton-wine-8.0-1d.tar.gz 48198535 BLAKE2B 7ed7c4130d4c74d3f411880d253727469cbdaa78943b7783f3d2162177072503bffd588ba3c6c147014ce4e422850cb49e83c2d2d807777fcd01c101199f922d SHA512 4a5a2a2753f8fd025f8c0fe56341a67ed780befc8ae9bffe03872019d4227ec8324edf892c327b99330c3de29a3b8adaac656b41d3487de03a8a82cef9234da7
DIST proton-wine-8.0-2c.tar.gz 48207888 BLAKE2B 8dc37f136c6d8758c521c0e5c2f16c88e9ede8b22ce7902bb7377a1555bf6aa5bcfaa46f3b9edb4fced1700675fc50f920f9ead17036c9ad1b8bc742ba7e8de3 SHA512 126c06352b6c8b38c133861ce13bc1ce4f1ecf9d451edc2928db54592707c94b07b3a346eb302895cc96c56fede8679b44111be7e1b451c4059c7afcb5fcff57
diff --git a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild b/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
deleted file mode 100644
index 00a57d5aac94..000000000000
--- a/app-emulation/wine-proton/wine-proton-7.0.5.ebuild
+++ /dev/null
@@ -1,324 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{9..11} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=7.3.1
-WINE_PV=$(ver_rs 2 -)
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
- EGIT_BRANCH="experimental_$(ver_cut 1-2)"
-else
- SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
- S="${WORKDIR}/${PN}-wine-${WINE_PV}"
- KEYWORDS="-* amd64 ~x86"
-fi
-
-DESCRIPTION="Valve Software's fork of Wine"
-HOMEPAGE="https://github.com/ValveSoftware/wine/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
- +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
- +fontconfig +gecko +gstreamer llvm-libunwind +mono nls openal
- osmesa perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb
- v4l +vkd3d +xcomposite xinerama"
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
- dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
- media-libs/freetype[${MULTILIB_USEDEP}]
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[${MULTILIB_USEDEP}]
- x11-libs/libXcursor[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/libXi[${MULTILIB_USEDEP}]
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-libs/libXrender[${MULTILIB_USEDEP}]
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
- fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
- osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- )
- openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
- pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
- !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
- )
- usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- sys-kernel/linux-headers
- x11-base/xorg-proto"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- sys-devel/binutils
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- __clear_cache # unused on amd64+x86 (bug #900332)
- res_getservers # false positive
-)
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.0.4-musl.patch
- "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
- "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
- "${FILESDIR}"/${PN}-7.0.4-unwind.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local mingw=-w64-mingw32
- for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
- if ! type -P ${mingw}-gcc >/dev/null; then
- eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
- eerror "yourself by installing sys-devel/crossdev then running:"
- eerror
- eerror " crossdev --target ${mingw}"
- eerror
- eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
- eerror "--> Note that mingw builds are default for ${PN} even without this USE."
- die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
- fi
- done
- fi
-}
-
-src_prepare() {
- # sanity check, bumping these has a history of oversights
- local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
- dlls/appwiz.cpl/addons.c || die)
- if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
- local gmfatal=
- [[ ${PV} == *9999 ]] && gmfatal=nonfatal
- ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
- fi
-
- default
-
- # ensure .desktop calls this variant + slot
- sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
- # similarly to staging, append to `wine --version` for identification
- sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
- # always update for patches (including user's wrt #432348)
- eautoreconf
- tools/make_requests || die # perl
- dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-}
-
-src_configure() {
- WINE_PREFIX=/usr/lib/${P}
- WINE_DATADIR=/usr/share/${P}
-
- local conf=(
- --prefix="${EPREFIX}"${WINE_PREFIX}
- --datadir="${EPREFIX}"${WINE_DATADIR}
- --includedir="${EPREFIX}"/usr/include/${P}
- --libdir="${EPREFIX}"${WINE_PREFIX}
- --mandir="${EPREFIX}"${WINE_DATADIR}/man
-
- # upstream (Valve) doesn't really support misc configurations (e.g.
- # adds vulkan code not always guarded by --with-vulkan), so force
- # some major options that are typically needed by games either way
- --with-freetype
- --with-mingw # needed by many, notably Blizzard titles
- --with-opengl
- --with-vulkan
- --with-x
-
- # ...and disable most options unimportant for games and unused by
- # Proton rather than expose as volatile USEs with little support
- --without-capi
- --without-cups
- --without-gphoto
- --without-gssapi
- --without-krb5
- --without-ldap
- --without-netapi
- --without-opencl
- --without-pcap
- --without-sane
- ac_cv_lib_soname_odbc=
-
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- --disable-tests
- $(use_with alsa)
- $(use_with fontconfig)
- $(use_with gstreamer)
- $(use_with nls gettext)
- $(use_with openal)
- $(use_with osmesa)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pulseaudio pulse)
- $(use_with sdl)
- $(use_with ssl gnutls)
- $(use_with udev)
- $(use_with udisks dbus) # dbus is only used for udisks
- $(use_with unwind)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with vkd3d)
- $(use_with xcomposite)
- $(use_with xinerama)
- )
-
- tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
- filter-lto # build failure
- use custom-cflags || strip-flags # can break in obscure ways at runtime
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
- # https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
- append-ldflags -fuse-ld=bfd
-
- # build using upstream's way (--with-wine64)
- # order matters: configure+compile 64->32, install 32->64
- local -i bits
- for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
- (
- einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
-
- mkdir ../build${bits} || die
- cd ../build${bits} || die
-
- # CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
- if (( bits == 64 )); then
- : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
- conf+=( --enable-win64 )
- elif use amd64; then
- conf+=(
- $(usev abi_x86_64 --with-wine64=../build64)
- TARGETFLAGS=-m32 # for widl
- )
- # _setup is optional, but use over Wine's auto-detect (+#472038)
- multilib_toolchain_setup x86
- fi
- : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
- # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
- : "${CROSSCFLAGS:=$(
- filter-flags '-fstack-protector*' #870136
- filter-flags '-mfunction-return=thunk*' #878849
- CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
- : "${CROSSLDFLAGS:=$(
- filter-flags '-fuse-ld=*'
- CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
- export CROSS{CC,{C,LD}FLAGS}
-
- ECONF_SOURCE=${S} econf "${conf[@]}"
- )
- done
-}
-
-src_compile() {
- use abi_x86_64 && emake -C ../build64 # do first
- use abi_x86_32 && emake -C ../build32
-}
-
-src_install() {
- use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
- use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
-
- # symlink for plain 'wine' and install its man pages if 64bit-only #404331
- if use abi_x86_64 && use !abi_x86_32; then
- dosym wine64 ${WINE_PREFIX}/bin/wine
- dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
- local man
- for man in ../build64/loader/wine.*man; do
- : "${man##*/wine}"
- : "${_%.*}"
- insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
- newins ${man} wine.1
- done
- fi
-
- use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
- "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
-
- # create variant wrappers for eselect-wine
- local bin
- for bin in "${ED}"${WINE_PREFIX}/bin/*; do
- make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
- done
-
- # don't let portage try to strip PE files with the wrong
- # strip executable and instead handle it here (saves ~120MB)
- dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
- use debug ||
- find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
- -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
-
- dodoc ANNOUNCE AUTHORS README* documentation/README*
- readme.gentoo_create_doc
-}
-
-pkg_preinst() {
- has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
- [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
- eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
- eselect wine update --if-unset || die
-}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-05-23 17:15 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-05-23 17:15 UTC (permalink / raw
To: gentoo-commits
commit: 92e7e0f27e07d382ce7898f7c1b25e8a50d29c1a
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 23 17:04:14 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May 23 17:14:08 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92e7e0f2
app-emulation/wine-proton: enable py3.12
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 2 +-
app-emulation/wine-proton/wine-proton-8.0.1d.ebuild | 2 +-
app-emulation/wine-proton/wine-proton-8.0.2c.ebuild | 2 +-
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 6cab6145a6e2..96f444e33758 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -4,7 +4,7 @@
EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit autotools flag-o-matic multilib multilib-build python-any-r1
inherit readme.gentoo-r1 toolchain-funcs wrapper
diff --git a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
index 62e33d58f9bd..b2b9a61de3ff 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
@@ -4,7 +4,7 @@
EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit autotools flag-o-matic multilib multilib-build python-any-r1
inherit readme.gentoo-r1 toolchain-funcs wrapper
diff --git a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
index 62e33d58f9bd..b2b9a61de3ff 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
@@ -4,7 +4,7 @@
EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit autotools flag-o-matic multilib multilib-build python-any-r1
inherit readme.gentoo-r1 toolchain-funcs wrapper
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 62e33d58f9bd..b2b9a61de3ff 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -4,7 +4,7 @@
EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit autotools flag-o-matic multilib multilib-build python-any-r1
inherit readme.gentoo-r1 toolchain-funcs wrapper
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-06-02 6:54 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-06-02 6:54 UTC (permalink / raw
To: gentoo-commits
commit: 56cab4809a234161eaafeb2847d8adb1344a73a3
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 2 04:44:36 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Jun 2 06:53:33 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56cab480
app-emulation/wine-proton: USE=-debug -> global USE=strip in live
Will update the old ebuilds eventually but given this triggers
a rebuild with --changed-use (default enabled), will wait till
a few bumps and maybe stable to give a chance for people to
update and depclean old rather than unnecessarily rebuild all.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index b2b9a61de3ff..4939eacc3879 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -28,10 +28,10 @@ HOMEPAGE="https://github.com/ValveSoftware/wine/"
LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
SLOT="${PV}"
IUSE="
- +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
- perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
- +xcomposite xinerama"
+ perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+ usb v4l +xcomposite xinerama"
# tests are non-trivial to run, can hang easily, don't play well with
# sandbox, and several need real opengl/vulkan or network access
@@ -305,9 +305,13 @@ src_install() {
# don't let portage try to strip PE files with the wrong
# strip executable and instead handle it here (saves ~120MB)
dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
- use debug ||
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
- -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
dodoc ANNOUNCE AUTHORS README* documentation/README*
readme.gentoo_create_doc
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-06-24 4:56 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-06-24 4:56 UTC (permalink / raw
To: gentoo-commits
commit: 0e099ff76283316c04decc61c9a9164f00a8a2ba
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 24 04:39:01 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Jun 24 04:54:02 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e099ff7
app-emulation/wine-proton: update comment about -fno-strict-aliasing
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 4939eacc3879..b294ba4b95e7 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -256,7 +256,8 @@ src_configure() {
# use *FLAGS for mingw, but strip unsupported
: "${CROSSCFLAGS:=$(
- # >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
+ # >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
+ # it should (can be removed when proton is rebased on >=8.10)
append-cflags '-fno-strict-aliasing'
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-06-26 10:12 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-06-26 10:12 UTC (permalink / raw
To: gentoo-commits
commit: 1fb8f41fe39a23062c88ccdb04b2552b76ee3242
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 26 09:41:54 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jun 26 10:10:09 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fb8f41f
app-emulation/wine-proton: pass -mno-avx for mingw cross
AVX issues with mingw-gcc aren't exactly new, e.g.
https://bugs.winehq.org/show_bug.cgi?id=45289
Been known to cause issues with dxvk too, albeit unsure
if that's still relevant as issues are scattered/lost.
Newly, >=wine-8.10 is likely to crash doing anything
at all 32bit if used -march=native (w/ avx) and 32bit
(e.g. `WINEARCH=win32 winecfg`).
Adding this to every packages using mingw as a precaution,
not believed there is much to gain from keeping AVX given
the fragility here. May revisit eventually with a newer GCC.
wine-proton is based on older wine and is not affected by
the obvious crash, this is a precaution for potential other
issues (so not revbumping over this, can wait till normal bump).
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 5 +++++
app-emulation/wine-proton/wine-proton-8.0.1d.ebuild | 5 +++++
app-emulation/wine-proton/wine-proton-8.0.2c.ebuild | 5 +++++
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 5 +++++
4 files changed, 20 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 96f444e33758..086837096042 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -259,6 +259,11 @@ src_configure() {
: "${CROSSCFLAGS:=$(
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-cflags -mno-avx
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
diff --git a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
index b2b9a61de3ff..1080ea80dd3f 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
@@ -260,6 +260,11 @@ src_configure() {
append-cflags '-fno-strict-aliasing'
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-cflags -mno-avx
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
diff --git a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
index b2b9a61de3ff..1080ea80dd3f 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
@@ -260,6 +260,11 @@ src_configure() {
append-cflags '-fno-strict-aliasing'
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-cflags -mno-avx
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index b294ba4b95e7..e5ff1bbe7cce 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -261,6 +261,11 @@ src_configure() {
append-cflags '-fno-strict-aliasing'
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-cflags -mno-avx
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-07-11 5:37 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-07-11 5:37 UTC (permalink / raw
To: gentoo-commits
commit: 68d292c1a404a227ff30b0ec81b8ea09bfef8623
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 11 05:28:28 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Jul 11 05:36:42 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=68d292c1
app-emulation/wine-proton: update live
wrt vosk aven't looked at it, but could consider to if there's
interest. Believe this is rather niche (for voice recognition
in Wine it sounds like) and won't go out of my way unless
I know someone wants it.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index e5ff1bbe7cce..d44d6d421587 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build python-any-r1
inherit readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.3
-WINE_MONO=7.4.1
+WINE_MONO=8.0.0
WINE_PV=$(ver_rs 2 -)
if [[ ${PV} == *9999 ]]; then
@@ -213,6 +213,8 @@ src_configure() {
$(use_with v4l v4l2)
$(use_with xcomposite)
$(use_with xinerama)
+
+ --without-vosk # unpackaged, file a bug if you need this
)
tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-07-21 20:42 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-07-21 20:42 UTC (permalink / raw
To: gentoo-commits
commit: c8c7d58a8f1157a7b1cf11a6a44775782dbb2b86
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 21 20:07:05 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 20:41:02 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8c7d58a
app-emulation/wine-proton: drop 8.0.1d
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 -
.../wine-proton/wine-proton-8.0.1d.ebuild | 333 ---------------------
2 files changed, 334 deletions(-)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 33f4de150db9..85f037745409 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,2 @@
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
-DIST proton-wine-8.0-1d.tar.gz 48198535 BLAKE2B 7ed7c4130d4c74d3f411880d253727469cbdaa78943b7783f3d2162177072503bffd588ba3c6c147014ce4e422850cb49e83c2d2d807777fcd01c101199f922d SHA512 4a5a2a2753f8fd025f8c0fe56341a67ed780befc8ae9bffe03872019d4227ec8324edf892c327b99330c3de29a3b8adaac656b41d3487de03a8a82cef9234da7
DIST proton-wine-8.0-2c.tar.gz 48207888 BLAKE2B 8dc37f136c6d8758c521c0e5c2f16c88e9ede8b22ce7902bb7377a1555bf6aa5bcfaa46f3b9edb4fced1700675fc50f920f9ead17036c9ad1b8bc742ba7e8de3 SHA512 126c06352b6c8b38c133861ce13bc1ce4f1ecf9d451edc2928db54592707c94b07b3a346eb302895cc96c56fede8679b44111be7e1b451c4059c7afcb5fcff57
diff --git a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
deleted file mode 100644
index 1080ea80dd3f..000000000000
--- a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
+++ /dev/null
@@ -1,333 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=7.4.1
-WINE_PV=$(ver_rs 2 -)
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
- EGIT_BRANCH="experimental_$(ver_cut 1-2)"
-else
- SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
- S="${WORKDIR}/${PN}-wine-${WINE_PV}"
- KEYWORDS="-* ~amd64 ~x86"
-fi
-
-DESCRIPTION="Valve Software's fork of Wine"
-HOMEPAGE="https://github.com/ValveSoftware/wine/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
- +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
- +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
- perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
- +xcomposite xinerama"
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
- media-libs/freetype[${MULTILIB_USEDEP}]
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[${MULTILIB_USEDEP}]
- x11-libs/libXcursor[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/libXi[${MULTILIB_USEDEP}]
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-libs/libXrender[${MULTILIB_USEDEP}]
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
- fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
- osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? (
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
- net-libs/gnutls:=[${MULTILIB_USEDEP}]
- )
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- )
- pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
- !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
- )
- usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- sys-kernel/linux-headers
- x11-base/xorg-proto"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- sys-devel/binutils
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- __clear_cache # unused on amd64+x86 (bug #900332)
- res_getservers # false positive
-)
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.0.4-musl.patch
- "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
- "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
- "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local mingw=-w64-mingw32
- for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
- if ! type -P ${mingw}-gcc >/dev/null; then
- eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
- eerror "yourself by installing sys-devel/crossdev then running:"
- eerror
- eerror " crossdev --target ${mingw}"
- eerror
- eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
- eerror "--> Note that mingw builds are default for ${PN} even without this USE."
- die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
- fi
- done
- fi
-}
-
-src_prepare() {
- # sanity check, bumping these has a history of oversights
- local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
- dlls/appwiz.cpl/addons.c || die)
- if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
- local gmfatal=
- [[ ${PV} == *9999 ]] && gmfatal=nonfatal
- ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
- fi
-
- default
-
- # ensure .desktop calls this variant + slot
- sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
- # similarly to staging, append to `wine --version` for identification
- sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
- # always update for patches (including user's wrt #432348)
- eautoreconf
- tools/make_requests || die # perl
- dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-}
-
-src_configure() {
- WINE_PREFIX=/usr/lib/${P}
- WINE_DATADIR=/usr/share/${P}
-
- local conf=(
- --prefix="${EPREFIX}"${WINE_PREFIX}
- --datadir="${EPREFIX}"${WINE_DATADIR}
- --includedir="${EPREFIX}"/usr/include/${P}
- --libdir="${EPREFIX}"${WINE_PREFIX}
- --mandir="${EPREFIX}"${WINE_DATADIR}/man
-
- # upstream (Valve) doesn't really support misc configurations (e.g.
- # adds vulkan code not always guarded by --with-vulkan), so force
- # some major options that are typically needed by games either way
- --with-freetype
- --with-mingw # needed by many, notably Blizzard titles
- --with-opengl
- --with-vulkan
- --with-x
-
- # ...and disable most options unimportant for games and unused by
- # Proton rather than expose as volatile USEs with little support
- --without-capi
- --without-cups
- --without-gphoto
- --without-gssapi
- --without-krb5
- --without-netapi
- --without-opencl
- --without-pcap
- --without-sane
- ac_cv_lib_soname_odbc=
-
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- --disable-tests
- $(use_with alsa)
- $(use_with fontconfig)
- $(use_with gstreamer)
- $(use_with nls gettext)
- $(use_with osmesa)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pulseaudio pulse)
- $(use_with sdl)
- $(use_with ssl gnutls)
- $(use_with udev)
- $(use_with udisks dbus) # dbus is only used for udisks
- $(use_with unwind)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with xcomposite)
- $(use_with xinerama)
- )
-
- tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
- filter-lto # build failure
- use custom-cflags || strip-flags # can break in obscure ways at runtime
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
- # https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
- append-ldflags -fuse-ld=bfd
-
- # build using upstream's way (--with-wine64)
- # order matters: configure+compile 64->32, install 32->64
- local -i bits
- for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
- (
- einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
-
- mkdir ../build${bits} || die
- cd ../build${bits} || die
-
- pe_arch=i386
- if (( bits == 64 )); then
- pe_arch=x86_64
- : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
- conf+=( --enable-win64 )
- elif use amd64; then
- conf+=(
- $(usev abi_x86_64 --with-wine64=../build64)
- TARGETFLAGS=-m32 # for widl
- )
- # _setup is optional, but use over Wine's auto-detect (+#472038)
- multilib_toolchain_setup x86
- fi
- : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
- # CROSSCC is no longer recognized by Wine, but still use for now
- # (future handling for CROSS* variables is subject to changes)
- conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
-
- # use *FLAGS for mingw, but strip unsupported
- : "${CROSSCFLAGS:=$(
- # >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
- append-cflags '-fno-strict-aliasing'
- filter-flags '-fstack-protector*' #870136
- filter-flags '-mfunction-return=thunk*' #878849
- # -mavx with mingw-gcc has a history of obscure issues and
- # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
- # crashes with -march=skylake >=wine-8.10, similar issues with
- # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
- append-cflags -mno-avx
- CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
- : "${CROSSLDFLAGS:=$(
- filter-flags '-fuse-ld=*'
- CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
- export CROSS{C,LD}FLAGS
-
- ECONF_SOURCE=${S} econf "${conf[@]}"
- )
- done
-}
-
-src_compile() {
- use abi_x86_64 && emake -C ../build64 # do first
- use abi_x86_32 && emake -C ../build32
-}
-
-src_install() {
- use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
- use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
-
- # symlink for plain 'wine' and install its man pages if 64bit-only #404331
- if use abi_x86_64 && use !abi_x86_32; then
- dosym wine64 ${WINE_PREFIX}/bin/wine
- dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
- local man
- for man in ../build64/loader/wine.*man; do
- : "${man##*/wine}"
- : "${_%.*}"
- insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
- newins ${man} wine.1
- done
- fi
-
- use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
- "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
-
- # create variant wrappers for eselect-wine
- local bin
- for bin in "${ED}"${WINE_PREFIX}/bin/*; do
- make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
- done
-
- # don't let portage try to strip PE files with the wrong
- # strip executable and instead handle it here (saves ~120MB)
- dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
- use debug ||
- find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
- -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
-
- dodoc ANNOUNCE AUTHORS README* documentation/README*
- readme.gentoo_create_doc
-}
-
-pkg_preinst() {
- has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
- [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
- eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
- eselect wine update --if-unset || die
-}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-07-21 20:42 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-07-21 20:42 UTC (permalink / raw
To: gentoo-commits
commit: 2a9c32b782c5896b00f5fa3c33e01412f7e94571
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 21 20:17:01 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 20:41:42 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a9c32b7
app-emulation/wine-proton: add 8.0.3c
This is probably a stable candidate for 8.0 series, fixes
a fair amount of regressions.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 +
.../wine-proton/wine-proton-8.0.3c.ebuild | 338 +++++++++++++++++++++
2 files changed, 339 insertions(+)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 85f037745409..c87fa209107f 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,2 +1,3 @@
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
DIST proton-wine-8.0-2c.tar.gz 48207888 BLAKE2B 8dc37f136c6d8758c521c0e5c2f16c88e9ede8b22ce7902bb7377a1555bf6aa5bcfaa46f3b9edb4fced1700675fc50f920f9ead17036c9ad1b8bc742ba7e8de3 SHA512 126c06352b6c8b38c133861ce13bc1ce4f1ecf9d451edc2928db54592707c94b07b3a346eb302895cc96c56fede8679b44111be7e1b451c4059c7afcb5fcff57
+DIST proton-wine-8.0-3c.tar.gz 48254135 BLAKE2B fee58928555376f71579099d3fb39dbe2242516b671af1ca2507a135c3119422d6e168ed2a258d29c57a8fc33a026e5cf788d8362f238f1c0c4c7c81c9cbb147 SHA512 5d473534834ce8ea855d4ee2d39f1596117c0abab0925ee50875245ff6e1f49fe4684fe6f162e92a4b5e408795ff8c9b15b382fb013074216dd565143ecd9efc
diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
new file mode 100644
index 000000000000..e5ff1bbe7cce
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -0,0 +1,338 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools flag-o-matic multilib multilib-build python-any-r1
+inherit readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.4.1
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+ perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+ usb v4l +xcomposite xinerama"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/binutils
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
+ "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
+ # build using upstream's way (--with-wine64)
+ # order matters: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ pe_arch=i386
+ if (( bits == 64 )); then
+ pe_arch=x86_64
+ : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+ : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+ # CROSSCC is no longer recognized by Wine, but still use for now
+ # (future handling for CROSS* variables is subject to changes)
+ conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+ # use *FLAGS for mingw, but strip unsupported
+ : "${CROSSCFLAGS:=$(
+ # >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
+ # it should (can be removed when proton is rebased on >=8.10)
+ append-cflags '-fno-strict-aliasing'
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-cflags -mno-avx
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(
+ filter-flags '-fuse-ld=*'
+ CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{C,LD}FLAGS
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # symlink for plain 'wine' and install its man pages if 64bit-only #404331
+ if use abi_x86_64 && use !abi_x86_32; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+
+ dodoc ANNOUNCE AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-06 4:32 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-08-06 4:32 UTC (permalink / raw
To: gentoo-commits
commit: 06b6b69f2192e7c63d032b3d76df3442e97a0718
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 6 01:04:27 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Aug 6 04:27:44 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06b6b69f
app-emulation/wine-proton: drop 8.0.2c
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 -
.../wine-proton/wine-proton-8.0.2c.ebuild | 333 ---------------------
2 files changed, 334 deletions(-)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index c87fa209107f..0e7a1eb1adee 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,2 @@
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
-DIST proton-wine-8.0-2c.tar.gz 48207888 BLAKE2B 8dc37f136c6d8758c521c0e5c2f16c88e9ede8b22ce7902bb7377a1555bf6aa5bcfaa46f3b9edb4fced1700675fc50f920f9ead17036c9ad1b8bc742ba7e8de3 SHA512 126c06352b6c8b38c133861ce13bc1ce4f1ecf9d451edc2928db54592707c94b07b3a346eb302895cc96c56fede8679b44111be7e1b451c4059c7afcb5fcff57
DIST proton-wine-8.0-3c.tar.gz 48254135 BLAKE2B fee58928555376f71579099d3fb39dbe2242516b671af1ca2507a135c3119422d6e168ed2a258d29c57a8fc33a026e5cf788d8362f238f1c0c4c7c81c9cbb147 SHA512 5d473534834ce8ea855d4ee2d39f1596117c0abab0925ee50875245ff6e1f49fe4684fe6f162e92a4b5e408795ff8c9b15b382fb013074216dd565143ecd9efc
diff --git a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
deleted file mode 100644
index 1080ea80dd3f..000000000000
--- a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
+++ /dev/null
@@ -1,333 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=7.4.1
-WINE_PV=$(ver_rs 2 -)
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
- EGIT_BRANCH="experimental_$(ver_cut 1-2)"
-else
- SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
- S="${WORKDIR}/${PN}-wine-${WINE_PV}"
- KEYWORDS="-* ~amd64 ~x86"
-fi
-
-DESCRIPTION="Valve Software's fork of Wine"
-HOMEPAGE="https://github.com/ValveSoftware/wine/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
- +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
- +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
- perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
- +xcomposite xinerama"
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
- media-libs/freetype[${MULTILIB_USEDEP}]
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[${MULTILIB_USEDEP}]
- x11-libs/libXcursor[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/libXi[${MULTILIB_USEDEP}]
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-libs/libXrender[${MULTILIB_USEDEP}]
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
- fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
- osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? (
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
- net-libs/gnutls:=[${MULTILIB_USEDEP}]
- )
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- )
- pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
- !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
- )
- usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- sys-kernel/linux-headers
- x11-base/xorg-proto"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- sys-devel/binutils
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- __clear_cache # unused on amd64+x86 (bug #900332)
- res_getservers # false positive
-)
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.0.4-musl.patch
- "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
- "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
- "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local mingw=-w64-mingw32
- for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
- if ! type -P ${mingw}-gcc >/dev/null; then
- eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
- eerror "yourself by installing sys-devel/crossdev then running:"
- eerror
- eerror " crossdev --target ${mingw}"
- eerror
- eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
- eerror "--> Note that mingw builds are default for ${PN} even without this USE."
- die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
- fi
- done
- fi
-}
-
-src_prepare() {
- # sanity check, bumping these has a history of oversights
- local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
- dlls/appwiz.cpl/addons.c || die)
- if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
- local gmfatal=
- [[ ${PV} == *9999 ]] && gmfatal=nonfatal
- ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
- fi
-
- default
-
- # ensure .desktop calls this variant + slot
- sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
- # similarly to staging, append to `wine --version` for identification
- sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
- # always update for patches (including user's wrt #432348)
- eautoreconf
- tools/make_requests || die # perl
- dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-}
-
-src_configure() {
- WINE_PREFIX=/usr/lib/${P}
- WINE_DATADIR=/usr/share/${P}
-
- local conf=(
- --prefix="${EPREFIX}"${WINE_PREFIX}
- --datadir="${EPREFIX}"${WINE_DATADIR}
- --includedir="${EPREFIX}"/usr/include/${P}
- --libdir="${EPREFIX}"${WINE_PREFIX}
- --mandir="${EPREFIX}"${WINE_DATADIR}/man
-
- # upstream (Valve) doesn't really support misc configurations (e.g.
- # adds vulkan code not always guarded by --with-vulkan), so force
- # some major options that are typically needed by games either way
- --with-freetype
- --with-mingw # needed by many, notably Blizzard titles
- --with-opengl
- --with-vulkan
- --with-x
-
- # ...and disable most options unimportant for games and unused by
- # Proton rather than expose as volatile USEs with little support
- --without-capi
- --without-cups
- --without-gphoto
- --without-gssapi
- --without-krb5
- --without-netapi
- --without-opencl
- --without-pcap
- --without-sane
- ac_cv_lib_soname_odbc=
-
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- --disable-tests
- $(use_with alsa)
- $(use_with fontconfig)
- $(use_with gstreamer)
- $(use_with nls gettext)
- $(use_with osmesa)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pulseaudio pulse)
- $(use_with sdl)
- $(use_with ssl gnutls)
- $(use_with udev)
- $(use_with udisks dbus) # dbus is only used for udisks
- $(use_with unwind)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with xcomposite)
- $(use_with xinerama)
- )
-
- tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
- filter-lto # build failure
- use custom-cflags || strip-flags # can break in obscure ways at runtime
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
- # https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
- append-ldflags -fuse-ld=bfd
-
- # build using upstream's way (--with-wine64)
- # order matters: configure+compile 64->32, install 32->64
- local -i bits
- for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
- (
- einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
-
- mkdir ../build${bits} || die
- cd ../build${bits} || die
-
- pe_arch=i386
- if (( bits == 64 )); then
- pe_arch=x86_64
- : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
- conf+=( --enable-win64 )
- elif use amd64; then
- conf+=(
- $(usev abi_x86_64 --with-wine64=../build64)
- TARGETFLAGS=-m32 # for widl
- )
- # _setup is optional, but use over Wine's auto-detect (+#472038)
- multilib_toolchain_setup x86
- fi
- : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
- # CROSSCC is no longer recognized by Wine, but still use for now
- # (future handling for CROSS* variables is subject to changes)
- conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
-
- # use *FLAGS for mingw, but strip unsupported
- : "${CROSSCFLAGS:=$(
- # >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
- append-cflags '-fno-strict-aliasing'
- filter-flags '-fstack-protector*' #870136
- filter-flags '-mfunction-return=thunk*' #878849
- # -mavx with mingw-gcc has a history of obscure issues and
- # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
- # crashes with -march=skylake >=wine-8.10, similar issues with
- # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
- append-cflags -mno-avx
- CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
- : "${CROSSLDFLAGS:=$(
- filter-flags '-fuse-ld=*'
- CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
- export CROSS{C,LD}FLAGS
-
- ECONF_SOURCE=${S} econf "${conf[@]}"
- )
- done
-}
-
-src_compile() {
- use abi_x86_64 && emake -C ../build64 # do first
- use abi_x86_32 && emake -C ../build32
-}
-
-src_install() {
- use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
- use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
-
- # symlink for plain 'wine' and install its man pages if 64bit-only #404331
- if use abi_x86_64 && use !abi_x86_32; then
- dosym wine64 ${WINE_PREFIX}/bin/wine
- dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
- local man
- for man in ../build64/loader/wine.*man; do
- : "${man##*/wine}"
- : "${_%.*}"
- insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
- newins ${man} wine.1
- done
- fi
-
- use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
- "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
-
- # create variant wrappers for eselect-wine
- local bin
- for bin in "${ED}"${WINE_PREFIX}/bin/*; do
- make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
- done
-
- # don't let portage try to strip PE files with the wrong
- # strip executable and instead handle it here (saves ~120MB)
- dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
- use debug ||
- find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
- -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
-
- dodoc ANNOUNCE AUTHORS README* documentation/README*
- readme.gentoo_create_doc
-}
-
-pkg_preinst() {
- has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
- [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
- eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
- eselect wine update --if-unset || die
-}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-10 10:53 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-08-10 10:53 UTC (permalink / raw
To: gentoo-commits
commit: 94d5fad239aa407403918106082dc94b17456740
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 10 09:00:18 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Aug 10 10:35:03 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94d5fad2
app-emulation/wine-proton: extend force-bfd comment with reminder
Would rather stay conservative with wine, but should
probably revisit still.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.3c.ebuild | 6 +++++-
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 6 +++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index e5ff1bbe7cce..e0cf597cbcca 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -215,7 +215,11 @@ src_configure() {
$(use_with xinerama)
)
- tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ # builds with non-bfd but broken at runtime (bug #867097)
+ # TODO: retest mold and lld, and figure out what's wrong if
+ # still broken given (at least) lld is supposed to work
+ tc-ld-force-bfd
+
filter-lto # build failure
use custom-cflags || strip-flags # can break in obscure ways at runtime
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index d44d6d421587..4d53248d4c24 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -217,7 +217,11 @@ src_configure() {
--without-vosk # unpackaged, file a bug if you need this
)
- tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ # builds with non-bfd but broken at runtime (bug #867097)
+ # TODO: retest mold and lld, and figure out what's wrong if
+ # still broken given (at least) lld is supposed to work
+ tc-ld-force-bfd
+
filter-lto # build failure
use custom-cflags || strip-flags # can break in obscure ways at runtime
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-10 10:53 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-08-10 10:53 UTC (permalink / raw
To: gentoo-commits
commit: 84924628f0009acbe92b94ac28141c7ee322548e
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 10 09:08:50 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Aug 10 10:35:04 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84924628
app-emulation/wine-proton: skip -mno-avx with USE=custom-cflags
Don't recommend it (even hardly recommend -march=native!), but
some users like ricing their wine and would rather not see this
if it "works for me".
Others like filter-lto stay regardless given that just will not
build.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 2 +-
app-emulation/wine-proton/wine-proton-8.0.3c.ebuild | 2 +-
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 086837096042..0bd8abd05b69 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -263,7 +263,7 @@ src_configure() {
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
- append-cflags -mno-avx
+ use custom-cflags || append-cflags -mno-avx
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index e0cf597cbcca..6ea5954ede28 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -269,7 +269,7 @@ src_configure() {
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
- append-cflags -mno-avx
+ use custom-cflags || append-cflags -mno-avx
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 4d53248d4c24..db3758ec4c05 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -271,7 +271,7 @@ src_configure() {
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
- append-cflags -mno-avx
+ use custom-cflags || append-cflags -mno-avx
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-10 10:53 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-08-10 10:53 UTC (permalink / raw
To: gentoo-commits
commit: b00af64d6d88d213f473daf06bbbef407971eb26
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 10 10:09:41 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Aug 10 10:35:04 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b00af64d
app-emulation/wine-proton: fix finding wine-mono on prefix
Technically needs a revbump, but given never got a bug report despite
being broken since forever I'll consider this low priority.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 7 +++++--
app-emulation/wine-proton/wine-proton-8.0.3c.ebuild | 7 +++++--
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 7 +++++--
3 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 0bd8abd05b69..294e5c9aab65 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -5,8 +5,8 @@ EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.3
WINE_MONO=7.4.0
@@ -158,6 +158,9 @@ src_prepare() {
# similarly to staging, append to `wine --version` for identification
sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
# always update for patches (including user's wrt #432348)
eautoreconf
tools/make_requests || die # perl
diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index 6ea5954ede28..3f2ba5ab1d26 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -5,8 +5,8 @@ EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.3
WINE_MONO=7.4.1
@@ -155,6 +155,9 @@ src_prepare() {
# similarly to staging, append to `wine --version` for identification
sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
# always update for patches (including user's wrt #432348)
eautoreconf
tools/make_requests || die # perl
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index db3758ec4c05..68a943a8042e 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -5,8 +5,8 @@ EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build python-any-r1
-inherit readme.gentoo-r1 toolchain-funcs wrapper
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.3
WINE_MONO=8.0.0
@@ -155,6 +155,9 @@ src_prepare() {
# similarly to staging, append to `wine --version` for identification
sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
# always update for patches (including user's wrt #432348)
eautoreconf
tools/make_requests || die # perl
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-11 10:52 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-08-11 10:52 UTC (permalink / raw
To: gentoo-commits
commit: b15be1cefe3f1288144bf23d5251e45a0428faa5
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 11 07:32:48 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Aug 11 10:00:07 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b15be1ce
app-emulation/wine-proton: pass -latomic with clang for ntdll.so
Specific to Valve's fync patches, aka:
ntdll/unix/fsync.c:368: undefined reference to `__atomic_load_8'
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.3c.ebuild | 5 +++++
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 5 +++++
2 files changed, 10 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index 79fa39b47160..cad46d367304 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -60,8 +60,10 @@ WINE_DLOPEN_DEPEND="
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+# gcc: for -latomic with clang
WINE_COMMON_DEPEND="
${WINE_DLOPEN_DEPEND}
+ sys-devel/gcc:*
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
@@ -154,6 +156,9 @@ src_prepare() {
# and it still gets used in install phase despite --with-mingw,
# drop as a quick fix for now which hopefully should be safe
sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+ # needed by Valve's fsync patches if using clang (undef atomic_load_8)
+ sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
fi
# ensure .desktop calls this variant + slot
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 264e3ea19172..248c24788eab 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -60,8 +60,10 @@ WINE_DLOPEN_DEPEND="
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+# gcc: for -latomic with clang
WINE_COMMON_DEPEND="
${WINE_DLOPEN_DEPEND}
+ sys-devel/gcc:*
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
@@ -154,6 +156,9 @@ src_prepare() {
# and it still gets used in install phase despite --with-mingw,
# drop as a quick fix for now which hopefully should be safe
sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+ # needed by Valve's fsync patches if using clang (undef atomic_load_8)
+ sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
fi
# ensure .desktop calls this variant + slot
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-11 10:52 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-08-11 10:52 UTC (permalink / raw
To: gentoo-commits
commit: 2d51d6027d3fcaf3337c932932a50918d9d38f73
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 11 06:26:14 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Aug 11 10:00:06 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d51d602
app-emulation/wine-proton: fix build with clang:17
Was silently ignored with <clang-16, but clang:17 now considers this
an error.
Working -mabi=ms would be required if --without-mingw, but with it
seems it gets used in install phase possibly(?) by mistake. As a
quick fix, drop the option for now. Prefer to leave alone for gcc,
so done in ebuild w/ tc-is-clang.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 7 +++++++
app-emulation/wine-proton/wine-proton-8.0.3c.ebuild | 7 +++++++
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 7 +++++++
3 files changed, 21 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 294e5c9aab65..95664cb0ff23 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -152,6 +152,13 @@ src_prepare() {
default
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index 3f2ba5ab1d26..79fa39b47160 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -149,6 +149,13 @@ src_prepare() {
default
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 68a943a8042e..264e3ea19172 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -149,6 +149,13 @@ src_prepare() {
default
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-11 10:52 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-08-11 10:52 UTC (permalink / raw
To: gentoo-commits
commit: 406299a31b83ceb567a51645f66d0122a27509fc
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 11 07:14:32 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Aug 11 10:33:53 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=406299a3
app-emulation/wine-proton: revert TODO about force-bfd
Will keep this matched with wine 8.0 until rebase for proton-9.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.3c.ebuild | 6 +-----
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 6 +-----
2 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index cad46d367304..c5db812fe92b 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -230,11 +230,7 @@ src_configure() {
$(use_with xinerama)
)
- # builds with non-bfd but broken at runtime (bug #867097)
- # TODO: retest mold and lld, and figure out what's wrong if
- # still broken given (at least) lld is supposed to work
- tc-ld-force-bfd
-
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
filter-lto # build failure
use custom-cflags || strip-flags # can break in obscure ways at runtime
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 248c24788eab..cced91f4ca78 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -232,11 +232,7 @@ src_configure() {
--without-vosk # unpackaged, file a bug if you need this
)
- # builds with non-bfd but broken at runtime (bug #867097)
- # TODO: retest mold and lld, and figure out what's wrong if
- # still broken given (at least) lld is supposed to work
- tc-ld-force-bfd
-
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
filter-lto # build failure
use custom-cflags || strip-flags # can break in obscure ways at runtime
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-13 19:45 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-08-13 19:45 UTC (permalink / raw
To: gentoo-commits
commit: 2aec9b5a832e008ba2c3060ef6c5e3bb0d000429
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 13 19:42:18 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Aug 13 19:44:20 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2aec9b5a
app-emulation/wine-proton: note reminder about mingw if using clang
Albeit likely won't visit this until wine-proton-9 and wow64.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index cced91f4ca78..6c5e37bcd5bb 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -190,6 +190,8 @@ src_configure() {
# upstream (Valve) doesn't really support misc configurations (e.g.
# adds vulkan code not always guarded by --with-vulkan), so force
# some major options that are typically needed by games either way
+ # TODO?: --without-mingw could make sense *if* using clang, assuming
+ # bug #912237 is resolved (consider when do USE=wow64 in proton-9)
--with-freetype
--with-mingw # needed by many, notably Blizzard titles
--with-opengl
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-14 10:26 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-08-14 10:26 UTC (permalink / raw
To: gentoo-commits
commit: 44d2b75c2b8f8151d6d09e7dd2af4c6818e7b280
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 14 10:22:41 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Aug 14 10:25:47 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44d2b75c
app-emulation/wine-proton: pass -mno-avx with mingw unconditionally
Upon further consideration 84924628f0009acbe92b94ac28141c7ee322548e
result in rather unexpected behavior even if we consider that
USE=custom-cflags is unsupported, and giving a way to skip -mno-avx
may not be all that worth it.
So revert plus tidy and add this bugref.
Closes: https://bugs.gentoo.org/912268
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 4 +++-
app-emulation/wine-proton/wine-proton-8.0.3c.ebuild | 7 +++++--
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 7 +++++--
3 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 95664cb0ff23..2d64d08da94f 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -269,11 +269,13 @@ src_configure() {
: "${CROSSCFLAGS:=$(
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
+
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
- use custom-cflags || append-cflags -mno-avx
+ append-cflags -mno-avx #912268
+
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index c5db812fe92b..28c682e79696 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -273,14 +273,17 @@ src_configure() {
: "${CROSSCFLAGS:=$(
# >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
# it should (can be removed when proton is rebased on >=8.10)
- append-cflags '-fno-strict-aliasing'
+ append-cflags -fno-strict-aliasing
+
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
+
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
- use custom-cflags || append-cflags -mno-avx
+ append-cflags -mno-avx #912268
+
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 6c5e37bcd5bb..9c15f5e09995 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -277,14 +277,17 @@ src_configure() {
: "${CROSSCFLAGS:=$(
# >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
# it should (can be removed when proton is rebased on >=8.10)
- append-cflags '-fno-strict-aliasing'
+ append-cflags -fno-strict-aliasing
+
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
+
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
- use custom-cflags || append-cflags -mno-avx
+ append-cflags -mno-avx #912268
+
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-19 9:51 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-08-19 9:51 UTC (permalink / raw
To: gentoo-commits
commit: 89ad87b4928349ea287d129f96e1d5d9ace40981
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 19 09:44:04 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Aug 19 09:51:01 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89ad87b4
app-emulation/wine-proton: use mono-8.0.1 in live
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 9c15f5e09995..53ac9ce2e64b 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build prefix
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.3
-WINE_MONO=8.0.0
+WINE_MONO=8.0.1
WINE_PV=$(ver_rs 2 -)
if [[ ${PV} == *9999 ]]; then
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-08-28 12:19 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-08-28 12:19 UTC (permalink / raw
To: gentoo-commits
commit: a6fc6d87eb829a9c6cfb837cc2f05b817987f127
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 28 11:59:38 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Aug 28 12:13:36 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a6fc6d87
app-emulation/wine-proton: warn if nvidia[abi_x86_32] is missing
Hard to know for sure if it's really used or not, but do not
want to introduce a kinda no-op VIDEO_CARDS on wine to actually
depend on it over a warning.
Less of an issue with mesa given other dependencies end up
requiring it (technically the dep is wrong given e.g. nvidia
would not need mesa[abi_x86_32], but well).
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 7 +++++++
app-emulation/wine-proton/wine-proton-8.0.3c.ebuild | 7 +++++++
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 7 +++++++
3 files changed, 21 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 2d64d08da94f..b0d8137fd450 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -336,6 +336,13 @@ pkg_preinst() {
pkg_postinst() {
[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+ if use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
eselect wine update --if-unset || die
}
diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index 28c682e79696..0a109f5bc674 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -348,6 +348,13 @@ pkg_preinst() {
pkg_postinst() {
[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+ if use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
eselect wine update --if-unset || die
}
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 53ac9ce2e64b..16f19e3a308d 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -352,6 +352,13 @@ pkg_preinst() {
pkg_postinst() {
[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+ if use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
eselect wine update --if-unset || die
}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-10-06 6:43 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-10-06 6:43 UTC (permalink / raw
To: gentoo-commits
commit: 1715d64a01b600024ad7cc00793449496368521d
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 6 06:21:56 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Oct 6 06:22:38 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1715d64a
app-emulation/wine-proton: add 8.0.4
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 +
app-emulation/wine-proton/wine-proton-8.0.4.ebuild | 365 +++++++++++++++++++++
2 files changed, 366 insertions(+)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 0e7a1eb1adee..61b2101eff7e 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,2 +1,3 @@
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
DIST proton-wine-8.0-3c.tar.gz 48254135 BLAKE2B fee58928555376f71579099d3fb39dbe2242516b671af1ca2507a135c3119422d6e168ed2a258d29c57a8fc33a026e5cf788d8362f238f1c0c4c7c81c9cbb147 SHA512 5d473534834ce8ea855d4ee2d39f1596117c0abab0925ee50875245ff6e1f49fe4684fe6f162e92a4b5e408795ff8c9b15b382fb013074216dd565143ecd9efc
+DIST proton-wine-8.0-4.tar.gz 48317622 BLAKE2B 53047016897c8919cf3b51d7e51025806d267bb2f04fb3d464b8cf0f133c36b53d9c6c3e591aff4c71a95c6e167eed67b6ad84cc549e1aa1682175233da79835 SHA512 837772856aafb4d47c700997655c0d98f17cafdcc76008e04d064dd071e8d3163ed094bfc57441ef8ec4f2f7ea6303815351dc707ce5515f8c22f9aba8c5f83b
diff --git a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
new file mode 100644
index 000000000000..f021e06e5682
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
@@ -0,0 +1,365 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=8.0.1
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+ perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+ usb v4l +xcomposite xinerama"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+# gcc: for -latomic with clang
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ sys-devel/gcc:*
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/binutils
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
+ "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+ # needed by Valve's fsync patches if using clang (undef atomic_load_8)
+ sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ # TODO?: --without-mingw could make sense *if* using clang, assuming
+ # bug #912237 is resolved (consider when do USE=wow64 in proton-9)
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
+ # build using upstream's way (--with-wine64)
+ # order matters: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ pe_arch=i386
+ if (( bits == 64 )); then
+ pe_arch=x86_64
+ : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+ : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+ # CROSSCC is no longer recognized by Wine, but still use for now
+ # (future handling for CROSS* variables is subject to changes)
+ conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+ # use *FLAGS for mingw, but strip unsupported
+ : "${CROSSCFLAGS:=$(
+ # >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
+ # it should (can be removed when proton is rebased on >=8.10)
+ append-cflags -fno-strict-aliasing
+
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-cflags -mno-avx #912268
+
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(
+ filter-flags '-fuse-ld=*'
+ CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{C,LD}FLAGS
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # symlink for plain 'wine' and install its man pages if 64bit-only #404331
+ if use abi_x86_64 && use !abi_x86_32; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+
+ dodoc ANNOUNCE AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ if use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-10-06 9:23 Arthur Zamarin
0 siblings, 0 replies; 83+ messages in thread
From: Arthur Zamarin @ 2023-10-06 9:23 UTC (permalink / raw
To: gentoo-commits
commit: 1b16019dd302c5f76f6990a4fe351cd05168c45d
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 6 09:23:44 2023 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 6 09:23:44 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b16019d
app-emulation/wine-proton: Stabilize 8.0.3c amd64, #911796
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.3c.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index 0a109f5bc674..9f55f65590c2 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]]; then
else
SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
S="${WORKDIR}/${PN}-wine-${WINE_PV}"
- KEYWORDS="-* ~amd64 ~x86"
+ KEYWORDS="-* amd64 ~x86"
fi
DESCRIPTION="Valve Software's fork of Wine"
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-11-09 6:37 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-11-09 6:37 UTC (permalink / raw
To: gentoo-commits
commit: ba2333e2657eba2ee480f553c40dee774562554c
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 9 05:48:33 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Nov 9 06:37:19 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba2333e2
app-emulation/wine-proton: bump wine-mono to 8.1.0 in live
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 16f19e3a308d..0a9164591bd5 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build prefix
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.3
-WINE_MONO=8.0.1
+WINE_MONO=8.1.0
WINE_PV=$(ver_rs 2 -)
if [[ ${PV} == *9999 ]]; then
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-12-01 6:46 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-12-01 6:46 UTC (permalink / raw
To: gentoo-commits
commit: 73d70e25aa9981391dd6d954214ebf8d72799282
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 1 05:11:20 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Dec 1 06:39:21 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73d70e25
app-emulation/wine-proton: update live
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 1 +
1 file changed, 1 insertion(+)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 0a9164591bd5..6741b1c2726b 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -66,6 +66,7 @@ WINE_COMMON_DEPEND="
sys-devel/gcc:*
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libdrm[${MULTILIB_USEDEP}]
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
gstreamer? (
dev-libs/glib:2[${MULTILIB_USEDEP}]
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-12-01 8:04 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-12-01 8:04 UTC (permalink / raw
To: gentoo-commits
commit: 8bb6352802769d08ded5379d3e613498c3facc39
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 1 07:18:18 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Dec 1 08:03:31 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8bb63528
app-emulation/wine-proton: update live further
Unfortunately no switch to skip amdgpu even for non-amd users,
may consider patching later but not going to worry too much
about it in live.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index c1f1e47064f1..c41b7ac24d27 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -66,7 +66,7 @@ WINE_COMMON_DEPEND="
sys-devel/gcc:*
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
- x11-libs/libdrm[${MULTILIB_USEDEP}]
+ x11-libs/libdrm[video_cards_amdgpu,${MULTILIB_USEDEP}]
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
gstreamer? (
dev-libs/glib:2[${MULTILIB_USEDEP}]
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2023-12-21 6:49 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2023-12-21 6:49 UTC (permalink / raw
To: gentoo-commits
commit: e7e8364422fcf15d1c5117447cf1e0d79d0e8f2d
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 21 06:32:40 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Dec 21 06:48:54 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7e83644
app-emulation/wine-proton: update live
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index c41b7ac24d27..1d7cec5c26a9 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{10..12} )
inherit autotools flag-o-matic multilib multilib-build prefix
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
-WINE_GECKO=2.47.3
+WINE_GECKO=2.47.4
WINE_MONO=8.1.0
WINE_PV=$(ver_rs 2 -)
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-04 14:20 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-01-04 14:20 UTC (permalink / raw
To: gentoo-commits
commit: 99c16b93d8d046d4f97988556cf6ea47326a2ef8
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 4 14:13:48 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Jan 4 14:16:14 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99c16b93
app-emulation/wine-proton: update live
This bit won't be needed "here" until wine-proton-9.0.9999, but
it doesn't hurt to add the wildcard for .md in advance while
thinking about it.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 1d7cec5c26a9..0ee683445ce9 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -342,7 +342,7 @@ src_install() {
eend ${?} || die
fi
- dodoc ANNOUNCE AUTHORS README* documentation/README*
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
readme.gentoo_create_doc
}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-08 12:59 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-01-08 12:59 UTC (permalink / raw
To: gentoo-commits
commit: 68d5fe74506371e69d08a8cd8885fb2d7dc21f35
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 12:47:34 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 12:57:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=68d5fe74
app-emulation/wine-proton: drop 8.0.3c
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 -
.../wine-proton/wine-proton-8.0.3c.ebuild | 363 ---------------------
2 files changed, 364 deletions(-)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 61b2101eff7e..92f166f9ef22 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,2 @@
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
-DIST proton-wine-8.0-3c.tar.gz 48254135 BLAKE2B fee58928555376f71579099d3fb39dbe2242516b671af1ca2507a135c3119422d6e168ed2a258d29c57a8fc33a026e5cf788d8362f238f1c0c4c7c81c9cbb147 SHA512 5d473534834ce8ea855d4ee2d39f1596117c0abab0925ee50875245ff6e1f49fe4684fe6f162e92a4b5e408795ff8c9b15b382fb013074216dd565143ecd9efc
DIST proton-wine-8.0-4.tar.gz 48317622 BLAKE2B 53047016897c8919cf3b51d7e51025806d267bb2f04fb3d464b8cf0f133c36b53d9c6c3e591aff4c71a95c6e167eed67b6ad84cc549e1aa1682175233da79835 SHA512 837772856aafb4d47c700997655c0d98f17cafdcc76008e04d064dd071e8d3163ed094bfc57441ef8ec4f2f7ea6303815351dc707ce5515f8c22f9aba8c5f83b
diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
deleted file mode 100644
index 9f55f65590c2..000000000000
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ /dev/null
@@ -1,363 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build prefix
-inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=7.4.1
-WINE_PV=$(ver_rs 2 -)
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
- EGIT_BRANCH="experimental_$(ver_cut 1-2)"
-else
- SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
- S="${WORKDIR}/${PN}-wine-${WINE_PV}"
- KEYWORDS="-* amd64 ~x86"
-fi
-
-DESCRIPTION="Valve Software's fork of Wine"
-HOMEPAGE="https://github.com/ValveSoftware/wine/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
- +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
- +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
- perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
- usb v4l +xcomposite xinerama"
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
- media-libs/freetype[${MULTILIB_USEDEP}]
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[${MULTILIB_USEDEP}]
- x11-libs/libXcursor[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/libXi[${MULTILIB_USEDEP}]
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-libs/libXrender[${MULTILIB_USEDEP}]
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
- fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
- osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? (
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
- net-libs/gnutls:=[${MULTILIB_USEDEP}]
- )
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
-# gcc: for -latomic with clang
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- sys-devel/gcc:*
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- )
- pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
- !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
- )
- usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- sys-kernel/linux-headers
- x11-base/xorg-proto"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- sys-devel/binutils
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- __clear_cache # unused on amd64+x86 (bug #900332)
- res_getservers # false positive
-)
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.0.4-musl.patch
- "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
- "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
- "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local mingw=-w64-mingw32
- for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
- if ! type -P ${mingw}-gcc >/dev/null; then
- eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
- eerror "yourself by installing sys-devel/crossdev then running:"
- eerror
- eerror " crossdev --target ${mingw}"
- eerror
- eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
- eerror "--> Note that mingw builds are default for ${PN} even without this USE."
- die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
- fi
- done
- fi
-}
-
-src_prepare() {
- # sanity check, bumping these has a history of oversights
- local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
- dlls/appwiz.cpl/addons.c || die)
- if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
- local gmfatal=
- [[ ${PV} == *9999 ]] && gmfatal=nonfatal
- ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
- fi
-
- default
-
- if tc-is-clang; then
- # -mabi=ms was ignored by <clang:16 then turned error in :17
- # and it still gets used in install phase despite --with-mingw,
- # drop as a quick fix for now which hopefully should be safe
- sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
-
- # needed by Valve's fsync patches if using clang (undef atomic_load_8)
- sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
- fi
-
- # ensure .desktop calls this variant + slot
- sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
- # similarly to staging, append to `wine --version` for identification
- sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
- # datadir is not where wine-mono is installed, so prefixy alternate paths
- hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
-
- # always update for patches (including user's wrt #432348)
- eautoreconf
- tools/make_requests || die # perl
- dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
-}
-
-src_configure() {
- WINE_PREFIX=/usr/lib/${P}
- WINE_DATADIR=/usr/share/${P}
-
- local conf=(
- --prefix="${EPREFIX}"${WINE_PREFIX}
- --datadir="${EPREFIX}"${WINE_DATADIR}
- --includedir="${EPREFIX}"/usr/include/${P}
- --libdir="${EPREFIX}"${WINE_PREFIX}
- --mandir="${EPREFIX}"${WINE_DATADIR}/man
-
- # upstream (Valve) doesn't really support misc configurations (e.g.
- # adds vulkan code not always guarded by --with-vulkan), so force
- # some major options that are typically needed by games either way
- --with-freetype
- --with-mingw # needed by many, notably Blizzard titles
- --with-opengl
- --with-vulkan
- --with-x
-
- # ...and disable most options unimportant for games and unused by
- # Proton rather than expose as volatile USEs with little support
- --without-capi
- --without-cups
- --without-gphoto
- --without-gssapi
- --without-krb5
- --without-netapi
- --without-opencl
- --without-pcap
- --without-sane
- ac_cv_lib_soname_odbc=
-
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- --disable-tests
- $(use_with alsa)
- $(use_with fontconfig)
- $(use_with gstreamer)
- $(use_with nls gettext)
- $(use_with osmesa)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pulseaudio pulse)
- $(use_with sdl)
- $(use_with ssl gnutls)
- $(use_with udev)
- $(use_with udisks dbus) # dbus is only used for udisks
- $(use_with unwind)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with xcomposite)
- $(use_with xinerama)
- )
-
- tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
- filter-lto # build failure
- use custom-cflags || strip-flags # can break in obscure ways at runtime
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
- # https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
- append-ldflags -fuse-ld=bfd
-
- # build using upstream's way (--with-wine64)
- # order matters: configure+compile 64->32, install 32->64
- local -i bits
- for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
- (
- einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
-
- mkdir ../build${bits} || die
- cd ../build${bits} || die
-
- pe_arch=i386
- if (( bits == 64 )); then
- pe_arch=x86_64
- : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
- conf+=( --enable-win64 )
- elif use amd64; then
- conf+=(
- $(usev abi_x86_64 --with-wine64=../build64)
- TARGETFLAGS=-m32 # for widl
- )
- # _setup is optional, but use over Wine's auto-detect (+#472038)
- multilib_toolchain_setup x86
- fi
- : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
- # CROSSCC is no longer recognized by Wine, but still use for now
- # (future handling for CROSS* variables is subject to changes)
- conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
-
- # use *FLAGS for mingw, but strip unsupported
- : "${CROSSCFLAGS:=$(
- # >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
- # it should (can be removed when proton is rebased on >=8.10)
- append-cflags -fno-strict-aliasing
-
- filter-flags '-fstack-protector*' #870136
- filter-flags '-mfunction-return=thunk*' #878849
-
- # -mavx with mingw-gcc has a history of obscure issues and
- # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
- # crashes with -march=skylake >=wine-8.10, similar issues with
- # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
- append-cflags -mno-avx #912268
-
- CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
- : "${CROSSLDFLAGS:=$(
- filter-flags '-fuse-ld=*'
- CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
- export CROSS{C,LD}FLAGS
-
- ECONF_SOURCE=${S} econf "${conf[@]}"
- )
- done
-}
-
-src_compile() {
- use abi_x86_64 && emake -C ../build64 # do first
- use abi_x86_32 && emake -C ../build32
-}
-
-src_install() {
- use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
- use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
-
- # symlink for plain 'wine' and install its man pages if 64bit-only #404331
- if use abi_x86_64 && use !abi_x86_32; then
- dosym wine64 ${WINE_PREFIX}/bin/wine
- dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
- local man
- for man in ../build64/loader/wine.*man; do
- : "${man##*/wine}"
- : "${_%.*}"
- insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
- newins ${man} wine.1
- done
- fi
-
- use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
- "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
-
- # create variant wrappers for eselect-wine
- local bin
- for bin in "${ED}"${WINE_PREFIX}/bin/*; do
- make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
- done
-
- # don't let portage try to strip PE files with the wrong
- # strip executable and instead handle it here (saves ~120MB)
- dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
-
- if use strip; then
- ebegin "Stripping Windows (PE) binaries"
- find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
- -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
- eend ${?} || die
- fi
-
- dodoc ANNOUNCE AUTHORS README* documentation/README*
- readme.gentoo_create_doc
-}
-
-pkg_preinst() {
- has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
- [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
- if use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
- then
- ewarn "x11-drivers/nvidia-drivers is installed but is built without"
- ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
- ewarn "applications under ${PN} will likely not be usable."
- fi
-
- eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
- eselect wine update --if-unset || die
-}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-08 12:59 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-01-08 12:59 UTC (permalink / raw
To: gentoo-commits
commit: 4bdedca68d7f7c13d886d29b11898536b01559d1
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 12:45:39 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 12:57:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4bdedca6
Revert "app-emulation/wine-proton: sys-devel/flex -> app-alternatives/lex"
This reverts commit 70004fc841b5b6e11ebd6393e0487e3c3171213a.
This may not set LEX, but that's because wine does not respect
this variable in the first place and looks for flex directly.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 4 ++--
app-emulation/wine-proton/wine-proton-8.0.3c.ebuild | 4 ++--
app-emulation/wine-proton/wine-proton-8.0.4.ebuild | 4 ++--
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 2 +-
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 8ac2d2cc34a7..b0d8137fd450 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -100,7 +100,7 @@ BDEPEND="
dev-lang/perl
sys-devel/binutils
sys-devel/bison
- app-alternatives/lex
+ sys-devel/flex
virtual/pkgconfig
nls? ( sys-devel/gettext )
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index bd975980027b..9f55f65590c2 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -100,7 +100,7 @@ BDEPEND="
dev-lang/perl
sys-devel/binutils
sys-devel/bison
- app-alternatives/lex
+ sys-devel/flex
virtual/pkgconfig
nls? ( sys-devel/gettext )
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
diff --git a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
index 2fd793a8c37e..cc16907c46de 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -100,7 +100,7 @@ BDEPEND="
dev-lang/perl
sys-devel/binutils
sys-devel/bison
- app-alternatives/lex
+ sys-devel/flex
virtual/pkgconfig
nls? ( sys-devel/gettext )
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 2e32a05cd485..0ee683445ce9 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -101,7 +101,7 @@ BDEPEND="
dev-lang/perl
sys-devel/binutils
sys-devel/bison
- app-alternatives/lex
+ sys-devel/flex
virtual/pkgconfig
nls? ( sys-devel/gettext )
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-08 21:48 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-01-08 21:48 UTC (permalink / raw
To: gentoo-commits
commit: 2bbf5db6fe135a9e0b51b3cd8f62f487fe8efd3b
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 21:28:25 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 21:35:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2bbf5db6
app-emulation/wine-proton: use -latomic for winevulkan with clang
Seems newly needed on top of ntdll and missed that.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.4.ebuild | 5 +++--
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 3 ++-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
index cc16907c46de..be98e0d28d22 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -158,7 +158,8 @@ src_prepare() {
sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
# needed by Valve's fsync patches if using clang (undef atomic_load_8)
- sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
+ sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+ -i dlls/{ntdll,winevulkan}/Makefile.in || die
fi
# ensure .desktop calls this variant + slot
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 0ee683445ce9..a515a28f2122 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -159,7 +159,8 @@ src_prepare() {
sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
# needed by Valve's fsync patches if using clang (undef atomic_load_8)
- sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
+ sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+ -i dlls/{ntdll,winevulkan}/Makefile.in || die
fi
# ensure .desktop calls this variant + slot
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-13 13:11 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-01-13 13:11 UTC (permalink / raw
To: gentoo-commits
commit: 2c17819192fa039c17d96ab87d86ce275161f25e
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 13 12:26:04 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Jan 13 13:10:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c178191
app-emulation/wine-proton: make libdrm[video_cards_amdgpu] optional in live
Had forgotten about it but wine offers generic switches for all dlls,
so can use that rather than modify sources. The dll being entirely
missing hopefully has no negative impact (should gracefully just not
use it even for amdgpu).
Imagine may be new releases soon'ish (or proton 9), and meant to adjust
this before then as it'll be annoying for non-amdgpu users to enable it
on libdrm.
May possibly need masking on x86 (32bit), have not tested if it builds
anyway. Albeit doubt this is usable there regardless. Generally unsure
if the proton variant should even keep x86 keywords though (was kind
of flaky when I tested it for x86 while considering stable and not
entirely sure it works on a real system).
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index ed67e6b6fe21..e6660a9082bf 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -31,7 +31,7 @@ IUSE="
+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
- usb v4l +xcomposite xinerama
+ usb v4l video_cards_amdgpu +xcomposite xinerama
"
# tests are non-trivial to run, can hang easily, don't play well with
@@ -68,7 +68,7 @@ WINE_COMMON_DEPEND="
sys-devel/gcc:*
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
- x11-libs/libdrm[video_cards_amdgpu,${MULTILIB_USEDEP}]
+ x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
gstreamer? (
dev-libs/glib:2[${MULTILIB_USEDEP}]
@@ -221,6 +221,7 @@ src_configure() {
$(use_enable gecko mshtml)
$(use_enable mono mscoree)
+ $(use_enable video_cards_amdgpu amd_ags_x64)
--disable-tests
$(use_with alsa)
$(use_with fontconfig)
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-13 13:11 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-01-13 13:11 UTC (permalink / raw
To: gentoo-commits
commit: a356059a59ad128ce51e44d42632749eb4017151
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 13 12:14:40 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Jan 13 13:10:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a356059a
app-emulation/wine-proton: adjust style
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 20 +++++++++++++-------
app-emulation/wine-proton/wine-proton-8.0.4.ebuild | 18 ++++++++++++------
.../wine-proton/wine-proton-8.0.9999.ebuild | 18 ++++++++++++------
3 files changed, 37 insertions(+), 19 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index b0d8137fd450..7e922c196988 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -31,7 +31,8 @@ IUSE="
+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+fontconfig +gecko +gstreamer llvm-libunwind +mono nls openal
osmesa perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb
- v4l +vkd3d +xcomposite xinerama"
+ v4l +vkd3d +xcomposite xinerama
+"
# tests are non-trivial to run, can hang easily, don't play well with
# sandbox, and several need real opengl/vulkan or network access
@@ -59,7 +60,8 @@ WINE_DLOPEN_DEPEND="
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
WINE_COMMON_DEPEND="
${WINE_DLOPEN_DEPEND}
x11-libs/libX11[${MULTILIB_USEDEP}]
@@ -78,7 +80,8 @@ WINE_COMMON_DEPEND="
!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
)
usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
+ vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )
+"
RDEPEND="
${WINE_COMMON_DEPEND}
app-emulation/wine-desktop-common
@@ -90,11 +93,13 @@ RDEPEND="
dev-perl/XML-LibXML
)
selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )"
+ udisks? ( sys-fs/udisks:2 )
+"
DEPEND="
${WINE_COMMON_DEPEND}
sys-kernel/linux-headers
- x11-base/xorg-proto"
+ x11-base/xorg-proto
+"
BDEPEND="
${PYTHON_DEPS}
dev-lang/perl
@@ -103,7 +108,8 @@ BDEPEND="
sys-devel/flex
virtual/pkgconfig
nls? ( sys-devel/gettext )
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=(
diff --git a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
index be98e0d28d22..8ab559caf709 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
@@ -31,7 +31,8 @@ IUSE="
+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
- usb v4l +xcomposite xinerama"
+ usb v4l +xcomposite xinerama
+"
# tests are non-trivial to run, can hang easily, don't play well with
# sandbox, and several need real opengl/vulkan or network access
@@ -59,7 +60,8 @@ WINE_DLOPEN_DEPEND="
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
# gcc: for -latomic with clang
WINE_COMMON_DEPEND="
${WINE_DLOPEN_DEPEND}
@@ -78,7 +80,8 @@ WINE_COMMON_DEPEND="
llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
)
- usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
RDEPEND="
${WINE_COMMON_DEPEND}
app-emulation/wine-desktop-common
@@ -90,11 +93,13 @@ RDEPEND="
dev-perl/XML-LibXML
)
selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )"
+ udisks? ( sys-fs/udisks:2 )
+"
DEPEND="
${WINE_COMMON_DEPEND}
sys-kernel/linux-headers
- x11-base/xorg-proto"
+ x11-base/xorg-proto
+"
BDEPEND="
${PYTHON_DEPS}
dev-lang/perl
@@ -103,7 +108,8 @@ BDEPEND="
sys-devel/flex
virtual/pkgconfig
nls? ( sys-devel/gettext )
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=(
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index a515a28f2122..ed67e6b6fe21 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -31,7 +31,8 @@ IUSE="
+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
- usb v4l +xcomposite xinerama"
+ usb v4l +xcomposite xinerama
+"
# tests are non-trivial to run, can hang easily, don't play well with
# sandbox, and several need real opengl/vulkan or network access
@@ -59,7 +60,8 @@ WINE_DLOPEN_DEPEND="
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
# gcc: for -latomic with clang
WINE_COMMON_DEPEND="
${WINE_DLOPEN_DEPEND}
@@ -79,7 +81,8 @@ WINE_COMMON_DEPEND="
llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
)
- usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
RDEPEND="
${WINE_COMMON_DEPEND}
app-emulation/wine-desktop-common
@@ -91,11 +94,13 @@ RDEPEND="
dev-perl/XML-LibXML
)
selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )"
+ udisks? ( sys-fs/udisks:2 )
+"
DEPEND="
${WINE_COMMON_DEPEND}
sys-kernel/linux-headers
- x11-base/xorg-proto"
+ x11-base/xorg-proto
+"
BDEPEND="
${PYTHON_DEPS}
dev-lang/perl
@@ -104,7 +109,8 @@ BDEPEND="
sys-devel/flex
virtual/pkgconfig
nls? ( sys-devel/gettext )
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=(
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-17 16:20 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-01-17 16:20 UTC (permalink / raw
To: gentoo-commits
commit: 8dd5687bfa3b6e6a45d19f24e1e119ca03ec1dd2
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 17 15:50:13 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jan 17 16:19:37 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8dd5687b
app-emulation/wine-proton: add ebuild comment tip for user patches
Closes: https://github.com/gentoo/gentoo/pull/34865
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 3 +++
app-emulation/wine-proton/wine-proton-8.0.4.ebuild | 3 +++
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 3 +++
3 files changed, 9 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 7e922c196988..b04f298e473a 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -178,6 +178,9 @@ src_prepare() {
eautoreconf
tools/make_requests || die # perl
dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-proton
}
src_configure() {
diff --git a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
index 8ab559caf709..359ad7c9f4e1 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
@@ -181,6 +181,9 @@ src_prepare() {
eautoreconf
tools/make_requests || die # perl
dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-proton
}
src_configure() {
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index e6660a9082bf..a2711662b536 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -182,6 +182,9 @@ src_prepare() {
eautoreconf
tools/make_requests || die # perl
dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-proton
}
src_configure() {
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-01-22 23:34 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-01-22 23:34 UTC (permalink / raw
To: gentoo-commits
commit: bc28a96889976cf3fab1228b04caa9e54cdce402
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 22 22:58:43 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 23:31:42 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc28a968
app-emulation/wine-proton: add 8.0.5c
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 +
.../wine-proton/wine-proton-8.0.5c.ebuild | 377 +++++++++++++++++++++
2 files changed, 378 insertions(+)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 92f166f9ef22..a6b7dd2607b1 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,2 +1,3 @@
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
DIST proton-wine-8.0-4.tar.gz 48317622 BLAKE2B 53047016897c8919cf3b51d7e51025806d267bb2f04fb3d464b8cf0f133c36b53d9c6c3e591aff4c71a95c6e167eed67b6ad84cc549e1aa1682175233da79835 SHA512 837772856aafb4d47c700997655c0d98f17cafdcc76008e04d064dd071e8d3163ed094bfc57441ef8ec4f2f7ea6303815351dc707ce5515f8c22f9aba8c5f83b
+DIST proton-wine-8.0-5c.tar.gz 48710071 BLAKE2B 99627baea6fb3d51231aa1e75a2734c3c1baba88326baf15b3d421d57a00472d25ba51c2140b51152c8aeae7dd240d3d77bb0d8835aa7eb3b745a51be120f8bb SHA512 0cf98d4e67866e55cc8cd5ea8da0d76aee8e37b130b3cbca604083c913e98ddf9038ecd6f9761d2e11443e282b372977400e251456c6d40e1365210c7578234d
diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
new file mode 100644
index 000000000000..28ec733f1806
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -0,0 +1,377 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=8.1.0
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+ perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+ usb v4l video_cards_amdgpu +xcomposite xinerama
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
+# gcc: for -latomic with clang
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ sys-devel/gcc:*
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/binutils
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
+ "${FILESDIR}"/${PN}-8.0.4-restore-menubuilder.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+ # needed by Valve's fsync patches if using clang (undef atomic_load_8)
+ sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+ -i dlls/{ntdll,winevulkan}/Makefile.in || die
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-proton
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ # TODO?: --without-mingw could make sense *if* using clang, assuming
+ # bug #912237 is resolved (consider when do USE=wow64 in proton-9)
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ $(use_enable video_cards_amdgpu amd_ags_x64)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
+ # build using upstream's way (--with-wine64)
+ # order matters: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ pe_arch=i386
+ if (( bits == 64 )); then
+ pe_arch=x86_64
+ : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+ : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+ # CROSSCC is no longer recognized by Wine, but still use for now
+ # (future handling for CROSS* variables is subject to changes)
+ conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+ # use *FLAGS for mingw, but strip unsupported
+ : "${CROSSCFLAGS:=$(
+ # >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
+ # it should (can be removed when proton is rebased on >=8.10)
+ append-cflags -fno-strict-aliasing
+
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-cflags -mno-avx #912268
+
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(
+ filter-flags '-fuse-ld=*'
+ CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{C,LD}FLAGS
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # symlink for plain 'wine' and install its man pages if 64bit-only #404331
+ if use abi_x86_64 && use !abi_x86_32; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ if use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-03-05 6:03 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-03-05 6:03 UTC (permalink / raw
To: gentoo-commits
commit: 541ef52c7dab695bc09b11f88113760f1da2cfa3
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 5 05:54:56 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Mar 5 05:55:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=541ef52c
app-emulation/wine-proton: improve USE=wow64 description further
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/metadata.xml | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/app-emulation/wine-proton/metadata.xml b/app-emulation/wine-proton/metadata.xml
index 16afd8a54c41..2e414ed41543 100644
--- a/app-emulation/wine-proton/metadata.xml
+++ b/app-emulation/wine-proton/metadata.xml
@@ -23,9 +23,10 @@
<flag name="wow64">
Enable running 32bit applications without 32bit ELF
multilib by mapping to 64bit calls (experimental,
- may have worse OpenGL performance or other issues
- compared to USE=abi_x86_32) -- still requires (just)
- <pkg>dev-util/mingw64-toolchain</pkg> with abi_x86_32
+ may have slightly worse OpenGL performance or other
+ issues compared to USE=abi_x86_32, also lacks 16bit
+ support) -- still need <pkg>dev-util/mingw64-toolchain</pkg>
+ with abi_x86_32 which itself does not need multilib
</flag>
</use>
<upstream>
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-03-12 4:29 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-03-12 4:29 UTC (permalink / raw
To: gentoo-commits
commit: a8395ab333f5b5f1c384ccc48c93ea9a9682e2fb
Author: Matoro Mahri <matoro_gentoo <AT> matoro <DOT> tk>
AuthorDate: Tue Mar 12 04:02:29 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Mar 12 04:11:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a8395ab3
app-emulation/wine-proton: Stabilize 8.0.5c amd64, #924198
Signed-off-by: Matoro Mahri <matoro_gentoo <AT> matoro.tk>
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index 28ec733f1806..64e517a897ea 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]]; then
else
SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
S="${WORKDIR}/${PN}-wine-${WINE_PV}"
- KEYWORDS="-* ~amd64 ~x86"
+ KEYWORDS="-* amd64 ~x86"
fi
DESCRIPTION="Valve Software's fork of Wine"
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-03-20 7:17 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-03-20 7:17 UTC (permalink / raw
To: gentoo-commits
commit: 278e265ca7998fe2dd1f329753f65b171edd6e2b
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 20 05:09:04 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Mar 20 07:01:01 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=278e265c
app-emulation/wine-proton: drop 8.0.4
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 -
app-emulation/wine-proton/wine-proton-8.0.4.ebuild | 375 ---------------------
2 files changed, 376 deletions(-)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index a6b7dd2607b1..34b2254d80d2 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,2 @@
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
-DIST proton-wine-8.0-4.tar.gz 48317622 BLAKE2B 53047016897c8919cf3b51d7e51025806d267bb2f04fb3d464b8cf0f133c36b53d9c6c3e591aff4c71a95c6e167eed67b6ad84cc549e1aa1682175233da79835 SHA512 837772856aafb4d47c700997655c0d98f17cafdcc76008e04d064dd071e8d3163ed094bfc57441ef8ec4f2f7ea6303815351dc707ce5515f8c22f9aba8c5f83b
DIST proton-wine-8.0-5c.tar.gz 48710071 BLAKE2B 99627baea6fb3d51231aa1e75a2734c3c1baba88326baf15b3d421d57a00472d25ba51c2140b51152c8aeae7dd240d3d77bb0d8835aa7eb3b745a51be120f8bb SHA512 0cf98d4e67866e55cc8cd5ea8da0d76aee8e37b130b3cbca604083c913e98ddf9038ecd6f9761d2e11443e282b372977400e251456c6d40e1365210c7578234d
diff --git a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild b/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
deleted file mode 100644
index 359ad7c9f4e1..000000000000
--- a/app-emulation/wine-proton/wine-proton-8.0.4.ebuild
+++ /dev/null
@@ -1,375 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build prefix
-inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.3
-WINE_MONO=8.0.1
-WINE_PV=$(ver_rs 2 -)
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
- EGIT_BRANCH="experimental_$(ver_cut 1-2)"
-else
- SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
- S="${WORKDIR}/${PN}-wine-${WINE_PV}"
- KEYWORDS="-* amd64 ~x86"
-fi
-
-DESCRIPTION="Valve Software's fork of Wine"
-HOMEPAGE="https://github.com/ValveSoftware/wine/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
- +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
- +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
- perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
- usb v4l +xcomposite xinerama
-"
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
- media-libs/freetype[${MULTILIB_USEDEP}]
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[${MULTILIB_USEDEP}]
- x11-libs/libXcursor[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/libXi[${MULTILIB_USEDEP}]
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-libs/libXrender[${MULTILIB_USEDEP}]
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
- fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
- osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? (
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
- net-libs/gnutls:=[${MULTILIB_USEDEP}]
- )
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
-"
-# gcc: for -latomic with clang
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- sys-devel/gcc:*
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- )
- pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
- !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
- )
- usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
-"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )
-"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- sys-kernel/linux-headers
- x11-base/xorg-proto
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- sys-devel/binutils
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
-"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- __clear_cache # unused on amd64+x86 (bug #900332)
- res_getservers # false positive
-)
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.0.4-musl.patch
- "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
- "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
- "${FILESDIR}"/${PN}-8.0.4-restore-menubuilder.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local mingw=-w64-mingw32
- for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
- if ! type -P ${mingw}-gcc >/dev/null; then
- eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
- eerror "yourself by installing sys-devel/crossdev then running:"
- eerror
- eerror " crossdev --target ${mingw}"
- eerror
- eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
- eerror "--> Note that mingw builds are default for ${PN} even without this USE."
- die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
- fi
- done
- fi
-}
-
-src_prepare() {
- # sanity check, bumping these has a history of oversights
- local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
- dlls/appwiz.cpl/addons.c || die)
- if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
- local gmfatal=
- [[ ${PV} == *9999 ]] && gmfatal=nonfatal
- ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
- fi
-
- default
-
- if tc-is-clang; then
- # -mabi=ms was ignored by <clang:16 then turned error in :17
- # and it still gets used in install phase despite --with-mingw,
- # drop as a quick fix for now which hopefully should be safe
- sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
-
- # needed by Valve's fsync patches if using clang (undef atomic_load_8)
- sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
- -i dlls/{ntdll,winevulkan}/Makefile.in || die
- fi
-
- # ensure .desktop calls this variant + slot
- sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
- # similarly to staging, append to `wine --version` for identification
- sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
- # datadir is not where wine-mono is installed, so prefixy alternate paths
- hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
-
- # always update for patches (including user's wrt #432348)
- eautoreconf
- tools/make_requests || die # perl
- dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
- # tip: if need more for user patches, with portage can e.g. do
- # echo "post_src_prepare() { tools/make_specfiles || die; }" \
- # > /etc/portage/env/app-emulation/wine-proton
-}
-
-src_configure() {
- WINE_PREFIX=/usr/lib/${P}
- WINE_DATADIR=/usr/share/${P}
-
- local conf=(
- --prefix="${EPREFIX}"${WINE_PREFIX}
- --datadir="${EPREFIX}"${WINE_DATADIR}
- --includedir="${EPREFIX}"/usr/include/${P}
- --libdir="${EPREFIX}"${WINE_PREFIX}
- --mandir="${EPREFIX}"${WINE_DATADIR}/man
-
- # upstream (Valve) doesn't really support misc configurations (e.g.
- # adds vulkan code not always guarded by --with-vulkan), so force
- # some major options that are typically needed by games either way
- # TODO?: --without-mingw could make sense *if* using clang, assuming
- # bug #912237 is resolved (consider when do USE=wow64 in proton-9)
- --with-freetype
- --with-mingw # needed by many, notably Blizzard titles
- --with-opengl
- --with-vulkan
- --with-x
-
- # ...and disable most options unimportant for games and unused by
- # Proton rather than expose as volatile USEs with little support
- --without-capi
- --without-cups
- --without-gphoto
- --without-gssapi
- --without-krb5
- --without-netapi
- --without-opencl
- --without-pcap
- --without-sane
- ac_cv_lib_soname_odbc=
-
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- --disable-tests
- $(use_with alsa)
- $(use_with fontconfig)
- $(use_with gstreamer)
- $(use_with nls gettext)
- $(use_with osmesa)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pulseaudio pulse)
- $(use_with sdl)
- $(use_with ssl gnutls)
- $(use_with udev)
- $(use_with udisks dbus) # dbus is only used for udisks
- $(use_with unwind)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with xcomposite)
- $(use_with xinerama)
- )
-
- tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
- filter-lto # build failure
- use custom-cflags || strip-flags # can break in obscure ways at runtime
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
- # https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
- append-ldflags -fuse-ld=bfd
-
- # build using upstream's way (--with-wine64)
- # order matters: configure+compile 64->32, install 32->64
- local -i bits
- for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
- (
- einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
-
- mkdir ../build${bits} || die
- cd ../build${bits} || die
-
- pe_arch=i386
- if (( bits == 64 )); then
- pe_arch=x86_64
- : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
- conf+=( --enable-win64 )
- elif use amd64; then
- conf+=(
- $(usev abi_x86_64 --with-wine64=../build64)
- TARGETFLAGS=-m32 # for widl
- )
- # _setup is optional, but use over Wine's auto-detect (+#472038)
- multilib_toolchain_setup x86
- fi
- : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
- # CROSSCC is no longer recognized by Wine, but still use for now
- # (future handling for CROSS* variables is subject to changes)
- conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
-
- # use *FLAGS for mingw, but strip unsupported
- : "${CROSSCFLAGS:=$(
- # >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
- # it should (can be removed when proton is rebased on >=8.10)
- append-cflags -fno-strict-aliasing
-
- filter-flags '-fstack-protector*' #870136
- filter-flags '-mfunction-return=thunk*' #878849
-
- # -mavx with mingw-gcc has a history of obscure issues and
- # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
- # crashes with -march=skylake >=wine-8.10, similar issues with
- # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
- append-cflags -mno-avx #912268
-
- CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
- : "${CROSSLDFLAGS:=$(
- filter-flags '-fuse-ld=*'
- CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
- export CROSS{C,LD}FLAGS
-
- ECONF_SOURCE=${S} econf "${conf[@]}"
- )
- done
-}
-
-src_compile() {
- use abi_x86_64 && emake -C ../build64 # do first
- use abi_x86_32 && emake -C ../build32
-}
-
-src_install() {
- use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
- use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
-
- # symlink for plain 'wine' and install its man pages if 64bit-only #404331
- if use abi_x86_64 && use !abi_x86_32; then
- dosym wine64 ${WINE_PREFIX}/bin/wine
- dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
- local man
- for man in ../build64/loader/wine.*man; do
- : "${man##*/wine}"
- : "${_%.*}"
- insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
- newins ${man} wine.1
- done
- fi
-
- use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
- "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
-
- # create variant wrappers for eselect-wine
- local bin
- for bin in "${ED}"${WINE_PREFIX}/bin/*; do
- make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
- done
-
- # don't let portage try to strip PE files with the wrong
- # strip executable and instead handle it here (saves ~120MB)
- dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
-
- if use strip; then
- ebegin "Stripping Windows (PE) binaries"
- find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
- -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
- eend ${?} || die
- fi
-
- dodoc ANNOUNCE AUTHORS README* documentation/README*
- readme.gentoo_create_doc
-}
-
-pkg_preinst() {
- has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
- [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
- if use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
- then
- ewarn "x11-drivers/nvidia-drivers is installed but is built without"
- ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
- ewarn "applications under ${PN} will likely not be usable."
- fi
-
- eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
- eselect wine update --if-unset || die
-}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-03-22 12:31 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-03-22 12:31 UTC (permalink / raw
To: gentoo-commits
commit: 5c81bf1b9b70d0099537771d25cd5f1ac2d5f113
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 22 12:26:58 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Mar 22 12:30:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c81bf1b
app-emulation/wine-proton: reword USE=wow64 again
There is alternate realities where OpenGL works great for some, and is
1fps unusable for others (likely depending on what is being run and/or
drivers). So saying "slightly" may be misleading.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/metadata.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/metadata.xml b/app-emulation/wine-proton/metadata.xml
index 2e414ed41543..cc21bdb8ce89 100644
--- a/app-emulation/wine-proton/metadata.xml
+++ b/app-emulation/wine-proton/metadata.xml
@@ -23,7 +23,7 @@
<flag name="wow64">
Enable running 32bit applications without 32bit ELF
multilib by mapping to 64bit calls (experimental,
- may have slightly worse OpenGL performance or other
+ *may* have worse/unusable OpenGL performance or other
issues compared to USE=abi_x86_32, also lacks 16bit
support) -- still need <pkg>dev-util/mingw64-toolchain</pkg>
with abi_x86_32 which itself does not need multilib
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-03-24 18:39 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-03-24 18:39 UTC (permalink / raw
To: gentoo-commits
commit: 5f02566649d4a1e6dc602102add6cc2fccc52c4d
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 24 18:31:03 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Mar 24 18:37:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f025666
app-emulation/wine-proton: filter -Wl,-z,* ... for CFLAGS
test-flags-CC was not meant to test LDFLAGS and -Wl,* are no-ops
at compile-time and thus don't get stripped even if they don't work
(same happens when using strip-unsupported-flags) and then if a
package compiles and links anything at same time it fails.
This used not to be a big problem but now that 23.0 profiles
do -Wl,-z,pack-relative-relocs (mingw ld has no -z) this is
hitting bashrc-mv users that tend to do CFLAGS="${LDFLAGS}"
by default. Tempting to ignore it because of how wrong it is,
but well.
An alternate route could be to eventually have strip-flags
and/or strip-unsupported-flags remove -Wl,* from non-LDFLAGS
given this could affect more than mingw (e.g. switching to
bfd when there is a lld-only option).
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 5 +++++
app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 5 +++++
app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 5 +++++
app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 6 ++++++
4 files changed, 21 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index b04f298e473a..50cc8ae8ca6c 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -279,6 +279,11 @@ src_configure() {
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index 64e517a897ea..bb1944292c4d 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -292,6 +292,11 @@ src_configure() {
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index a2711662b536..78b03242a34b 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -294,6 +294,11 @@ src_configure() {
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 42b55c99ed92..fda342d879f2 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -296,6 +296,12 @@ src_configure() {
CROSSCFLAGS="${CROSSCFLAGS:-$(
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
)}"
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-04-22 20:31 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-04-22 20:31 UTC (permalink / raw
To: gentoo-commits
commit: 22bcdb814979170228cfd85a49cd421a934c0903
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 22 19:44:31 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Apr 22 20:31:13 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22bcdb81
app-emulation/wine-proton: "fix" build with gcc-14 for old branches
No release yet but current 9.0.9999 builds fine as-is, and
would rather not worry about backporting for old branches.
Closes: https://bugs.gentoo.org/924486
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 4 ++++
app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 50cc8ae8ca6c..25ee6175708f 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -250,6 +250,10 @@ src_configure() {
[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
append-ldflags -fuse-ld=bfd
+ # >=wine-proton-9 has proper fixes and builds with gcc-14, but would
+ # rather not have to worry about fixing old branches (bug #924486)
+ append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
# build using upstream's way (--with-wine64)
# order matters: configure+compile 64->32, install 32->64
local -i bits
diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index bb1944292c4d..9d8a60b340e9 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -254,6 +254,10 @@ src_configure() {
[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
append-ldflags -fuse-ld=bfd
+ # >=wine-proton-9 has proper fixes and builds with gcc-14, but would
+ # rather not have to worry about fixing old branches (bug #924486)
+ append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
# build using upstream's way (--with-wine64)
# order matters: configure+compile 64->32, install 32->64
local -i bits
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-04-22 20:31 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-04-22 20:31 UTC (permalink / raw
To: gentoo-commits
commit: 4e91942e6f35771c9d48a436520353ec0301d185
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 22 18:40:34 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Apr 22 20:31:13 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e91942e
app-emulation/wine-proton: drop 8.0.9999
Seem like a dead branch, use 9.0.9999 instead.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
.../wine-proton/wine-proton-8.0.9999.ebuild | 384 ---------------------
1 file changed, 384 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
deleted file mode 100644
index 78b03242a34b..000000000000
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ /dev/null
@@ -1,384 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools flag-o-matic multilib multilib-build prefix
-inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.4
-WINE_MONO=8.1.0
-WINE_PV=$(ver_rs 2 -)
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
- EGIT_BRANCH="experimental_$(ver_cut 1-2)"
-else
- SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
- S="${WORKDIR}/${PN}-wine-${WINE_PV}"
- KEYWORDS="-* ~amd64 ~x86"
-fi
-
-DESCRIPTION="Valve Software's fork of Wine"
-HOMEPAGE="https://github.com/ValveSoftware/wine/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
- +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
- +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
- perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
- usb v4l video_cards_amdgpu +xcomposite xinerama
-"
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
- media-libs/freetype[${MULTILIB_USEDEP}]
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[${MULTILIB_USEDEP}]
- x11-libs/libXcursor[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/libXi[${MULTILIB_USEDEP}]
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-libs/libXrender[${MULTILIB_USEDEP}]
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
- fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
- osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? (
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
- net-libs/gnutls:=[${MULTILIB_USEDEP}]
- )
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
-"
-# gcc: for -latomic with clang
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- sys-devel/gcc:*
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- )
- pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
- !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
- )
- usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
-"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )
-"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- sys-kernel/linux-headers
- x11-base/xorg-proto
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- sys-devel/binutils
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
-"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- __clear_cache # unused on amd64+x86 (bug #900332)
- res_getservers # false positive
-)
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.0.4-musl.patch
- "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
- "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
- "${FILESDIR}"/${PN}-8.0.4-restore-menubuilder.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local mingw=-w64-mingw32
- for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
- if ! type -P ${mingw}-gcc >/dev/null; then
- eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
- eerror "yourself by installing sys-devel/crossdev then running:"
- eerror
- eerror " crossdev --target ${mingw}"
- eerror
- eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
- eerror "--> Note that mingw builds are default for ${PN} even without this USE."
- die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
- fi
- done
- fi
-}
-
-src_prepare() {
- # sanity check, bumping these has a history of oversights
- local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
- dlls/appwiz.cpl/addons.c || die)
- if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
- local gmfatal=
- [[ ${PV} == *9999 ]] && gmfatal=nonfatal
- ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
- fi
-
- default
-
- if tc-is-clang; then
- # -mabi=ms was ignored by <clang:16 then turned error in :17
- # and it still gets used in install phase despite --with-mingw,
- # drop as a quick fix for now which hopefully should be safe
- sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
-
- # needed by Valve's fsync patches if using clang (undef atomic_load_8)
- sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
- -i dlls/{ntdll,winevulkan}/Makefile.in || die
- fi
-
- # ensure .desktop calls this variant + slot
- sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
- # similarly to staging, append to `wine --version` for identification
- sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
- # datadir is not where wine-mono is installed, so prefixy alternate paths
- hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
-
- # always update for patches (including user's wrt #432348)
- eautoreconf
- tools/make_requests || die # perl
- dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
- # tip: if need more for user patches, with portage can e.g. do
- # echo "post_src_prepare() { tools/make_specfiles || die; }" \
- # > /etc/portage/env/app-emulation/wine-proton
-}
-
-src_configure() {
- WINE_PREFIX=/usr/lib/${P}
- WINE_DATADIR=/usr/share/${P}
-
- local conf=(
- --prefix="${EPREFIX}"${WINE_PREFIX}
- --datadir="${EPREFIX}"${WINE_DATADIR}
- --includedir="${EPREFIX}"/usr/include/${P}
- --libdir="${EPREFIX}"${WINE_PREFIX}
- --mandir="${EPREFIX}"${WINE_DATADIR}/man
-
- # upstream (Valve) doesn't really support misc configurations (e.g.
- # adds vulkan code not always guarded by --with-vulkan), so force
- # some major options that are typically needed by games either way
- # TODO?: --without-mingw could make sense *if* using clang, assuming
- # bug #912237 is resolved (consider when do USE=wow64 in proton-9)
- --with-freetype
- --with-mingw # needed by many, notably Blizzard titles
- --with-opengl
- --with-vulkan
- --with-x
-
- # ...and disable most options unimportant for games and unused by
- # Proton rather than expose as volatile USEs with little support
- --without-capi
- --without-cups
- --without-gphoto
- --without-gssapi
- --without-krb5
- --without-netapi
- --without-opencl
- --without-pcap
- --without-sane
- ac_cv_lib_soname_odbc=
-
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- $(use_enable video_cards_amdgpu amd_ags_x64)
- --disable-tests
- $(use_with alsa)
- $(use_with fontconfig)
- $(use_with gstreamer)
- $(use_with nls gettext)
- $(use_with osmesa)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pulseaudio pulse)
- $(use_with sdl)
- $(use_with ssl gnutls)
- $(use_with udev)
- $(use_with udisks dbus) # dbus is only used for udisks
- $(use_with unwind)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with xcomposite)
- $(use_with xinerama)
-
- --without-vosk # unpackaged, file a bug if you need this
- )
-
- tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
- filter-lto # build failure
- use custom-cflags || strip-flags # can break in obscure ways at runtime
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
- # https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
- append-ldflags -fuse-ld=bfd
-
- # build using upstream's way (--with-wine64)
- # order matters: configure+compile 64->32, install 32->64
- local -i bits
- for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
- (
- einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
-
- mkdir ../build${bits} || die
- cd ../build${bits} || die
-
- pe_arch=i386
- if (( bits == 64 )); then
- pe_arch=x86_64
- : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
- conf+=( --enable-win64 )
- elif use amd64; then
- conf+=(
- $(usev abi_x86_64 --with-wine64=../build64)
- TARGETFLAGS=-m32 # for widl
- )
- # _setup is optional, but use over Wine's auto-detect (+#472038)
- multilib_toolchain_setup x86
- fi
- : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
-
- # CROSSCC is no longer recognized by Wine, but still use for now
- # (future handling for CROSS* variables is subject to changes)
- conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
-
- # use *FLAGS for mingw, but strip unsupported
- : "${CROSSCFLAGS:=$(
- # >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
- # it should (can be removed when proton is rebased on >=8.10)
- append-cflags -fno-strict-aliasing
-
- filter-flags '-fstack-protector*' #870136
- filter-flags '-mfunction-return=thunk*' #878849
-
- # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
- # strip-unsupported-flags miss these during compile-only tests
- # (primarily done for 23.0 profiles' -z, not full coverage)
- filter-flags '-Wl,-z,*'
-
- # -mavx with mingw-gcc has a history of obscure issues and
- # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
- # crashes with -march=skylake >=wine-8.10, similar issues with
- # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
- append-cflags -mno-avx #912268
-
- CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
- : "${CROSSLDFLAGS:=$(
- filter-flags '-fuse-ld=*'
- CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
- export CROSS{C,LD}FLAGS
-
- ECONF_SOURCE=${S} econf "${conf[@]}"
- )
- done
-}
-
-src_compile() {
- use abi_x86_64 && emake -C ../build64 # do first
- use abi_x86_32 && emake -C ../build32
-}
-
-src_install() {
- use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
- use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
-
- # symlink for plain 'wine' and install its man pages if 64bit-only #404331
- if use abi_x86_64 && use !abi_x86_32; then
- dosym wine64 ${WINE_PREFIX}/bin/wine
- dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
- local man
- for man in ../build64/loader/wine.*man; do
- : "${man##*/wine}"
- : "${_%.*}"
- insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
- newins ${man} wine.1
- done
- fi
-
- use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
- "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
-
- # create variant wrappers for eselect-wine
- local bin
- for bin in "${ED}"${WINE_PREFIX}/bin/*; do
- make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
- done
-
- # don't let portage try to strip PE files with the wrong
- # strip executable and instead handle it here (saves ~120MB)
- dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
-
- if use strip; then
- ebegin "Stripping Windows (PE) binaries"
- find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
- -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
- eend ${?} || die
- fi
-
- dodoc ANNOUNCE* AUTHORS README* documentation/README*
- readme.gentoo_create_doc
-}
-
-pkg_preinst() {
- has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
- [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
- if use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
- then
- ewarn "x11-drivers/nvidia-drivers is installed but is built without"
- ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
- ewarn "applications under ${PN} will likely not be usable."
- fi
-
- eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
- eselect wine update --if-unset || die
-}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-03 0:18 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-05-03 0:18 UTC (permalink / raw
To: gentoo-commits
commit: a53143e095bca88a7c78a5c30435e13e7d5a7b30
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri May 3 00:17:58 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri May 3 00:18:03 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a53143e0
app-emulation/wine-proton: add 9.0.1
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 +
app-emulation/wine-proton/wine-proton-9.0.1.ebuild | 420 +++++++++++++++++++++
2 files changed, 421 insertions(+)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 34b2254d80d2..4e84f540f297 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,2 +1,3 @@
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
DIST proton-wine-8.0-5c.tar.gz 48710071 BLAKE2B 99627baea6fb3d51231aa1e75a2734c3c1baba88326baf15b3d421d57a00472d25ba51c2140b51152c8aeae7dd240d3d77bb0d8835aa7eb3b745a51be120f8bb SHA512 0cf98d4e67866e55cc8cd5ea8da0d76aee8e37b130b3cbca604083c913e98ddf9038ecd6f9761d2e11443e282b372977400e251456c6d40e1365210c7578234d
+DIST proton-wine-9.0-1.tar.gz 49048661 BLAKE2B cf237c314e8b222bb36f52f316baae2351a30d22995d610c7977accc9588c474d0e598702000aa81b34fc2f3daeccd09f54ef53b7a2250c0b012ca47d69628eb SHA512 d7d3e4725a86ca120d059e5b8f9760bce45a5db0ae814cd76aa51dc361bb67af9c2834917ddad3858fc324a1d048acdd9942492c77d0f396aae7d537c70e3ca1
diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
new file mode 100644
index 000000000000..5971fb4a6f56
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -0,0 +1,420 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=8.1.0
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+ perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+ usb v4l video_cards_amdgpu wow64 +xcomposite xinerama
+"
+REQUIRED_USE="wow64? ( abi_x86_64 !abi_x86_32 )"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
+# gcc: for -latomic with clang
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ sys-devel/gcc:*
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
+ "${FILESDIR}"/${PN}-8.0.4-restore-menubuilder.patch
+ "${FILESDIR}"/${PN}-9.0-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+ # needed by Valve's fsync patches if using clang (undef atomic_load_8)
+ sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+ -i dlls/{ntdll,winevulkan}/Makefile.in || die
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # proton variant also needs specfiles and vulkan
+ tools/make_specfiles || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-proton
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ # TODO?: --without-mingw could make sense *if* using clang, assuming
+ # bug #912237 is resolved (consider when do USE=wow64 in proton-9)
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-pcsclite
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ # afaik wayland support in 9.0.x currently cannot do opengl/vulkan
+ # yet making it mostly pointless for a gaming-oriented build
+ # (IUSE="X wayland" may be added in wine-proton-10 or 11)
+ --without-wayland
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ $(use_enable video_cards_amdgpu amd_ags_x64)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+
+ --without-vosk # unpackaged, file a bug if you need this
+ )
+
+ filter-lto # build failure
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-07 7:19 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-05-07 7:19 UTC (permalink / raw
To: gentoo-commits
commit: 14fedbed424316e0287e11054aac509376ac226b
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 7 07:04:30 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May 7 07:18:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14fedbed
app-emulation/wine-proton: filter -Wl,--gc-sections
Is an issue with both lld and bfd that I can see, likely due to
the linker tricks wine uses. Let's just filter it as it's fragile.
Skipping revbump given the option is rarely used and shouldn't
affect many.
Bug: https://bugs.gentoo.org/931329
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 1 +
app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 1 +
app-emulation/wine-proton/wine-proton-9.0.1.ebuild | 1 +
app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 1 +
4 files changed, 4 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 25ee6175708f..4820984ae397 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -242,6 +242,7 @@ src_configure() {
tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
use custom-cflags || strip-flags # can break in obscure ways at runtime
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index 9d8a60b340e9..a68574673402 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -246,6 +246,7 @@ src_configure() {
tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
use custom-cflags || strip-flags # can break in obscure ways at runtime
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
index 5971fb4a6f56..34ad2375a843 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -269,6 +269,7 @@ src_configure() {
)
filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
use custom-cflags || strip-flags # can break in obscure ways at runtime
# wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index fda342d879f2..4cabfe3111be 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -269,6 +269,7 @@ src_configure() {
)
filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
use custom-cflags || strip-flags # can break in obscure ways at runtime
# wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-07 14:28 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-05-07 14:28 UTC (permalink / raw
To: gentoo-commits
commit: 664b7392058f7d0d747b6ef514b08d3bd3acc1fc
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 7 14:19:30 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May 7 14:23:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=664b7392
app-emulation/wine-proton: remove unused option
Forgot to remove it when copied from 9999, this is only
used in experimental and not in releases.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-9.0.1.ebuild | 2 --
1 file changed, 2 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
index 34ad2375a843..3826048c0fcc 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -264,8 +264,6 @@ src_configure() {
$(use_with v4l v4l2)
$(use_with xcomposite)
$(use_with xinerama)
-
- --without-vosk # unpackaged, file a bug if you need this
)
filter-lto # build failure
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-10 4:26 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-05-10 4:26 UTC (permalink / raw
To: gentoo-commits
commit: 6665ace8a528cefef5e33a7966ca56ae432e1fb2
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri May 10 04:11:27 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri May 10 04:11:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6665ace8
app-emulation/wine-proton: enable py3.13
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 2 +-
app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 2 +-
app-emulation/wine-proton/wine-proton-9.0.1.ebuild | 2 +-
app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 4820984ae397..fe8d48046141 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -4,7 +4,7 @@
EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit autotools flag-o-matic multilib multilib-build prefix
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index a68574673402..d241cf82281d 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -4,7 +4,7 @@
EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit autotools flag-o-matic multilib multilib-build prefix
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
index 3826048c0fcc..024f4d039fc9 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit autotools flag-o-matic multilib multilib-build prefix
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 4cabfe3111be..6a86d9f190b0 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -4,7 +4,7 @@
EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit autotools flag-o-matic multilib multilib-build prefix
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-16 2:08 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-05-16 2:08 UTC (permalink / raw
To: gentoo-commits
commit: cde08ef0b18352b2c340b2fdb35d74c66c01a0b8
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu May 16 02:04:33 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu May 16 02:05:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cde08ef0
app-emulation/wine-proton: depend on vulkan-loader[X]
Not worth a revbump, rather few people disable that.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 2 +-
app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 2 +-
app-emulation/wine-proton/wine-proton-9.0.1.ebuild | 2 +-
app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index fe8d48046141..546bcaf60b4a 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -43,7 +43,7 @@ WINE_DLOPEN_DEPEND="
dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
media-libs/freetype[${MULTILIB_USEDEP}]
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index d241cf82281d..e5b25d63323f 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -43,7 +43,7 @@ WINE_DLOPEN_DEPEND="
dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
media-libs/freetype[${MULTILIB_USEDEP}]
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
index 024f4d039fc9..4558c65461b2 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -44,7 +44,7 @@ WINE_DLOPEN_DEPEND="
dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
media-libs/freetype[${MULTILIB_USEDEP}]
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 6a86d9f190b0..ceddb4a00eec 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -44,7 +44,7 @@ WINE_DLOPEN_DEPEND="
dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
media-libs/freetype[${MULTILIB_USEDEP}]
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-21 3:01 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-05-21 3:01 UTC (permalink / raw
To: gentoo-commits
commit: b701bf35fd508f2bc15c42805e7ab2ad131ff5f6
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 21 02:23:48 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May 21 02:58:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b701bf35
app-emulation/wine-proton: add workaround for gcc14 ICE w/ mingw
Bug: https://bugs.gentoo.org/932319
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 3 +++
app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 3 +++
app-emulation/wine-proton/wine-proton-9.0.1.ebuild | 3 +++
app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 3 +++
4 files changed, 12 insertions(+)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 546bcaf60b4a..81d3096abf6b 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -295,6 +295,9 @@ src_configure() {
# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
append-cflags -mno-avx #912268
+ # gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
+ append-flags -fomit-frame-pointer
+
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index e5b25d63323f..c0e755952564 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -308,6 +308,9 @@ src_configure() {
# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
append-cflags -mno-avx #912268
+ # gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
+ append-flags -fomit-frame-pointer
+
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
index 4558c65461b2..f3d2a4dc29e1 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -301,6 +301,9 @@ src_configure() {
# (primarily done for 23.0 profiles' -z, not full coverage)
filter-flags '-Wl,-z,*'
+ # gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
+ append-flags -fomit-frame-pointer
+
CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
)}"
diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index ceddb4a00eec..8a5138a724ad 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -303,6 +303,9 @@ src_configure() {
# (primarily done for 23.0 profiles' -z, not full coverage)
filter-flags '-Wl,-z,*'
+ # gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
+ append-flags -fomit-frame-pointer
+
CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
)}"
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-22 3:32 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-05-22 3:32 UTC (permalink / raw
To: gentoo-commits
commit: f148a5bd2cbd0b8094b11865d5b0f9884f551127
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed May 22 02:11:24 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed May 22 03:30:58 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f148a5bd
Revert "app-emulation/wine-proton: add workaround for gcc14 ICE w/ mingw"
This reverts commit b701bf35fd508f2bc15c42805e7ab2ad131ff5f6.
Fixing in mingw64-toolchain instead, *could* keep the workaround
longer for those that didn't update but likely doesn't affect many.
Bug: https://bugs.gentoo.org/932319
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 3 ---
app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 3 ---
app-emulation/wine-proton/wine-proton-9.0.1.ebuild | 3 ---
app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 3 ---
4 files changed, 12 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 81d3096abf6b..546bcaf60b4a 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -295,9 +295,6 @@ src_configure() {
# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
append-cflags -mno-avx #912268
- # gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
- append-flags -fomit-frame-pointer
-
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index c0e755952564..e5b25d63323f 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -308,9 +308,6 @@ src_configure() {
# znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
append-cflags -mno-avx #912268
- # gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
- append-flags -fomit-frame-pointer
-
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
index f3d2a4dc29e1..4558c65461b2 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -301,9 +301,6 @@ src_configure() {
# (primarily done for 23.0 profiles' -z, not full coverage)
filter-flags '-Wl,-z,*'
- # gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
- append-flags -fomit-frame-pointer
-
CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
)}"
diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 8a5138a724ad..ceddb4a00eec 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -303,9 +303,6 @@ src_configure() {
# (primarily done for 23.0 profiles' -z, not full coverage)
filter-flags '-Wl,-z,*'
- # gcc14 -fno-omit-frame-pointer ICE workaround (bug #932319)
- append-flags -fomit-frame-pointer
-
CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
)}"
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-05-31 6:20 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-05-31 6:20 UTC (permalink / raw
To: gentoo-commits
commit: 28ce3c60e87f00db74c1b08ec1f174deff9e39a9
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri May 31 06:09:20 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri May 31 06:19:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28ce3c60
app-emulation/wine-proton: extend 32bit hwaccel warning for mesa
Hard to tell what's actually needed, nvidia users do not need
it on mesa (or need mesa at all), mesa users do not need it on
nvidia, and multi-card users likely need it on both.
If do this through dependencies, *could* always depend on
mesa[abi_x86_32] even if it may be wrong, and depend on nvidia's
if USE=video_cards_nvidia -- but for now sticking to a warning.
Ultimately it's also kind of an optfeature, only needed if
running 32bit hardware accelerated applications and not needed
at build time.
Non-issue for users doing abi_x86_32 globally.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 19 ++++++++++++++-----
app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 19 ++++++++++++++-----
app-emulation/wine-proton/wine-proton-9.0.1.ebuild | 19 ++++++++++++++-----
app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 19 ++++++++++++++-----
4 files changed, 56 insertions(+), 20 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 546bcaf60b4a..cdab45831b77 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -355,11 +355,20 @@ pkg_preinst() {
pkg_postinst() {
[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
- if use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
- then
- ewarn "x11-drivers/nvidia-drivers is installed but is built without"
- ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
- ewarn "applications under ${PN} will likely not be usable."
+ if use abi_x86_32; then
+ # difficult to tell what is needed from here, but try to warn
+ if has_version 'x11-drivers/nvidia-drivers'; then
+ if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ ewarn "Multi-card setups may need this on media-libs/mesa as well."
+ fi
+ elif has_version 'media-libs/mesa[-abi_x86_32]'; then
+ ewarn "media-libs/mesa seems to be in use but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
fi
eselect wine update --if-unset || die
diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index e5b25d63323f..83417e7c34f7 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -372,11 +372,20 @@ pkg_preinst() {
pkg_postinst() {
[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
- if use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
- then
- ewarn "x11-drivers/nvidia-drivers is installed but is built without"
- ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
- ewarn "applications under ${PN} will likely not be usable."
+ if use abi_x86_32; then
+ # difficult to tell what is needed from here, but try to warn
+ if has_version 'x11-drivers/nvidia-drivers'; then
+ if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ ewarn "Multi-card setups may need this on media-libs/mesa as well."
+ fi
+ elif has_version 'media-libs/mesa[-abi_x86_32]'; then
+ ewarn "media-libs/mesa seems to be in use but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
fi
eselect wine update --if-unset || die
diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
index 4558c65461b2..1dd72b877060 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -404,11 +404,20 @@ pkg_postinst() {
ewarn "work, be warned that it is not unusual that installers or other helpers"
ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
- elif use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
- then
- ewarn "x11-drivers/nvidia-drivers is installed but is built without"
- ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
- ewarn "applications under ${PN} will likely not be usable."
+ elif use abi_x86_32; then
+ # difficult to tell what is needed from here, but try to warn
+ if has_version 'x11-drivers/nvidia-drivers'; then
+ if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ ewarn "Multi-card setups may need this on media-libs/mesa as well."
+ fi
+ elif has_version 'media-libs/mesa[-abi_x86_32]'; then
+ ewarn "media-libs/mesa seems to be in use but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
fi
eselect wine update --if-unset || die
diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index ceddb4a00eec..f43dad37ae8e 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -406,11 +406,20 @@ pkg_postinst() {
ewarn "work, be warned that it is not unusual that installers or other helpers"
ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
- elif use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
- then
- ewarn "x11-drivers/nvidia-drivers is installed but is built without"
- ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
- ewarn "applications under ${PN} will likely not be usable."
+ elif use abi_x86_32; then
+ # difficult to tell what is needed from here, but try to warn
+ if has_version 'x11-drivers/nvidia-drivers'; then
+ if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ ewarn "Multi-card setups may need this on media-libs/mesa as well."
+ fi
+ elif has_version 'media-libs/mesa[-abi_x86_32]'; then
+ ewarn "media-libs/mesa seems to be in use but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
fi
eselect wine update --if-unset || die
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-06-12 23:52 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-06-12 23:52 UTC (permalink / raw
To: gentoo-commits
commit: 2d6401a181645d5f7f55b012232cbb7ecbad7f8e
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 12 23:19:17 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jun 12 23:51:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d6401a1
app-emulation/wine-proton: add 9.0.2
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 +
app-emulation/wine-proton/wine-proton-9.0.2.ebuild | 429 +++++++++++++++++++++
2 files changed, 430 insertions(+)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 4e84f540f297..a78cd9208436 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,3 +1,4 @@
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
DIST proton-wine-8.0-5c.tar.gz 48710071 BLAKE2B 99627baea6fb3d51231aa1e75a2734c3c1baba88326baf15b3d421d57a00472d25ba51c2140b51152c8aeae7dd240d3d77bb0d8835aa7eb3b745a51be120f8bb SHA512 0cf98d4e67866e55cc8cd5ea8da0d76aee8e37b130b3cbca604083c913e98ddf9038ecd6f9761d2e11443e282b372977400e251456c6d40e1365210c7578234d
DIST proton-wine-9.0-1.tar.gz 49048661 BLAKE2B cf237c314e8b222bb36f52f316baae2351a30d22995d610c7977accc9588c474d0e598702000aa81b34fc2f3daeccd09f54ef53b7a2250c0b012ca47d69628eb SHA512 d7d3e4725a86ca120d059e5b8f9760bce45a5db0ae814cd76aa51dc361bb67af9c2834917ddad3858fc324a1d048acdd9942492c77d0f396aae7d537c70e3ca1
+DIST proton-wine-9.0-2.tar.gz 49125171 BLAKE2B ac1e4a63f94689bc4fcc6ab4e2d12cfc214f54181515434ab950d8975d131a5f6333b1e6cb9b67eda61cf3e652e57e27e60ba3cff6a6ac403b07178f382f7e25 SHA512 82efee3100da80f650229d1abf3df4896ab71af4a79c6e5cf03aa646c56f435daf07c6f084a3264067cf90ce509102e3d7ee6d4bf7d0650baf645b5ece08cc7c
diff --git a/app-emulation/wine-proton/wine-proton-9.0.2.ebuild b/app-emulation/wine-proton/wine-proton-9.0.2.ebuild
new file mode 100644
index 000000000000..5b65bf80cc44
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-9.0.2.ebuild
@@ -0,0 +1,429 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.1.0
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+ perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+ usb v4l video_cards_amdgpu wow64 +xcomposite xinerama
+"
+REQUIRED_USE="wow64? ( abi_x86_64 !abi_x86_32 )"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
+# gcc: for -latomic with clang
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ sys-devel/gcc:*
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
+ "${FILESDIR}"/${PN}-8.0.4-restore-menubuilder.patch
+ "${FILESDIR}"/${PN}-8.0.5c-vulkan-libm.patch
+ "${FILESDIR}"/${PN}-9.0-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+ # needed by Valve's fsync patches if using clang (undef atomic_load_8)
+ sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+ -i dlls/{ntdll,winevulkan}/Makefile.in || die
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # proton variant also needs specfiles and vulkan
+ tools/make_specfiles || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-proton
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ # TODO?: --without-mingw could make sense *if* using clang, assuming
+ # bug #912237 is resolved (consider when do USE=wow64 in proton-9)
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-pcsclite
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ # afaik wayland support in 9.0.x currently cannot do opengl/vulkan
+ # yet making it mostly pointless for a gaming-oriented build
+ # (IUSE="X wayland" may be added in wine-proton-10 or 11)
+ --without-wayland
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ $(use_enable video_cards_amdgpu amd_ags_x64)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32; then
+ # difficult to tell what is needed from here, but try to warn
+ if has_version 'x11-drivers/nvidia-drivers'; then
+ if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ ewarn "Multi-card setups may need this on media-libs/mesa as well."
+ fi
+ elif has_version 'media-libs/mesa[-abi_x86_32]'; then
+ ewarn "media-libs/mesa seems to be in use but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+ fi
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-06-12 23:52 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-06-12 23:52 UTC (permalink / raw
To: gentoo-commits
commit: 59c8eae7592a4de4b1b06b3aec93d220d8cfa6cc
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 12 23:19:25 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jun 12 23:51:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59c8eae7
app-emulation/wine-proton: sync live
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index caa389a5712f..9c233aee5903 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build prefix
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.4
-WINE_MONO=9.0.0
+WINE_MONO=9.1.0
WINE_PV=$(ver_rs 2 -)
if [[ ${PV} == *9999 ]]; then
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-07-06 7:03 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-07-06 7:03 UTC (permalink / raw
To: gentoo-commits
commit: 571e804223ddb840722f40486c72267ce95d2be4
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 6 07:02:48 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Jul 6 07:02:54 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=571e8042
app-emulation/wine-proton: update live
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 9c233aee5903..78a63d876e93 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build prefix
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.4
-WINE_MONO=9.1.0
+WINE_MONO=9.2.0
WINE_PV=$(ver_rs 2 -)
if [[ ${PV} == *9999 ]]; then
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-09-19 21:07 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-09-19 21:07 UTC (permalink / raw
To: gentoo-commits
commit: 7243846fa1381b4842b45ff378bd9f501e28d41a
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 19 20:49:36 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Sep 19 21:05:54 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7243846f
app-emulation/wine-proton: add 9.0.3
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 +
app-emulation/wine-proton/wine-proton-9.0.3.ebuild | 429 +++++++++++++++++++++
2 files changed, 430 insertions(+)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index a78cd9208436..4916697a6785 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -2,3 +2,4 @@ DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326
DIST proton-wine-8.0-5c.tar.gz 48710071 BLAKE2B 99627baea6fb3d51231aa1e75a2734c3c1baba88326baf15b3d421d57a00472d25ba51c2140b51152c8aeae7dd240d3d77bb0d8835aa7eb3b745a51be120f8bb SHA512 0cf98d4e67866e55cc8cd5ea8da0d76aee8e37b130b3cbca604083c913e98ddf9038ecd6f9761d2e11443e282b372977400e251456c6d40e1365210c7578234d
DIST proton-wine-9.0-1.tar.gz 49048661 BLAKE2B cf237c314e8b222bb36f52f316baae2351a30d22995d610c7977accc9588c474d0e598702000aa81b34fc2f3daeccd09f54ef53b7a2250c0b012ca47d69628eb SHA512 d7d3e4725a86ca120d059e5b8f9760bce45a5db0ae814cd76aa51dc361bb67af9c2834917ddad3858fc324a1d048acdd9942492c77d0f396aae7d537c70e3ca1
DIST proton-wine-9.0-2.tar.gz 49125171 BLAKE2B ac1e4a63f94689bc4fcc6ab4e2d12cfc214f54181515434ab950d8975d131a5f6333b1e6cb9b67eda61cf3e652e57e27e60ba3cff6a6ac403b07178f382f7e25 SHA512 82efee3100da80f650229d1abf3df4896ab71af4a79c6e5cf03aa646c56f435daf07c6f084a3264067cf90ce509102e3d7ee6d4bf7d0650baf645b5ece08cc7c
+DIST proton-wine-9.0-3.tar.gz 49153588 BLAKE2B 81f80fbcf7045c9e08b8c4fd5feeb24fdc65f4266d6ecc2198e8638e56e6fd65cbf7e6d3d113d84ea0bd24ac8bb4780db0bb8dbfdf93f120b4f3b6a5948eedae SHA512 1ec948c781576bc21d5735db4ad572c7d73ecd046d2d2e45958ddc08ec9591441397bb582bfe8b5eb94c584da7000cf4ab138b67bda4b3e717568842595f0d8f
diff --git a/app-emulation/wine-proton/wine-proton-9.0.3.ebuild b/app-emulation/wine-proton/wine-proton-9.0.3.ebuild
new file mode 100644
index 000000000000..3895030f61ab
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-9.0.3.ebuild
@@ -0,0 +1,429 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.2.0
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+ perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+ usb v4l video_cards_amdgpu wow64 +xcomposite xinerama
+"
+REQUIRED_USE="wow64? ( abi_x86_64 !abi_x86_32 )"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
+# gcc: for -latomic with clang
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ sys-devel/gcc:*
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
+ "${FILESDIR}"/${PN}-8.0.4-restore-menubuilder.patch
+ "${FILESDIR}"/${PN}-8.0.5c-vulkan-libm.patch
+ "${FILESDIR}"/${PN}-9.0-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+ # needed by Valve's fsync patches if using clang (undef atomic_load_8)
+ sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+ -i dlls/{ntdll,winevulkan}/Makefile.in || die
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # proton variant also needs specfiles and vulkan
+ tools/make_specfiles || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-proton
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ # TODO?: --without-mingw could make sense *if* using clang, assuming
+ # bug #912237 is resolved (consider when do USE=wow64 in proton-9)
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-pcsclite
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ # afaik wayland support in 9.0.x currently cannot do opengl/vulkan
+ # yet making it mostly pointless for a gaming-oriented build
+ # (IUSE="X wayland" may be added in wine-proton-10 or 11)
+ --without-wayland
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ $(use_enable video_cards_amdgpu amd_ags_x64)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32; then
+ # difficult to tell what is needed from here, but try to warn
+ if has_version 'x11-drivers/nvidia-drivers'; then
+ if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ ewarn "Multi-card setups may need this on media-libs/mesa as well."
+ fi
+ elif has_version 'media-libs/mesa[-abi_x86_32]'; then
+ ewarn "media-libs/mesa seems to be in use but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+ fi
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-09-20 7:15 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-09-20 7:15 UTC (permalink / raw
To: gentoo-commits
commit: c69bb4ed9c919da4083f9e114b915cd6b23f525f
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 20 07:11:40 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Sep 20 07:15:24 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c69bb4ed
app-emulation/wine-proton: update live
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 78a63d876e93..40365fde2442 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build prefix
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.4
-WINE_MONO=9.2.0
+WINE_MONO=9.3.0
WINE_PV=$(ver_rs 2 -)
if [[ ${PV} == *9999 ]]; then
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-10-02 4:35 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-10-02 4:35 UTC (permalink / raw
To: gentoo-commits
commit: 7d8fe16667c8efeb957dce16f704563ce87d699c
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 2 04:30:52 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Oct 2 04:34:40 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d8fe166
app-emulation/wine-proton: update live?
wine-mono was at 9.3.0 (still seeing the old value in a old checkout)
but seems the commit that made that change is gone, was the
experimental_9.0 branch force pushed?
Odds are it's a mistake and will have to change it back, but adjust
anyway in the interim.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
index 40365fde2442..9c233aee5903 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build prefix
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.4
-WINE_MONO=9.3.0
+WINE_MONO=9.1.0
WINE_PV=$(ver_rs 2 -)
if [[ ${PV} == *9999 ]]; then
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-10-05 8:12 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-10-05 8:12 UTC (permalink / raw
To: gentoo-commits
commit: e61124270b92f9e4720e3ca423d9555ad0c82dcb
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 5 06:28:23 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Oct 5 08:11:34 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6112427
app-emulation/wine-proton: add 9999, drop 9.0.9999
Using the "bleeding-edge" branch. Pretty sure this branch did not
exist when formerly added the live ebuild and so had settled for
the versioned experimental branch.
Do not wish to maintain two live ebuilds, and it probably make more
sense to use bleeding edge if any (experimental is not updated that
often, and may lack fixes for very recent games that some users may
need).
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
.../{wine-proton-9.0.9999.ebuild => wine-proton-9999.ebuild} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9999.ebuild
similarity index 99%
rename from app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
rename to app-emulation/wine-proton/wine-proton-9999.ebuild
index 9c233aee5903..dc95b99493af 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9999.ebuild
@@ -9,13 +9,13 @@ inherit autotools flag-o-matic multilib multilib-build prefix
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.4
-WINE_MONO=9.1.0
+WINE_MONO=9.3.0
WINE_PV=$(ver_rs 2 -)
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
- EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+ EGIT_BRANCH="bleeding-edge"
else
SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
S="${WORKDIR}/${PN}-wine-${WINE_PV}"
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
@ 2024-10-05 8:12 Ionen Wolkens
0 siblings, 0 replies; 83+ messages in thread
From: Ionen Wolkens @ 2024-10-05 8:12 UTC (permalink / raw
To: gentoo-commits
commit: 179cd17d5ffd5021f0b6481eb927112593ebbecd
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 5 06:28:51 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Oct 5 08:11:34 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=179cd17d
app-emulation/wine-proton: drop 9.0.1
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/Manifest | 1 -
app-emulation/wine-proton/wine-proton-9.0.1.ebuild | 429 ---------------------
2 files changed, 430 deletions(-)
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 4916697a6785..62c1af0a3a83 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -1,5 +1,4 @@
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
DIST proton-wine-8.0-5c.tar.gz 48710071 BLAKE2B 99627baea6fb3d51231aa1e75a2734c3c1baba88326baf15b3d421d57a00472d25ba51c2140b51152c8aeae7dd240d3d77bb0d8835aa7eb3b745a51be120f8bb SHA512 0cf98d4e67866e55cc8cd5ea8da0d76aee8e37b130b3cbca604083c913e98ddf9038ecd6f9761d2e11443e282b372977400e251456c6d40e1365210c7578234d
-DIST proton-wine-9.0-1.tar.gz 49048661 BLAKE2B cf237c314e8b222bb36f52f316baae2351a30d22995d610c7977accc9588c474d0e598702000aa81b34fc2f3daeccd09f54ef53b7a2250c0b012ca47d69628eb SHA512 d7d3e4725a86ca120d059e5b8f9760bce45a5db0ae814cd76aa51dc361bb67af9c2834917ddad3858fc324a1d048acdd9942492c77d0f396aae7d537c70e3ca1
DIST proton-wine-9.0-2.tar.gz 49125171 BLAKE2B ac1e4a63f94689bc4fcc6ab4e2d12cfc214f54181515434ab950d8975d131a5f6333b1e6cb9b67eda61cf3e652e57e27e60ba3cff6a6ac403b07178f382f7e25 SHA512 82efee3100da80f650229d1abf3df4896ab71af4a79c6e5cf03aa646c56f435daf07c6f084a3264067cf90ce509102e3d7ee6d4bf7d0650baf645b5ece08cc7c
DIST proton-wine-9.0-3.tar.gz 49153588 BLAKE2B 81f80fbcf7045c9e08b8c4fd5feeb24fdc65f4266d6ecc2198e8638e56e6fd65cbf7e6d3d113d84ea0bd24ac8bb4780db0bb8dbfdf93f120b4f3b6a5948eedae SHA512 1ec948c781576bc21d5735db4ad572c7d73ecd046d2d2e45958ddc08ec9591441397bb582bfe8b5eb94c584da7000cf4ab138b67bda4b3e717568842595f0d8f
diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
deleted file mode 100644
index aaa8d2f07d3c..000000000000
--- a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
+++ /dev/null
@@ -1,429 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..13} )
-inherit autotools flag-o-matic multilib multilib-build prefix
-inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
-
-WINE_GECKO=2.47.4
-WINE_MONO=8.1.0
-WINE_PV=$(ver_rs 2 -)
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
- EGIT_BRANCH="experimental_$(ver_cut 1-2)"
-else
- SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
- S="${WORKDIR}/${PN}-wine-${WINE_PV}"
- KEYWORDS="-* amd64 ~x86"
-fi
-
-DESCRIPTION="Valve Software's fork of Wine"
-HOMEPAGE="https://github.com/ValveSoftware/wine/"
-
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
-SLOT="${PV}"
-IUSE="
- +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
- +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
- perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
- usb v4l video_cards_amdgpu wow64 +xcomposite xinerama
-"
-REQUIRED_USE="wow64? ( abi_x86_64 !abi_x86_32 )"
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
- media-libs/freetype[${MULTILIB_USEDEP}]
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
- x11-libs/libXcursor[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/libXi[${MULTILIB_USEDEP}]
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-libs/libXrender[${MULTILIB_USEDEP}]
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
- fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
- osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
- ssl? (
- dev-libs/gmp:=[${MULTILIB_USEDEP}]
- net-libs/gnutls:=[${MULTILIB_USEDEP}]
- )
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
-"
-# gcc: for -latomic with clang
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- sys-devel/gcc:*
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- )
- pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- unwind? (
- llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
- !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
- )
- usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
-"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- gecko? (
- app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
- wow64? ( app-emulation/wine-gecko[abi_x86_32] )
- )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )
-"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- sys-kernel/linux-headers
- x11-base/xorg-proto
-"
-BDEPEND="
- ${PYTHON_DEPS}
- || (
- sys-devel/binutils
- sys-devel/lld
- )
- dev-lang/perl
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- !crossdev-mingw? (
- >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
- wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
- )
-"
-IDEPEND=">=app-eselect/eselect-wine-2"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- __clear_cache # unused on amd64+x86 (bug #900332)
- res_getservers # false positive
-)
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.0.4-musl.patch
- "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
- "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
- "${FILESDIR}"/${PN}-8.0.4-restore-menubuilder.patch
- "${FILESDIR}"/${PN}-8.0.5c-vulkan-libm.patch
- "${FILESDIR}"/${PN}-9.0-rpath.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
- local mingw=-w64-mingw32
- for mingw in $(usev abi_x86_64 x86_64${mingw}) \
- $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
- if ! type -P ${mingw}-gcc >/dev/null; then
- eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
- eerror "yourself by installing sys-devel/crossdev then running:"
- eerror
- eerror " crossdev --target ${mingw}"
- eerror
- eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
- eerror "--> Note that mingw builds are default for ${PN} even without this USE."
- die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
- fi
- done
- fi
-}
-
-src_prepare() {
- # sanity check, bumping these has a history of oversights
- local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
- dlls/appwiz.cpl/addons.c || die)
- if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
- local gmfatal=
- [[ ${PV} == *9999 ]] && gmfatal=nonfatal
- ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
- fi
-
- default
-
- if tc-is-clang; then
- # -mabi=ms was ignored by <clang:16 then turned error in :17
- # and it still gets used in install phase despite --with-mingw,
- # drop as a quick fix for now which hopefully should be safe
- sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
-
- # needed by Valve's fsync patches if using clang (undef atomic_load_8)
- sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
- -i dlls/{ntdll,winevulkan}/Makefile.in || die
- fi
-
- # ensure .desktop calls this variant + slot
- sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
-
- # similarly to staging, append to `wine --version` for identification
- sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
-
- # datadir is not where wine-mono is installed, so prefixy alternate paths
- hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
-
- # always update for patches (including user's wrt #432348)
- eautoreconf
- tools/make_requests || die # perl
- # proton variant also needs specfiles and vulkan
- tools/make_specfiles || die # perl
- dlls/winevulkan/make_vulkan -x vk.xml || die # python
- # tip: if need more for user patches, with portage can e.g. do
- # echo "post_src_prepare() { tools/make_specfiles || die; }" \
- # > /etc/portage/env/app-emulation/wine-proton
-}
-
-src_configure() {
- WINE_PREFIX=/usr/lib/${P}
- WINE_DATADIR=/usr/share/${P}
-
- local conf=(
- --prefix="${EPREFIX}"${WINE_PREFIX}
- --datadir="${EPREFIX}"${WINE_DATADIR}
- --includedir="${EPREFIX}"/usr/include/${P}
- --libdir="${EPREFIX}"${WINE_PREFIX}
- --mandir="${EPREFIX}"${WINE_DATADIR}/man
-
- $(usev wow64 --enable-archs=x86_64,i386)
-
- # upstream (Valve) doesn't really support misc configurations (e.g.
- # adds vulkan code not always guarded by --with-vulkan), so force
- # some major options that are typically needed by games either way
- # TODO?: --without-mingw could make sense *if* using clang, assuming
- # bug #912237 is resolved (consider when do USE=wow64 in proton-9)
- --with-freetype
- --with-mingw # needed by many, notably Blizzard titles
- --with-opengl
- --with-vulkan
- --with-x
-
- # ...and disable most options unimportant for games and unused by
- # Proton rather than expose as volatile USEs with little support
- --without-capi
- --without-cups
- --without-gphoto
- --without-gssapi
- --without-krb5
- --without-netapi
- --without-opencl
- --without-pcap
- --without-pcsclite
- --without-sane
- ac_cv_lib_soname_odbc=
-
- # afaik wayland support in 9.0.x currently cannot do opengl/vulkan
- # yet making it mostly pointless for a gaming-oriented build
- # (IUSE="X wayland" may be added in wine-proton-10 or 11)
- --without-wayland
-
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- $(use_enable video_cards_amdgpu amd_ags_x64)
- --disable-tests
- $(use_with alsa)
- $(use_with fontconfig)
- $(use_with gstreamer)
- $(use_with nls gettext)
- $(use_with osmesa)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pulseaudio pulse)
- $(use_with sdl)
- $(use_with ssl gnutls)
- $(use_with udev)
- $(use_with udisks dbus) # dbus is only used for udisks
- $(use_with unwind)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with xcomposite)
- $(use_with xinerama)
- )
-
- filter-lto # build failure
- filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
- use custom-cflags || strip-flags # can break in obscure ways at runtime
-
- # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
- # (do self test until https://github.com/gentoo/gentoo/pull/28355)
- if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
- then
- has_version -b sys-devel/binutils &&
- append-ldflags -fuse-ld=bfd ||
- append-ldflags -fuse-ld=lld
- strip-unsupported-flags
- fi
-
- use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
-
- # CROSSCC was formerly recognized by wine, thus been using similar
- # variables (subject to change, esp. if ever make a mingw.eclass).
- local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
- local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
- local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
-
- conf+=(
- ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
- ac_cv_prog_i386_CC="${mingwcc_x86}"
-
- CROSSCFLAGS="${CROSSCFLAGS:-$(
- filter-flags '-fstack-protector*' #870136
- filter-flags '-mfunction-return=thunk*' #878849
-
- # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
- # strip-unsupported-flags miss these during compile-only tests
- # (primarily done for 23.0 profiles' -z, not full coverage)
- filter-flags '-Wl,-z,*'
-
- CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
- )}"
-
- CROSSLDFLAGS="${CROSSLDFLAGS:-$(
- filter-flags '-fuse-ld=*'
-
- CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
- )}"
- )
-
- # order matters with multilib: configure+compile 64->32, install 32->64
- local -i bits
- for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
- (
- einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
-
- mkdir ../build${bits} || die
- cd ../build${bits} || die
-
- if (( bits == 64 )); then
- conf+=( --enable-win64 )
- elif use amd64; then
- conf+=(
- $(usev abi_x86_64 --with-wine64=../build64)
- TARGETFLAGS=-m32 # for widl
- )
- # _setup is optional, but use over Wine's auto-detect (+#472038)
- multilib_toolchain_setup x86
- fi
-
- ECONF_SOURCE=${S} econf "${conf[@]}"
- )
- done
-}
-
-src_compile() {
- use abi_x86_64 && emake -C ../build64 # do first
- use abi_x86_32 && emake -C ../build32
-}
-
-src_install() {
- use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
- use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
-
- # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
- # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
- # one or the other could be missing and that is unexpected for users
- # and some tools like winetricks)
- if use abi_x86_64; then
- if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
- dosym wine64 ${WINE_PREFIX}/bin/wine
- dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
-
- # also install wine(1) man pages (incl. translations)
- local man
- for man in ../build64/loader/wine.*man; do
- : "${man##*/wine}"
- : "${_%.*}"
- insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
- newins ${man} wine.1
- done
- elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
- dosym wine ${WINE_PREFIX}/bin/wine64
- dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
- fi
- fi
-
- use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
- "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
-
- # create variant wrappers for eselect-wine
- local bin
- for bin in "${ED}"${WINE_PREFIX}/bin/*; do
- make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
- done
-
- # don't let portage try to strip PE files with the wrong
- # strip executable and instead handle it here (saves ~120MB)
- dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
-
- if use strip; then
- ebegin "Stripping Windows (PE) binaries"
- find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
- -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
- eend ${?} || die
- fi
-
- dodoc ANNOUNCE* AUTHORS README* documentation/README*
- readme.gentoo_create_doc
-}
-
-pkg_preinst() {
- has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
-}
-
-pkg_postinst() {
- [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
-
- if use !abi_x86_32 && use !wow64; then
- ewarn "32bit support is disabled. While 64bit applications themselves will"
- ewarn "work, be warned that it is not unusual that installers or other helpers"
- ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
- ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
- elif use abi_x86_32; then
- # difficult to tell what is needed from here, but try to warn
- if has_version 'x11-drivers/nvidia-drivers'; then
- if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then
- ewarn "x11-drivers/nvidia-drivers is installed but is built without"
- ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
- ewarn "applications under ${PN} will likely not be usable."
- ewarn "Multi-card setups may need this on media-libs/mesa as well."
- fi
- elif has_version 'media-libs/mesa[-abi_x86_32]'; then
- ewarn "media-libs/mesa seems to be in use but is built without"
- ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
- ewarn "applications under ${PN} will likely not be usable."
- fi
- fi
-
- eselect wine update --if-unset || die
-}
-
-pkg_postrm() {
- eselect wine update --if-unset || die
-}
^ permalink raw reply related [flat|nested] 83+ messages in thread
end of thread, other threads:[~2024-10-05 8:12 UTC | newest]
Thread overview: 83+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-04 12:08 [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/ Ionen Wolkens
-- strict thread matches above, loose matches on Subject: below --
2024-10-05 8:12 Ionen Wolkens
2024-10-05 8:12 Ionen Wolkens
2024-10-02 4:35 Ionen Wolkens
2024-09-20 7:15 Ionen Wolkens
2024-09-19 21:07 Ionen Wolkens
2024-07-06 7:03 Ionen Wolkens
2024-06-12 23:52 Ionen Wolkens
2024-06-12 23:52 Ionen Wolkens
2024-05-31 6:20 Ionen Wolkens
2024-05-22 3:32 Ionen Wolkens
2024-05-21 3:01 Ionen Wolkens
2024-05-16 2:08 Ionen Wolkens
2024-05-10 4:26 Ionen Wolkens
2024-05-07 14:28 Ionen Wolkens
2024-05-07 7:19 Ionen Wolkens
2024-05-03 0:18 Ionen Wolkens
2024-04-22 20:31 Ionen Wolkens
2024-04-22 20:31 Ionen Wolkens
2024-03-24 18:39 Ionen Wolkens
2024-03-22 12:31 Ionen Wolkens
2024-03-20 7:17 Ionen Wolkens
2024-03-12 4:29 Ionen Wolkens
2024-03-05 6:03 Ionen Wolkens
2024-01-22 23:34 Ionen Wolkens
2024-01-17 16:20 Ionen Wolkens
2024-01-13 13:11 Ionen Wolkens
2024-01-13 13:11 Ionen Wolkens
2024-01-08 21:48 Ionen Wolkens
2024-01-08 12:59 Ionen Wolkens
2024-01-08 12:59 Ionen Wolkens
2024-01-04 14:20 Ionen Wolkens
2023-12-21 6:49 Ionen Wolkens
2023-12-01 8:04 Ionen Wolkens
2023-12-01 6:46 Ionen Wolkens
2023-11-09 6:37 Ionen Wolkens
2023-10-06 9:23 Arthur Zamarin
2023-10-06 6:43 Ionen Wolkens
2023-08-28 12:19 Ionen Wolkens
2023-08-19 9:51 Ionen Wolkens
2023-08-14 10:26 Ionen Wolkens
2023-08-13 19:45 Ionen Wolkens
2023-08-11 10:52 Ionen Wolkens
2023-08-11 10:52 Ionen Wolkens
2023-08-11 10:52 Ionen Wolkens
2023-08-10 10:53 Ionen Wolkens
2023-08-10 10:53 Ionen Wolkens
2023-08-10 10:53 Ionen Wolkens
2023-08-06 4:32 Ionen Wolkens
2023-07-21 20:42 Ionen Wolkens
2023-07-21 20:42 Ionen Wolkens
2023-07-11 5:37 Ionen Wolkens
2023-06-26 10:12 Ionen Wolkens
2023-06-24 4:56 Ionen Wolkens
2023-06-02 6:54 Ionen Wolkens
2023-05-23 17:15 Ionen Wolkens
2023-05-06 11:17 Ionen Wolkens
2023-05-06 9:42 Arthur Zamarin
2023-05-02 19:41 Ionen Wolkens
2023-05-02 16:56 Ionen Wolkens
2023-04-29 9:43 Ionen Wolkens
2023-04-24 3:43 Ionen Wolkens
2023-04-24 3:43 Ionen Wolkens
2023-04-19 4:36 Ionen Wolkens
2023-04-17 20:45 Ionen Wolkens
2023-03-08 10:25 Ionen Wolkens
2023-02-03 19:49 Ionen Wolkens
2023-02-03 19:49 Ionen Wolkens
2022-12-19 7:23 Ionen Wolkens
2022-12-06 1:15 Ionen Wolkens
2022-12-02 3:18 Ionen Wolkens
2022-11-23 23:24 Ionen Wolkens
2022-11-23 22:51 Ionen Wolkens
2022-11-23 22:38 Ionen Wolkens
2022-11-23 20:39 Ionen Wolkens
2022-11-23 20:39 Ionen Wolkens
2022-11-17 14:58 Ionen Wolkens
2022-11-12 2:50 Ionen Wolkens
2022-10-31 0:54 Ionen Wolkens
2022-10-23 7:20 Ionen Wolkens
2022-09-14 23:11 Ionen Wolkens
2022-09-10 9:48 Ionen Wolkens
2022-09-10 9:48 Ionen Wolkens
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox