public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtbase/, dev-qt/qtbase/files/
Date: Tue, 13 Aug 2024 01:27:32 +0000 (UTC)	[thread overview]
Message-ID: <1723512335.486b070b0523b91176f5c56f93635de9a15f6a1c.ionen@gentoo> (raw)

commit:     486b070b0523b91176f5c56f93635de9a15f6a1c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 12 21:05:42 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Aug 13 01:25:35 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=486b070b

dev-qt/qtbase: fix build with gcc15, incl. for revdeps

Issue is in public headers, so revbump is necessary. Please ensure
update to qtbase-6.7.2-r2 before reporting new bugs while testing
gcc15. Thankfully most normal users should have updated long before
gcc15 is keyworded (and further stabled) so there should be little
need to set lower bounds.

Closes: https://bugs.gentoo.org/937808
Closes: https://bugs.gentoo.org/937809
Closes: https://bugs.gentoo.org/937824
Closes: https://bugs.gentoo.org/937825
Closes: https://bugs.gentoo.org/937828
Closes: https://bugs.gentoo.org/937829
Thanks-to: Sam James <sam <AT> gentoo.org>
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-qt/qtbase/files/qtbase-6.7.2-gcc15-odr.patch   | 32 ++++++++++++++++++++++
 ...base-6.7.2-r1.ebuild => qtbase-6.7.2-r2.ebuild} |  1 +
 dev-qt/qtbase/qtbase-6.7.9999.ebuild               |  1 +
 dev-qt/qtbase/qtbase-6.8.9999.ebuild               |  1 +
 dev-qt/qtbase/qtbase-6.9999.ebuild                 |  1 +
 5 files changed, 36 insertions(+)

diff --git a/dev-qt/qtbase/files/qtbase-6.7.2-gcc15-odr.patch b/dev-qt/qtbase/files/qtbase-6.7.2-gcc15-odr.patch
new file mode 100644
index 000000000000..64cedb14662a
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.7.2-gcc15-odr.patch
@@ -0,0 +1,32 @@
+https://codereview.qt-project.org/c/qt/qtbase/+/582403
+From: Sam James <sam@gentoo.org>
+Date: Sat, 10 Aug 2024 16:43:05 +0100
+Subject: [PATCH] Fix ODR violation for IsFloatType_v
+
+With recent GCC 15 trunk, I started to see:
+```
+ld: .../kwalletentry.cc.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
+	src/runtime/kwalletd/backend/CMakeFiles/KF6WalletBackend.dir/cbc.cc.o:(.rodata+0x0): first defined here
+```
+
+The issue is that constexpr is only implicitly inline for functions or
+static data members [0], so the two constexpr IsFloatType_v definitions
+here cause an ODR violation.
+
+Explicitly mark them as inline constexpr.
+
+[0] http://eel.is/c++draft/dcl.constexpr#1.sentence-3
+--- a/src/corelib/global/qcomparehelpers.h
++++ b/src/corelib/global/qcomparehelpers.h
+@@ -348,9 +348,9 @@
+ 
+ template <typename T>
+-constexpr bool IsFloatType_v = std::is_floating_point_v<T>;
++inline constexpr bool IsFloatType_v = std::is_floating_point_v<T>;
+ 
+ #if QFLOAT16_IS_NATIVE
+ template <>
+-constexpr bool IsFloatType_v<QtPrivate::NativeFloat16Type> = true;
++inline constexpr bool IsFloatType_v<QtPrivate::NativeFloat16Type> = true;
+ #endif
+ 

