commit:     5565c4bbc8076d993a0188e568025b4288d512a7
Author:     Z. Liu <zhixu.liu <AT> gmail <DOT> com>
AuthorDate: Mon Dec  8 13:20:41 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 18 04:17:21 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5565c4bb

dev-db/mariadb: fix compilation for musl, gcc 15

Signed-off-by: Z. Liu <zhixu.liu <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/44951
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-db/mariadb/files/mariadb-wsrep-gcc-15.patch | 46 +++++++++++++++++++++++++
 dev-db/mariadb/mariadb-10.11.13.ebuild          |  1 +
 dev-db/mariadb/mariadb-10.11.14-r1.ebuild       |  1 +
 dev-db/mariadb/mariadb-10.11.15.ebuild          |  1 +
 dev-db/mariadb/mariadb-10.6.22.ebuild           |  1 +
 dev-db/mariadb/mariadb-10.6.23-r1.ebuild        |  1 +
 dev-db/mariadb/mariadb-10.6.24.ebuild           |  1 +
 dev-db/mariadb/mariadb-11.4.7-r1.ebuild         |  1 +
 dev-db/mariadb/mariadb-11.4.8-r1.ebuild         |  1 +
 dev-db/mariadb/mariadb-11.4.8-r2.ebuild         |  1 +
 dev-db/mariadb/mariadb-11.4.9.ebuild            |  1 +
 dev-db/mariadb/mariadb-11.8.3-r2.ebuild         |  1 +
 dev-db/mariadb/mariadb-11.8.3-r3.ebuild         |  1 +
 dev-db/mariadb/mariadb-11.8.5.ebuild            |  1 +
 dev-db/mariadb/mariadb-12.0.2-r1.ebuild         |  1 +
 15 files changed, 60 insertions(+)

diff --git a/dev-db/mariadb/files/mariadb-wsrep-gcc-15.patch 
b/dev-db/mariadb/files/mariadb-wsrep-gcc-15.patch
new file mode 100644
index 000000000000..574c6c96d5da
--- /dev/null
+++ b/dev-db/mariadb/files/mariadb-wsrep-gcc-15.patch
@@ -0,0 +1,46 @@
+https://github.com/mariadb-corporation/wsrep-lib/pull/257
+
+From cac2ae3d9ea218637b6ef3b05bd5dfe5f32457bf Mon Sep 17 00:00:00 2001
+From: "Z. Liu" <[email protected]>
+Date: Sun, 7 Dec 2025 23:18:13 +0800
+Subject: [PATCH] Fix compilation for gcc 15 with musl libc
+
+when building on Gentoo with the musl profile, gcc 15 reports the
+following errors:
+
+> In file included from 
/var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/src/provider_options.cpp:20:
+> 
/var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/include/wsrep/provider_options.hpp:114:30:
 error: unknown type name 'int64_t'
+>   114 |             option_value_int(int64_t value)
+>       |                              ^
+> 
/var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/include/wsrep/provider_options.hpp:127:13:
 error: unknown type name 'int64_t'
+>   127 |             int64_t value_;
+>       |             ^
+> 
/var/tmp/portage/dev-db/mariadb-11.8.3-r2/work/mysql/wsrep-lib/include/wsrep/provider_options.hpp:127:21:
 warning: private field 'value_' is not used [-Wunused-private-field]
