commit:     40ea68177623b1b912f6c6d9c97fb7e8232b6e6c
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 23 05:03:11 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Dec 23 05:04:08 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=40ea6817

net-libs/mbedtls: fix tests with GCC 15

GCC 15 makes a change to union initialisation and exposes a bug in
mbedtls. Build with the new -fzero-init-padding-bits=unions flag if
supported to fix the testsuite until the upstream bug is fixed.

Bug: https://github.com/Mbed-TLS/mbedtls/issues/9814
Closes: https://bugs.gentoo.org/946544
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../mbedtls/{mbedtls-2.28.8.ebuild => mbedtls-2.28.8-r1.ebuild}  | 9 ++++++++-
 .../mbedtls/{mbedtls-2.28.9.ebuild => mbedtls-2.28.9-r1.ebuild}  | 9 ++++++++-
 .../mbedtls/{mbedtls-3.6.2.ebuild => mbedtls-3.6.2-r1.ebuild}    | 9 ++++++++-
 3 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/net-libs/mbedtls/mbedtls-2.28.8.ebuild 
b/net-libs/mbedtls/mbedtls-2.28.8-r1.ebuild
similarity index 91%
rename from net-libs/mbedtls/mbedtls-2.28.8.ebuild
rename to net-libs/mbedtls/mbedtls-2.28.8-r1.ebuild
index 277de889ee8d..748942d2e93f 100644
--- a/net-libs/mbedtls/mbedtls-2.28.8.ebuild
+++ b/net-libs/mbedtls/mbedtls-2.28.8-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
 
 PYTHON_COMPAT=( python3_{10..12} )
 
-inherit cmake multilib-minimal python-any-r1
+inherit cmake flag-o-matic multilib-minimal python-any-r1
 
 DESCRIPTION="Cryptographic library for embedded systems"
 HOMEPAGE="https://www.trustedfirmware.org/projects/mbed-tls/";
@@ -49,6 +49,13 @@ src_prepare() {
        cmake_src_prepare
 }
 
+src_configure() {
+       # Workaround for https://github.com/Mbed-TLS/mbedtls/issues/9814 (bug 
#946544)
+       append-flags $(test-flags-CC -fzero-init-padding-bits=unions)
+
+       multilib-minimal_src_configure
+}
+
 multilib_src_configure() {
        local mycmakeargs=(
                -DENABLE_PROGRAMS=$(multilib_native_usex programs)

diff --git a/net-libs/mbedtls/mbedtls-2.28.9.ebuild 
b/net-libs/mbedtls/mbedtls-2.28.9-r1.ebuild
similarity index 91%
rename from net-libs/mbedtls/mbedtls-2.28.9.ebuild
rename to net-libs/mbedtls/mbedtls-2.28.9-r1.ebuild
index 3bcc990f2b70..622ce0e78ec5 100644
--- a/net-libs/mbedtls/mbedtls-2.28.9.ebuild
+++ b/net-libs/mbedtls/mbedtls-2.28.9-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
 
 PYTHON_COMPAT=( python3_{10..13} )
 
-inherit cmake multilib-minimal python-any-r1
+inherit cmake flag-o-matic multilib-minimal python-any-r1
 
 DESCRIPTION="Cryptographic library for embedded systems"
 HOMEPAGE="https://www.trustedfirmware.org/projects/mbed-tls/";
@@ -48,6 +48,13 @@ src_prepare() {
        cmake_src_prepare
 }
 
+src_configure() {
+       # Workaround for https://github.com/Mbed-TLS/mbedtls/issues/9814 (bug 
#946544)
+       append-flags $(test-flags-CC -fzero-init-padding-bits=unions)
+
+       multilib-minimal_src_configure
+}
+
 multilib_src_configure() {
        local mycmakeargs=(
                -DENABLE_PROGRAMS=$(multilib_native_usex programs)

diff --git a/net-libs/mbedtls/mbedtls-3.6.2.ebuild 
b/net-libs/mbedtls/mbedtls-3.6.2-r1.ebuild
similarity index 90%
rename from net-libs/mbedtls/mbedtls-3.6.2.ebuild
rename to net-libs/mbedtls/mbedtls-3.6.2-r1.ebuild
index 0d3fb3694a4e..89dea0151ff0 100644
--- a/net-libs/mbedtls/mbedtls-3.6.2.ebuild
+++ b/net-libs/mbedtls/mbedtls-3.6.2-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
 
 PYTHON_COMPAT=( python3_{10..13} )
 
-inherit cmake multilib-minimal python-any-r1
+inherit cmake flag-o-matic multilib-minimal python-any-r1
 
 DESCRIPTION="Cryptographic library for embedded systems"
 HOMEPAGE="https://www.trustedfirmware.org/projects/mbed-tls/";
@@ -42,6 +42,13 @@ src_prepare() {
        cmake_src_prepare
 }
 
+src_configure() {
+       # Workaround for https://github.com/Mbed-TLS/mbedtls/issues/9814 (bug 
#946544)
+       append-flags $(test-flags-CC -fzero-init-padding-bits=unions)
+
+       multilib-minimal_src_configure
+}
+
 multilib_src_configure() {
        local mycmakeargs=(
                -DENABLE_PROGRAMS=$(multilib_native_usex programs)

Reply via email to