diff --git a/dev-qt/qtbase/qtbase-6.7.2-r1.ebuild b/dev-qt/qtbase/qtbase-6.7.2-r2.ebuild
similarity index 99%
rename from dev-qt/qtbase/qtbase-6.7.2-r1.ebuild
rename to dev-qt/qtbase/qtbase-6.7.2-r2.ebuild
index 37e0b5c51a97..3b8705b716fd 100644
--- a/dev-qt/qtbase/qtbase-6.7.2-r1.ebuild
+++ b/dev-qt/qtbase/qtbase-6.7.2-r2.ebuild
@@ -146,6 +146,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
 	"${FILESDIR}"/${PN}-6.6.3-gcc14-avx512fp16.patch
 	"${FILESDIR}"/${PN}-6.7.2-CVE-2024-39936.patch
+	"${FILESDIR}"/${PN}-6.7.2-gcc15-odr.patch
 )
 
 src_prepare() {

diff --git a/dev-qt/qtbase/qtbase-6.7.9999.ebuild b/dev-qt/qtbase/qtbase-6.7.9999.ebuild
index 66720e44d615..e4a66f7137f8 100644
--- a/dev-qt/qtbase/qtbase-6.7.9999.ebuild
+++ b/dev-qt/qtbase/qtbase-6.7.9999.ebuild
@@ -145,6 +145,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch
 	"${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
 	"${FILESDIR}"/${PN}-6.6.3-gcc14-avx512fp16.patch
+	"${FILESDIR}"/${PN}-6.7.2-gcc15-odr.patch
 )
 
 src_prepare() {

diff --git a/dev-qt/qtbase/qtbase-6.8.9999.ebuild b/dev-qt/qtbase/qtbase-6.8.9999.ebuild
index 0f0f5cc3cd3a..9af015d9b088 100644
--- a/dev-qt/qtbase/qtbase-6.8.9999.ebuild
+++ b/dev-qt/qtbase/qtbase-6.8.9999.ebuild
@@ -145,6 +145,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch
 	"${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
 	"${FILESDIR}"/${PN}-6.6.3-gcc14-avx512fp16.patch
+	"${FILESDIR}"/${PN}-6.7.2-gcc15-odr.patch
 )
 
 src_prepare() {

diff --git a/dev-qt/qtbase/qtbase-6.9999.ebuild b/dev-qt/qtbase/qtbase-6.9999.ebuild
index 0f0f5cc3cd3a..9af015d9b088 100644
--- a/dev-qt/qtbase/qtbase-6.9999.ebuild
+++ b/dev-qt/qtbase/qtbase-6.9999.ebuild
@@ -145,6 +145,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch
 	"${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
 	"${FILESDIR}"/${PN}-6.6.3-gcc14-avx512fp16.patch
+	"${FILESDIR}"/${PN}-6.7.2-gcc15-odr.patch
 )
 
 src_prepare() {


             reply	other threads:[~2024-08-13  1:27 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-13  1:27 Ionen Wolkens [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-03-03 22:39 [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtbase/, dev-qt/qtbase/files/ James Le Cuirot
2025-02-06 14:33 Ionen Wolkens
2025-02-02 12:26 Ionen Wolkens
2024-10-08 17:46 Ionen Wolkens
2024-09-03  7:44 Ionen Wolkens
2024-08-25 17:07 Maciej Mrozowski
2024-08-24  8:54 Ionen Wolkens
2024-08-13  1:27 Ionen Wolkens
2024-06-08 13:41 Ionen Wolkens
2024-05-02 13:09 Ionen Wolkens
2024-04-19  7:55 Ionen Wolkens
2024-04-05 14:37 Ionen Wolkens
2024-01-03 15:52 Ionen Wolkens
2023-12-19 20:33 Ionen Wolkens
2023-11-29  5:36 Ionen Wolkens
2023-10-09 23:03 Ionen Wolkens
2023-09-24 17:22 Ionen Wolkens
2023-07-20 19:41 Jimi Huotari
2023-06-10 13:33 Jimi Huotari
2023-06-02 15:39 Jimi Huotari
2023-05-24  6:52 Jimi Huotari
2023-03-02 19:18 Mike Gilbert

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=1723512335.486b070b0523b91176f5c56f93635de9a15f6a1c.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