+>   127 |             int64_t value_;
+>       |                     ^
+> 1 warning and 2 errors generated.
+
+The root cause is that including <memory> pulls in bits/align.h, and GCC
+15 has removed the implicit inclusion of <stdint.h> from bits/align.h.
+As a result, int64_t is no longer defined unless <cstdint> is explicitly
+included.
+
+This patch adds the missing <cstdint> include to fix the build.
+
+Signed-off-by: Z. Liu <[email protected]>
+
+diff --git a/wsrep-lib/include/wsrep/provider_options.hpp 
b/wsrep-lib/include/wsrep/provider_options.hpp
+index 022e159..7009a20 100644
+--- a/wsrep-lib/include/wsrep/provider_options.hpp
++++ b/wsrep-lib/include/wsrep/provider_options.hpp
+@@ -31,6 +31,7 @@
+ #include <map>
+ #include <memory>
+ #include <string>
++#include <cstdint>
+ 
+ namespace wsrep
+ {
+-- 
+2.49.1
+

diff --git a/dev-db/mariadb/mariadb-10.11.13.ebuild 
b/dev-db/mariadb/mariadb-10.11.13.ebuild
index d21e29673d4f..920a8c564e2a 100644
--- a/dev-db/mariadb/mariadb-10.11.13.ebuild
+++ b/dev-db/mariadb/mariadb-10.11.13.ebuild
@@ -216,6 +216,7 @@ src_prepare() {
        eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
        eapply "${WORKDIR}"/${PN}-10.6-columnstore-with-boost-1.85.patch
+       eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-10.11.14-r1.ebuild 
b/dev-db/mariadb/mariadb-10.11.14-r1.ebuild
index fc66e77f00da..ed4508bfd336 100644
--- a/dev-db/mariadb/mariadb-10.11.14-r1.ebuild
+++ b/dev-db/mariadb/mariadb-10.11.14-r1.ebuild
@@ -222,6 +222,7 @@ src_unpack() {
 src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+       eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-10.11.15.ebuild 
b/dev-db/mariadb/mariadb-10.11.15.ebuild
index 684a013cb115..acfa26dbfd9a 100644
--- a/dev-db/mariadb/mariadb-10.11.15.ebuild
+++ b/dev-db/mariadb/mariadb-10.11.15.ebuild
@@ -222,6 +222,7 @@ src_unpack() {
 src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+       eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-10.6.22.ebuild 
b/dev-db/mariadb/mariadb-10.6.22.ebuild
index 00795a684b35..1d223dc9f338 100644
--- a/dev-db/mariadb/mariadb-10.6.22.ebuild
+++ b/dev-db/mariadb/mariadb-10.6.22.ebuild
@@ -228,6 +228,7 @@ src_prepare() {
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
        eapply "${WORKDIR}"/${PN}-10.6-columnstore-with-boost-1.85.patch
        eapply "${FILESDIR}"/${PN}-10.6.21-debug.patch
+       eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-10.6.23-r1.ebuild 
b/dev-db/mariadb/mariadb-10.6.23-r1.ebuild
index 2129422b3487..b3f55e1be8ea 100644
--- a/dev-db/mariadb/mariadb-10.6.23-r1.ebuild
+++ b/dev-db/mariadb/mariadb-10.6.23-r1.ebuild
@@ -234,6 +234,7 @@ src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
        eapply "${FILESDIR}"/${PN}-10.6.21-debug.patch
+       eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-10.6.24.ebuild 
b/dev-db/mariadb/mariadb-10.6.24.ebuild
index b6e6477486d6..f5c9ee096166 100644
--- a/dev-db/mariadb/mariadb-10.6.24.ebuild
+++ b/dev-db/mariadb/mariadb-10.6.24.ebuild
@@ -234,6 +234,7 @@ src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
        eapply "${FILESDIR}"/${PN}-10.6.21-debug.patch
+       eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-11.4.7-r1.ebuild 
b/dev-db/mariadb/mariadb-11.4.7-r1.ebuild
index 465867015e8e..5b940ac487ba 100644
--- a/dev-db/mariadb/mariadb-11.4.7-r1.ebuild
+++ b/dev-db/mariadb/mariadb-11.4.7-r1.ebuild
@@ -224,6 +224,7 @@ src_prepare() {
        eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
        eapply "${FILESDIR}"/${PN}-11.4.7-gcc-16.patch
+       eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-11.4.8-r1.ebuild 
b/dev-db/mariadb/mariadb-11.4.8-r1.ebuild
index 662551d89184..c949e20024e3 100644
--- a/dev-db/mariadb/mariadb-11.4.8-r1.ebuild
+++ b/dev-db/mariadb/mariadb-11.4.8-r1.ebuild
@@ -222,6 +222,7 @@ src_unpack() {
 src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+       eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-11.4.8-r2.ebuild 
b/dev-db/mariadb/mariadb-11.4.8-r2.ebuild
index 4f51a492bfad..e439536cdbd8 100644
--- a/dev-db/mariadb/mariadb-11.4.8-r2.ebuild
+++ b/dev-db/mariadb/mariadb-11.4.8-r2.ebuild
@@ -223,6 +223,7 @@ src_unpack() {
 src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+       eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-11.4.9.ebuild 
b/dev-db/mariadb/mariadb-11.4.9.ebuild
index be142af9271e..752b3d2b8a64 100644
--- a/dev-db/mariadb/mariadb-11.4.9.ebuild
+++ b/dev-db/mariadb/mariadb-11.4.9.ebuild
@@ -223,6 +223,7 @@ src_unpack() {
 src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+       eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-11.8.3-r2.ebuild 
b/dev-db/mariadb/mariadb-11.8.3-r2.ebuild
index 153b2712d8ef..c033b9fb945d 100644
--- a/dev-db/mariadb/mariadb-11.8.3-r2.ebuild
+++ b/dev-db/mariadb/mariadb-11.8.3-r2.ebuild
@@ -212,6 +212,7 @@ src_unpack() {
 src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+       eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-11.8.3-r3.ebuild 
b/dev-db/mariadb/mariadb-11.8.3-r3.ebuild
index 55af964cf45d..f1254bd06938 100644
--- a/dev-db/mariadb/mariadb-11.8.3-r3.ebuild
+++ b/dev-db/mariadb/mariadb-11.8.3-r3.ebuild
@@ -213,6 +213,7 @@ src_unpack() {
 src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+       eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-11.8.5.ebuild 
b/dev-db/mariadb/mariadb-11.8.5.ebuild
index 47cc91c90d20..1e78616fd51f 100644
--- a/dev-db/mariadb/mariadb-11.8.5.ebuild
+++ b/dev-db/mariadb/mariadb-11.8.5.ebuild
@@ -213,6 +213,7 @@ src_unpack() {
 src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+       eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-12.0.2-r1.ebuild 
b/dev-db/mariadb/mariadb-12.0.2-r1.ebuild
index 55af964cf45d..f1254bd06938 100644
--- a/dev-db/mariadb/mariadb-12.0.2-r1.ebuild
+++ b/dev-db/mariadb/mariadb-12.0.2-r1.ebuild
@@ -213,6 +213,7 @@ src_unpack() {
 src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+       eapply "${FILESDIR}"/${PN}-wsrep-gcc-15.patch
 
        eapply_user
 

Reply via email to