commit:     aec0de90883c8cbc591cd1345dd01d9b12685eb8
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Fri Jan 10 00:23:30 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jan 10 04:36:28 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aec0de90

dev-db/mysql: backport boost fix for ppc

Closes: https://bugs.gentoo.org/947784
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/mysql-8.0.37-fix-bundled-boost.patch     | 22 ++++++++++++++++++++++
 dev-db/mysql/mysql-8.0.37.ebuild                   |  2 ++
 dev-db/mysql/mysql-8.0.40.ebuild                   |  2 ++
 3 files changed, 26 insertions(+)

diff --git a/dev-db/mysql/files/mysql-8.0.37-fix-bundled-boost.patch 
b/dev-db/mysql/files/mysql-8.0.37-fix-bundled-boost.patch
new file mode 100644
index 000000000000..58cf72f778fa
--- /dev/null
+++ b/dev-db/mysql/files/mysql-8.0.37-fix-bundled-boost.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/947784
+https://github.com/boostorg/multiprecision/issues/419
+https://github.com/boostorg/multiprecision/commit/d1343f28dcbe25b100b082b34775bd92ead4602c
+
+The old version of Boost that MySQL vendors tries to use x86 intrinsics
+on PowerPC. Backport this patch for it to not do that.
+
+--- a/boost/boost_1_77_0/boost/multiprecision/cpp_int/intel_intrinsics.hpp
++++ b/boost/boost_1_77_0/boost/multiprecision/cpp_int/intel_intrinsics.hpp
+@@ -19,7 +19,11 @@
+ // If this is GCC/clang, then check that the actual intrinsic exists:
+ //
+ #if defined(__has_builtin) && defined(__GNUC__)
+-#if !__has_builtin(__builtin_ia32_addcarryx_u64) && 
defined(BOOST_MP_HAS_IMMINTRIN_H) && !(defined(BOOST_GCC) && (__GNUC__ >= 9))
++#if !__has_builtin(__builtin_ia32_addcarryx_u64) && 
defined(BOOST_MP_HAS_IMMINTRIN_H) \
++   && !(defined(BOOST_GCC) && (__GNUC__ >= 9) \
++      && (defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || 
defined(__x86_64)\
++          || defined(i386) || defined(__i386) || defined(__i386__) || 
defined(_M_AMD64) \
++          || defined(_M_X64) || defined(__amd64__) || defined(_M_X64)))
+ #undef BOOST_MP_HAS_IMMINTRIN_H
+ #endif
+ #elif defined(BOOST_MP_HAS_IMMINTRIN_H) && defined(__GNUC__) && 
!(defined(BOOST_GCC) && (__GNUC__ >= 9))

diff --git a/dev-db/mysql/mysql-8.0.37.ebuild b/dev-db/mysql/mysql-8.0.37.ebuild
index 2d40fbcfa289..8aa043a80c1c 100644
--- a/dev-db/mysql/mysql-8.0.37.ebuild
+++ b/dev-db/mysql/mysql-8.0.37.ebuild
@@ -94,6 +94,8 @@ PATCHES=(
        "${WORKDIR}"/mysql-patches
        # Needed due to bundled boost-1.77, this fix is included in boost-1.81
        "${FILESDIR}"/mysql-8.0.36-boost-clang-fix.patch
+       # Needed due to bundled boost-1.77, this fix is included in boost-1.79
+       "${FILESDIR}"/mysql-8.0.37-fix-bundled-boost.patch
        # Needed due to bundles abseil-cpp, this fix is included in 
abseil-cpp-20240722
        "${FILESDIR}"/mysql-8.0.37-fix-bundled-abseil.patch
 )

diff --git a/dev-db/mysql/mysql-8.0.40.ebuild b/dev-db/mysql/mysql-8.0.40.ebuild
index 793e63e238df..dc17161500a0 100644
--- a/dev-db/mysql/mysql-8.0.40.ebuild
+++ b/dev-db/mysql/mysql-8.0.40.ebuild
@@ -95,6 +95,8 @@ PATCHES=(
        "${WORKDIR}"/mysql-patches
        # Needed due to bundled boost-1.77, this fix is included in boost-1.81
        "${FILESDIR}"/mysql-8.0.36-boost-clang-fix.patch
+       # Needed due to bundled boost-1.77, this fix is included in boost-1.79
+       "${FILESDIR}"/mysql-8.0.37-fix-bundled-boost.patch
        # Needed due to bundles abseil-cpp, this fix is included in 
abseil-cpp-20240722
        "${FILESDIR}"/mysql-8.0.37-fix-bundled-abseil.patch
        # Needed due to bundles abseil-cpp, this fix is in no release as of 
2025-01-09

Reply via email to