From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 7795A159C9B for ; Tue, 13 Aug 2024 01:27:35 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A7316E2BF8; Tue, 13 Aug 2024 01:27:34 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 906AFE2BF8 for ; Tue, 13 Aug 2024 01:27:34 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 74757343018 for ; Tue, 13 Aug 2024 01:27:33 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 0DCD8E6F for ; Tue, 13 Aug 2024 01:27:32 +0000 (UTC) From: "Ionen Wolkens" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ionen Wolkens" Message-ID: <1723512335.486b070b0523b91176f5c56f93635de9a15f6a1c.ionen@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtbase/, dev-qt/qtbase/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-qt/qtbase/files/qtbase-6.7.2-gcc15-odr.patch dev-qt/qtbase/qtbase-6.7.2-r1.ebuild dev-qt/qtbase/qtbase-6.7.2-r2.ebuild dev-qt/qtbase/qtbase-6.7.9999.ebuild dev-qt/qtbase/qtbase-6.8.9999.ebuild dev-qt/qtbase/qtbase-6.9999.ebuild X-VCS-Directories: dev-qt/qtbase/files/ dev-qt/qtbase/ X-VCS-Committer: ionen X-VCS-Committer-Name: Ionen Wolkens X-VCS-Revision: 486b070b0523b91176f5c56f93635de9a15f6a1c X-VCS-Branch: master Date: Tue, 13 Aug 2024 01:27:32 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: d6796fe3-7f30-45e6-aee2-729f02e062de X-Archives-Hash: 0976306cc864c8b4202cf4c835f2af63 commit: 486b070b0523b91176f5c56f93635de9a15f6a1c Author: Ionen Wolkens gentoo org> AuthorDate: Mon Aug 12 21:05:42 2024 +0000 Commit: Ionen Wolkens gentoo 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 gentoo.org> Signed-off-by: Ionen Wolkens 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 +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 +-constexpr bool IsFloatType_v = std::is_floating_point_v; ++inline constexpr bool IsFloatType_v = std::is_floating_point_v; + + #if QFLOAT16_IS_NATIVE + template <> +-constexpr bool IsFloatType_v = true; ++inline constexpr bool IsFloatType_v = 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() {