commit:     506b9c0380f5a89acd33d68aa388c5e4f6c16638
Author:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 14 17:15:42 2025 +0000
Commit:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
CommitDate: Sat Feb 15 21:27:27 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=506b9c03

dev-db/mariadb: fix USE=columnstore with >=dev-libs/boost-1.85

Boost 1.85 dropped some deprecated code from filesystem module, which is
still used in MariaDB columnstore. However, older Boost versions are no
longer available in ::gentoo, which effectively makes the MariaDB
unbuildable if USE=columnstore is set.

This fix applies a patch with port to Boost 1.85 to all available
mariadb-10* ebuilds. The patch was submitted to upstream [1]. It was
also necessary to apply C++17 fix, which was backported from commit [2].

MariaDB currently installs bundled libthrift.so with USE=columnstore,
which collides with dev-libs/thrift. This problem is solved with a
conditional weak blocker for now.

[1] https://github.com/mariadb-corporation/mariadb-columnstore-engine/pull/3407
[2] 
https://github.com/mariadb-corporation/mariadb-columnstore-engine/commit/1973168e03d90d8c6da590df2f31982dd400ea0b

Bug: https://bugs.gentoo.org/861770
Bug: https://bugs.gentoo.org/932735
Signed-off-by: Petr Vaněk <arkamar <AT> gentoo.org>

 dev-db/mariadb/Manifest                | 1 +
 dev-db/mariadb/mariadb-10.11.10.ebuild | 7 ++++++-
 dev-db/mariadb/mariadb-10.11.11.ebuild | 7 ++++++-
 dev-db/mariadb/mariadb-10.6.15.ebuild  | 9 +++++++--
 dev-db/mariadb/mariadb-10.6.17.ebuild  | 9 +++++++--
 dev-db/mariadb/mariadb-10.6.20.ebuild  | 7 ++++++-
 dev-db/mariadb/mariadb-10.6.21.ebuild  | 7 ++++++-
 7 files changed, 39 insertions(+), 8 deletions(-)

diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest
index f60ae8dde022..35dd67215bcc 100644
--- a/dev-db/mariadb/Manifest
+++ b/dev-db/mariadb/Manifest
@@ -1,6 +1,7 @@
 DIST mariadb-10.11.10-patches-01.tar.xz 5300 BLAKE2B 
842dd7002220ab6c164e50adcb2c0184752c1080e4c2c2609c431d8867b2ccf5b910b61d3f9a5f1e9b979d34423a5dbab1c3bced1e5d8b2af780addc9baddff5
 SHA512 
23a8e6d58927cadd39c84653069880039c4cbe6226d920550f3abdd995c0656013fef994cf4d23d34902c3cce7aa92a2819d5ef7f7c23ee9eca8a2720f4f6afa
 DIST mariadb-10.11.10.tar.gz 104463642 BLAKE2B 
c6101ea5094c5bb78cf55ba37026d2e18f48e59a54eef1849051acc2c64111b82b9eba73b909fe0f07d111521433b42d84f6d155bcdf6e4ed50c186767b078db
 SHA512 
3a8655384813ba515ce185e8a03427785fbea75b3226e2a1db02839dd66c22622ba27eeb2ca7b3d840bba43720a4393bbf71eb4b2b9e41ab837629e89a8b5976
 DIST mariadb-10.11.11.tar.gz 105754084 BLAKE2B 
d722867840e01faeff3a4d7b3cb8f18bec45c4cf1dc75b207c3068a943b7db3b6d956cd04b4d878658f4e3d721dd1e2c7429a9a2c10689b7ff602f33d18a929a
 SHA512 
d9c154207a9f435ce08d5fbfe31814a739e577c656ef9996cf7e60c2cad8b4c07e2de8d94b6191fefa2b5cbde56437b586f85f144d3b4fcec8533449ed8411ac
+DIST mariadb-10.6-columnstore-with-boost-1.85.patch.xz 2848 BLAKE2B 
a0eb598ff34b65756cb730f0682d2c065adae828f04f7abe25255396be9c03788b232d7d2412d069b0887db94468d6cc378fbc077b9557f1bcb30d069b04a518
 SHA512 
843de29130e370b89c001b819d14647b95505e0aa1878728c8775e567527691c57c92e2040512aa55462eaf7859911981351e9c41ca81672bb9f68f8e8b86318
 DIST mariadb-10.6.13-patches-01.tar.xz 4984 BLAKE2B 
625d04310b02aad4fec4b633e9fab06636364f3c5ed3cb88e89acd4224786c3c9ed478b636ac699e77a888b73dab12cb279df41d6095e93e9c4ae3a159570286
 SHA512 
1e6ac167bfd77570e8ff5955aaa9a101d9387ac4857d856f1fb8c9a489c4c2a154481b9385584435e8dc95baef0dd3ef6831c7de2d6f004401cc338edcaa9d12
 DIST mariadb-10.6.15.tar.gz 98204031 BLAKE2B 
4534b82f1c1e16ce2c7c21879714e24b20fada36ef10a8a0dbe770c1d99055822fcaf146646b19b459cfd948bff0662d23f1f661a843919f90a354838bda7ee6
 SHA512 
61b5af8c2f8bd2f641aaa708941563d5f6ecc118acc9a154c009c3ae1d50e7360ae59241f87e5c2111775a3ffeb42a64f4853e9c7096b58d68a3695b5d0ef97c
 DIST mariadb-10.6.16-patches-01.tar.xz 4956 BLAKE2B 
a178930f7abe474e1419509c0bbabf783e1b931cfc3f4b4bddf426d9671d4e69e62a800d759f424f957562091c634049e594332ab15dc758e98d26c48ba69d1d
 SHA512 
42969e6881cf2548c48fcce7f8439c9d56596ef038d55affcada45f4cd42a3666617f5786b69fe9ba42f11b06e85f43b722f2190aa7ed5badb461c48282751e5

diff --git a/dev-db/mariadb/mariadb-10.11.10.ebuild 
b/dev-db/mariadb/mariadb-10.11.10.ebuild
index e6a6d95ff35f..f5faf1ebd85e 100644
--- a/dev-db/mariadb/mariadb-10.11.10.ebuild
+++ b/dev-db/mariadb/mariadb-10.11.10.ebuild
@@ -14,6 +14,7 @@ HOMEPAGE="https://mariadb.org/";
 SRC_URI="
        mirror://mariadb/${P}/source/${P}.tar.gz
        https://dev.gentoo.org/~arkamar/distfiles/${P}-patches-01.tar.xz
+       
https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6-columnstore-with-boost-1.85.patch.xz
 "
 # Shorten the path because the socket path length must be shorter than 107 
chars
 # and we will run a mysql server during test phase
@@ -123,7 +124,10 @@ RDEPEND="${COMMON_DEPEND}
        !dev-db/mariadb:11.4
        selinux? ( sec-policy/selinux-mysql )
        server? (
-               columnstore? ( dev-db/mariadb-connector-c )
+               columnstore? (
+                       dev-db/mariadb-connector-c
+                       !dev-libs/thrift
+               )
                extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
                galera? (
                        sys-apps/iproute2
@@ -220,6 +224,7 @@ src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        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_user
 

diff --git a/dev-db/mariadb/mariadb-10.11.11.ebuild 
b/dev-db/mariadb/mariadb-10.11.11.ebuild
index 24e67f7a73e6..aa765cee2852 100644
--- a/dev-db/mariadb/mariadb-10.11.11.ebuild
+++ b/dev-db/mariadb/mariadb-10.11.11.ebuild
@@ -14,6 +14,7 @@ HOMEPAGE="https://mariadb.org/";
 SRC_URI="
        mirror://mariadb/${P}/source/${P}.tar.gz
        
https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.11.10-patches-01.tar.xz
+       
https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6-columnstore-with-boost-1.85.patch.xz
 "
 # Shorten the path because the socket path length must be shorter than 107 
chars
 # and we will run a mysql server during test phase
@@ -123,7 +124,10 @@ RDEPEND="${COMMON_DEPEND}
        !dev-db/mariadb:11.4
        selinux? ( sec-policy/selinux-mysql )
        server? (
-               columnstore? ( dev-db/mariadb-connector-c )
+               columnstore? (
+                       dev-db/mariadb-connector-c
+                       !dev-libs/thrift
+               )
                extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
                galera? (
                        sys-apps/iproute2
@@ -220,6 +224,7 @@ src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        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_user
 

diff --git a/dev-db/mariadb/mariadb-10.6.15.ebuild 
b/dev-db/mariadb/mariadb-10.6.15.ebuild
index 5d186317f426..77f2113e1848 100644
--- a/dev-db/mariadb/mariadb-10.6.15.ebuild
+++ b/dev-db/mariadb/mariadb-10.6.15.ebuild
@@ -11,7 +11,8 @@ inherit systemd flag-o-matic prefix toolchain-funcs \
 
 HOMEPAGE="https://mariadb.org/";
 SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
-       
https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.13-patches-01.tar.xz";
+       
https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.13-patches-01.tar.xz
+       
https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6-columnstore-with-boost-1.85.patch.xz";
 
 DESCRIPTION="An enhanced, drop-in replacement for MySQL"
 LICENSE="GPL-2 LGPL-2.1+"
@@ -115,7 +116,10 @@ RDEPEND="${COMMON_DEPEND}
        !<virtual/libmysqlclient-18-r1
        selinux? ( sec-policy/selinux-mysql )
        server? (
-               columnstore? ( dev-db/mariadb-connector-c )
+               columnstore? (
+                       dev-db/mariadb-connector-c
+                       !dev-libs/thrift
+               )
                extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
                galera? (
                        sys-apps/iproute2
@@ -219,6 +223,7 @@ src_prepare() {
        eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
        eapply "${FILESDIR}"/${PN}-10.6.11-include.patch
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+       eapply "${WORKDIR}"/${PN}-10.6-columnstore-with-boost-1.85.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-10.6.17.ebuild 
b/dev-db/mariadb/mariadb-10.6.17.ebuild
index d790e913d96a..7e0f8b9b9aa1 100644
--- a/dev-db/mariadb/mariadb-10.6.17.ebuild
+++ b/dev-db/mariadb/mariadb-10.6.17.ebuild
@@ -11,7 +11,8 @@ inherit systemd flag-o-matic prefix toolchain-funcs \
 
 HOMEPAGE="https://mariadb.org/";
 SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
-       
https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.16-patches-01.tar.xz";
+       
https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.16-patches-01.tar.xz
+       
https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6-columnstore-with-boost-1.85.patch.xz";
 
 DESCRIPTION="An enhanced, drop-in replacement for MySQL"
 LICENSE="GPL-2 LGPL-2.1+"
@@ -115,7 +116,10 @@ RDEPEND="${COMMON_DEPEND}
        !<virtual/libmysqlclient-18-r1
        selinux? ( sec-policy/selinux-mysql )
        server? (
-               columnstore? ( dev-db/mariadb-connector-c )
+               columnstore? (
+                       dev-db/mariadb-connector-c
+                       !dev-libs/thrift
+               )
                extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
                galera? (
                        sys-apps/iproute2
@@ -219,6 +223,7 @@ src_prepare() {
        eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
        eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
        eapply "${FILESDIR}"/${PN}-10.6.17-libxml-2.12.patch
+       eapply "${WORKDIR}"/${PN}-10.6-columnstore-with-boost-1.85.patch
 
        eapply_user
 

diff --git a/dev-db/mariadb/mariadb-10.6.20.ebuild 
b/dev-db/mariadb/mariadb-10.6.20.ebuild
index 2c9127e81001..69cc433ce20b 100644
--- a/dev-db/mariadb/mariadb-10.6.20.ebuild
+++ b/dev-db/mariadb/mariadb-10.6.20.ebuild
@@ -14,6 +14,7 @@ HOMEPAGE="https://mariadb.org/";
 SRC_URI="
        mirror://mariadb/${P}/source/${P}.tar.gz
        https://dev.gentoo.org/~arkamar/distfiles/${P}-patches-01.tar.xz
+       
https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6-columnstore-with-boost-1.85.patch.xz
 "
 # Shorten the path because the socket path length must be shorter than 107 
chars
 # and we will run a mysql server during test phase
@@ -119,7 +120,10 @@ RDEPEND="${COMMON_DEPEND}
        !<virtual/libmysqlclient-18-r1
        selinux? ( sec-policy/selinux-mysql )
        server? (
-               columnstore? ( dev-db/mariadb-connector-c )
+               columnstore? (
+                       dev-db/mariadb-connector-c
+                       !dev-libs/thrift
+               )
                extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
                galera? (
                        sys-apps/iproute2
@@ -222,6 +226,7 @@ src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        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_user
 

diff --git a/dev-db/mariadb/mariadb-10.6.21.ebuild 
b/dev-db/mariadb/mariadb-10.6.21.ebuild
index ae19b19755a9..c028d6cbff3a 100644
--- a/dev-db/mariadb/mariadb-10.6.21.ebuild
+++ b/dev-db/mariadb/mariadb-10.6.21.ebuild
@@ -14,6 +14,7 @@ HOMEPAGE="https://mariadb.org/";
 SRC_URI="
        mirror://mariadb/${P}/source/${P}.tar.gz
        
https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6.20-patches-01.tar.xz
+       
https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6-columnstore-with-boost-1.85.patch.xz
 "
 # Shorten the path because the socket path length must be shorter than 107 
chars
 # and we will run a mysql server during test phase
@@ -119,7 +120,10 @@ RDEPEND="${COMMON_DEPEND}
        !<virtual/libmysqlclient-18-r1
        selinux? ( sec-policy/selinux-mysql )
        server? (
-               columnstore? ( dev-db/mariadb-connector-c )
+               columnstore? (
+                       dev-db/mariadb-connector-c
+                       !dev-libs/thrift
+               )
                extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
                galera? (
                        sys-apps/iproute2
@@ -222,6 +226,7 @@ src_prepare() {
        eapply "${WORKDIR}"/mariadb-patches
        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_user
 

Reply via email to