From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/
Date: Thu, 28 Nov 2024 05:37:14 +0000 (UTC) [thread overview]
Message-ID: <1732772187.a15fa5bb5c73df85a7261af00158780ca309f357.ionen@gentoo> (raw)
commit: a15fa5bb5c73df85a7261af00158780ca309f357
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 28 03:48:48 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Nov 28 05:36:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a15fa5bb
app-emulation/wine-proton: allow using compiler-rt[atomic-builtins]
Passing -latomic is no longer needed when using the new compiler-rt
w/ USE=atomic-builtins, and lets gcc be optional on llvm profiles.
To recap:
* gcc: don't need -latomic
* clang (w/o compiler-rt): don't need -latomic
* clang + compiler-rt[atomic-builtins]: don't need -latomic
* clang + compiler-rt[-atomic-builtins]: needs -latomic
So, if compiler-rt always provides atomics in the future (rather
than optional) all workarounds could be dropped.
The || ( ) is a bit "best effort" given dependencies don't know
what is actually going to be used.
(not worth a revbump, if really want to depclean gcc please
re-emerge manually)
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 19 ++++++++++++++-----
app-emulation/wine-proton/wine-proton-9.0.2.ebuild | 19 ++++++++++++++-----
app-emulation/wine-proton/wine-proton-9.0.3.ebuild | 19 ++++++++++++++-----
app-emulation/wine-proton/wine-proton-9999.ebuild | 19 ++++++++++++++-----
4 files changed, 56 insertions(+), 20 deletions(-)
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 fe281d763060..484175067031 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -62,10 +62,8 @@ WINE_DLOPEN_DEPEND="
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}]
@@ -98,6 +96,10 @@ RDEPEND="
"
DEPEND="
${WINE_COMMON_DEPEND}
+ || (
+ sys-devel/gcc:*
+ sys-libs/compiler-rt:*[atomic-builtins(-)]
+ )
sys-kernel/linux-headers
x11-base/xorg-proto
"
@@ -165,9 +167,16 @@ src_prepare() {
# 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
+ # note: this is kind-of best effort and ignores llvm slots, rather
+ # than do LLVM_SLOT it may(?) be better to force atomic-builtins
+ # then could drop this altogether in the future
+ if [[ $(tc-get-c-rtlib) == compiler-rt ]] &&
+ has_version 'sys-libs/compiler-rt[-atomic-builtins(-)]'
+ then
+ # needed by Valve's fsync patches if using compiler-rt w/o atomics
+ sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+ -i dlls/{ntdll,winevulkan}/Makefile.in || die
+ fi
fi
# ensure .desktop calls this variant + slot
diff --git a/app-emulation/wine-proton/wine-proton-9.0.2.ebuild b/app-emulation/wine-proton/wine-proton-9.0.2.ebuild
index 4a959910a693..e025b12e1398 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.2.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.2.ebuild
@@ -63,10 +63,8 @@ WINE_DLOPEN_DEPEND="
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}]
@@ -102,6 +100,10 @@ RDEPEND="
"
DEPEND="
${WINE_COMMON_DEPEND}
+ || (
+ sys-devel/gcc:*
+ sys-libs/compiler-rt:*[atomic-builtins(-)]
+ )
sys-kernel/linux-headers
x11-base/xorg-proto
"
@@ -177,9 +179,16 @@ src_prepare() {
# 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
+ # note: this is kind-of best effort and ignores llvm slots, rather
+ # than do LLVM_SLOT it may(?) be better to force atomic-builtins
+ # then could drop this altogether in the future
+ if [[ $(tc-get-c-rtlib) == compiler-rt ]] &&
+ has_version 'sys-libs/compiler-rt[-atomic-builtins(-)]'
+ then
+ # needed by Valve's fsync patches if using compiler-rt w/o atomics
+ sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+ -i dlls/{ntdll,winevulkan}/Makefile.in || die
+ fi
fi
# ensure .desktop calls this variant + slot
diff --git a/app-emulation/wine-proton/wine-proton-9.0.3.ebuild b/app-emulation/wine-proton/wine-proton-9.0.3.ebuild
index 1b6c3be815f9..2b91f26fbdd4 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.3.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.3.ebuild
@@ -63,10 +63,8 @@ WINE_DLOPEN_DEPEND="
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}]
@@ -102,6 +100,10 @@ RDEPEND="
"
DEPEND="
${WINE_COMMON_DEPEND}
+ || (
+ sys-devel/gcc:*
+ sys-libs/compiler-rt:*[atomic-builtins(-)]
+ )
sys-kernel/linux-headers
x11-base/xorg-proto
"
@@ -177,9 +179,16 @@ src_prepare() {
# 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
+ # note: this is kind-of best effort and ignores llvm slots, rather
+ # than do LLVM_SLOT it may(?) be better to force atomic-builtins
+ # then could drop this altogether in the future
+ if [[ $(tc-get-c-rtlib) == compiler-rt ]] &&
+ has_version 'sys-libs/compiler-rt[-atomic-builtins(-)]'
+ then
+ # needed by Valve's fsync patches if using compiler-rt w/o atomics
+ sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+ -i dlls/{ntdll,winevulkan}/Makefile.in || die
+ fi
fi
# ensure .desktop calls this variant + slot
diff --git a/app-emulation/wine-proton/wine-proton-9999.ebuild b/app-emulation/wine-proton/wine-proton-9999.ebuild
index 66402fb77063..84d47f7e7cab 100644
--- a/app-emulation/wine-proton/wine-proton-9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9999.ebuild
@@ -63,10 +63,8 @@ WINE_DLOPEN_DEPEND="
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}]
@@ -102,6 +100,10 @@ RDEPEND="
"
DEPEND="
${WINE_COMMON_DEPEND}
+ || (
+ sys-devel/gcc:*
+ sys-libs/compiler-rt:*[atomic-builtins(-)]
+ )
sys-kernel/linux-headers
x11-base/xorg-proto
"
@@ -177,9 +179,16 @@ src_prepare() {
# 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
+ # note: this is kind-of best effort and ignores llvm slots, rather
+ # than do LLVM_SLOT it may(?) be better to force atomic-builtins
+ # then could drop this altogether in the future
+ if [[ $(tc-get-c-rtlib) == compiler-rt ]] &&
+ has_version 'sys-libs/compiler-rt[-atomic-builtins(-)]'
+ then
+ # needed by Valve's fsync patches if using compiler-rt w/o atomics
+ sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+ -i dlls/{ntdll,winevulkan}/Makefile.in || die
+ fi
fi
# ensure .desktop calls this variant + slot
next reply other threads:[~2024-11-28 5:37 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-28 5:37 Ionen Wolkens [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-02-27 12:30 [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-proton/ Ionen Wolkens
2025-02-26 20:33 Arthur Zamarin
2024-12-31 23:51 Ionen Wolkens
2024-12-11 21:43 Ionen Wolkens
2024-12-11 21:43 Ionen Wolkens
2024-12-11 8:45 Ionen Wolkens
2024-11-18 23:37 Ionen Wolkens
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-03-04 12:08 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1732772187.a15fa5bb5c73df85a7261af00158780ca309f357.ionen@gentoo \
--to=ionen@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox