From ff21f4ce8749244bd4974cbcdf40788332e5248a Mon Sep 17 00:00:00 2001 From: Justin Jagieniak Date: Mon, 12 Apr 2021 09:11:50 +0200 Subject: [PATCH] mariadb: update to 10.5.9. --- common/shlibs | 8 +- .../files/musl-disable-failing-test.patch | 28 ++++ .../mariadb/files/musl-have-stacktrace.patch | 19 +++ .../files/musl-ppc-remove-glibc-dep.patch | 47 ++++++ srcpkgs/mariadb/patches/atomic-fix.patch | 108 ++++++++++++++ srcpkgs/mariadb/patches/fix-cross.patch | 136 +++++++++++++++--- srcpkgs/mariadb/template | 90 +++++------- 7 files changed, 358 insertions(+), 78 deletions(-) create mode 100644 srcpkgs/mariadb/files/musl-disable-failing-test.patch create mode 100644 srcpkgs/mariadb/files/musl-have-stacktrace.patch create mode 100644 srcpkgs/mariadb/files/musl-ppc-remove-glibc-dep.patch create mode 100644 srcpkgs/mariadb/patches/atomic-fix.patch diff --git a/common/shlibs b/common/shlibs index 296b93e5f22b..45470e61661d 100644 --- a/common/shlibs +++ b/common/shlibs @@ -557,8 +557,6 @@ libecpg.so.6 postgresql-libs-13.2_2 libpgtypes.so.3 postgresql-libs-13.2_2 libpq.so.5 postgresql-libs-13.2_2 libmypaint.so.0 libmypaint-1.6.1_1 -libmysqlclient_r.so.18 libmariadbclient-10.1.48_2 -libmysqlclient.so.18 libmariadbclient-10.1.48_2 libgssapi_krb5.so.2 mit-krb5-libs-1.8_1 libgssrpc.so.4 mit-krb5-libs-1.8_1 libk5crypto.so.3 mit-krb5-libs-1.8_1 @@ -571,8 +569,6 @@ libkrb5support.so.0 mit-krb5-libs-1.8_1 libkdb_ldap.so.1 mit-krb5-libs-1.14.2_2 libverto.so.0 mit-krb5-libs-1.8_1 libverto-k5ev.so.0 mit-krb5-libs-1.8_1 -libmysqlclient_r.so.18 libmariadbclient-10.1.48_2 -libmysqlclient.so.18 libmariadbclient-10.1.48_2 libgssapi_krb5.so.2 mit-krb5-libs-1.18.3_2 libgssrpc.so.4 mit-krb5-libs-1.18.3_2 libk5crypto.so.3 mit-krb5-libs-1.18.3_2 @@ -1603,14 +1599,12 @@ libdovecot-compression.so.0 dovecot-2.3.13_3 libdovecot-sql.so.0 dovecot-2.3.13_3 libdovecot-storage.so.0 dovecot-2.3.13_3 libdovecot-lda.so.0 dovecot-2.3.13_3 -libmysqld.so.18 libmariadbclient-5.5.36_1 libdovecot.so.0 dovecot-2.3.13_3 libdovecot-login.so.0 dovecot-2.3.13_3 libdovecot-compression.so.0 dovecot-2.3.13_3 libdovecot-sql.so.0 dovecot-2.3.13_3 libdovecot-storage.so.0 dovecot-2.3.13_3 libdovecot-lda.so.0 dovecot-2.3.13_3 -libmysqld.so.18 libmariadbclient-10.1.48_2 libwiretap.so.11 libwireshark-3.4.0_1 libwireshark.so.14 libwireshark-3.4.0_1 libwsutil.so.12 libwireshark-3.4.0_1 @@ -3967,3 +3961,5 @@ libmd.so.0 libmd-1.0.3_1 libldacBT_abr.so.2 ldacBT-2.0.2.3_1 libldacBT_enc.so.2 ldacBT-2.0.2.3_1 libgumbo.so.1 gumbo-parser-0.10.1_2 +libmariadb.so.3 libmariadbclient-10.5.9_1 +libmariadbd.so.19 libmariadbclient-10.5.9_1 diff --git a/srcpkgs/mariadb/files/musl-disable-failing-test.patch b/srcpkgs/mariadb/files/musl-disable-failing-test.patch new file mode 100644 index 000000000000..450816150378 --- /dev/null +++ b/srcpkgs/mariadb/files/musl-disable-failing-test.patch @@ -0,0 +1,28 @@ +--- ./storage/maria/unittest/CMakeLists.txt ++++ ./storage/maria/unittest/CMakeLists.txt +@@ -60,10 +60,10 @@ ADD_EXECUTABLE(ma_test_loghandler_readonly-t + ma_test_loghandler_multigroup-t.c ma_maria_log_cleanup.c ma_loghandler_examples.c sequence_storage.c) + MY_ADD_TEST(ma_test_loghandler_readonly) + +-SET_TARGET_PROPERTIES(ma_test_loghandler_readonly-t PROPERTIES COMPILE_FLAGS "-DREADONLY_TEST") +-ADD_EXECUTABLE(ma_test_loghandler_nologs-t +- ma_test_loghandler_nologs-t.c ma_maria_log_cleanup.c ma_loghandler_examples.c) +-MY_ADD_TEST(ma_test_loghandler_nologs) ++#SET_TARGET_PROPERTIES(ma_test_loghandler_readonly-t PROPERTIES COMPILE_FLAGS "-DREADONLY_TEST") ++#ADD_EXECUTABLE(ma_test_loghandler_nologs-t ++# ma_test_loghandler_nologs-t.c ma_maria_log_cleanup.c ma_loghandler_examples.c) ++#MY_ADD_TEST(ma_test_loghandler_nologs) + + SET(ma_pagecache_single_src ma_pagecache_single.c test_file.c test_file.h) + SET(ma_pagecache_consist_src ma_pagecache_consist.c test_file.c test_file.h) +--- ./unittest/mysys/CMakeLists.txt 2020-11-10 14:15:06.000000000 +0100 ++++ ./unittest/mysys/CMakeLists.txt 2020-11-24 21:08:46.721183004 +0100 +@@ -15,7 +15,7 @@ + + MY_ADD_TESTS(bitmap base64 my_atomic my_rdtsc lf my_malloc my_getopt dynstring + byte_order +- queues stacktrace crc32 LINK_LIBRARIES mysys) ++ queues crc32 LINK_LIBRARIES mysys) + MY_ADD_TESTS(my_vsnprintf LINK_LIBRARIES strings mysys) + MY_ADD_TESTS(aes LINK_LIBRARIES mysys mysys_ssl) + ADD_DEFINITIONS(${SSL_DEFINES}) diff --git a/srcpkgs/mariadb/files/musl-have-stacktrace.patch b/srcpkgs/mariadb/files/musl-have-stacktrace.patch new file mode 100644 index 000000000000..4d87f57ddc9e --- /dev/null +++ b/srcpkgs/mariadb/files/musl-have-stacktrace.patch @@ -0,0 +1,19 @@ +https://jira.mariadb.org/browse/MDEV-24131 + +--- ./unittest/mysys/stacktrace-t.c ++++ ./unittest/mysys/stacktrace-t.c +@@ -22,6 +22,14 @@ + + char b_bss[10]; + ++#ifndef HAVE_STACKTRACE ++int my_safe_print_str(const char* val, size_t max_len) ++{ ++ printf("%*s\n", (int) max_len, val); ++ return 0; ++} ++#endif ++ + void test_my_safe_print_str() + { + char b_stack[10]; diff --git a/srcpkgs/mariadb/files/musl-ppc-remove-glibc-dep.patch b/srcpkgs/mariadb/files/musl-ppc-remove-glibc-dep.patch new file mode 100644 index 000000000000..1346edebfb96 --- /dev/null +++ b/srcpkgs/mariadb/files/musl-ppc-remove-glibc-dep.patch @@ -0,0 +1,47 @@ +--- ./include/my_cpu.h ++++ ./include/my_cpu.h +@@ -24,17 +24,16 @@ + */ + + #ifdef _ARCH_PWR8 +-#include + /* Very low priority */ +-#define HMT_very_low() __ppc_set_ppr_very_low() ++#define HMT_very_low() asm volatile("or 31,31,31") + /* Low priority */ +-#define HMT_low() __ppc_set_ppr_low() ++#define HMT_low() asm volatile ("or 1,1,1") + /* Medium low priority */ +-#define HMT_medium_low() __ppc_set_ppr_med_low() ++#define HMT_medium_low() asm volatile ("or 6,6,6") + /* Medium priority */ +-#define HMT_medium() __ppc_set_ppr_med() ++#define HMT_medium() asm volatile ("or 2,2,2") + /* Medium high priority */ +-#define HMT_medium_high() __ppc_set_ppr_med_high() ++#define HMT_medium_high() asm volatile("or 5,5,5") + /* High priority */ + #define HMT_high() asm volatile("or 3,3,3") + #else +@@ -72,7 +71,7 @@ static inline void MY_RELAX_CPU(void) + __asm__ __volatile__ ("pause"); + #endif + #elif defined(_ARCH_PWR8) +- __ppc_get_timebase(); ++ __builtin_ppc_get_timebase(); + #elif defined __GNUC__ && (defined __arm__ || defined __aarch64__) + /* Mainly, prevent the compiler from optimizing away delay loops */ + __asm__ __volatile__ ("":::"memory"); +diff --git a/storage/tokudb/PerconaFT/portability/toku_time.h b/storage/tokudb/PerconaFT/portability/toku_time.h +index c4c45b8e..2f7a07f5 100644 +--- ./storage/tokudb/PerconaFT/portability/toku_time.h ++++ ./storage/tokudb/PerconaFT/portability/toku_time.h +@@ -110,7 +110,7 @@ static inline tokutime_t toku_time_now(void) { + __asm __volatile__ ("mrs %[rt], cntvct_el0" : [rt] "=r" (result)); + return result; + #elif defined(__powerpc__) +- return __ppc_get_timebase(); ++ return __builtin_ppc_get_timebase(); + #else + #error No timer implementation for this platform + #endif diff --git a/srcpkgs/mariadb/patches/atomic-fix.patch b/srcpkgs/mariadb/patches/atomic-fix.patch new file mode 100644 index 000000000000..4ad06786f150 --- /dev/null +++ b/srcpkgs/mariadb/patches/atomic-fix.patch @@ -0,0 +1,108 @@ +Forwarded: https://github.com/MariaDB/server/pull/1716 +Author: Vicențiu Ciorbaru +Date: Fri Dec 21 19:14:04 2018 +0200 + + Link with libatomic to enable C11 atomics support + + Some architectures (mips) require libatomic to support proper + atomic operations. Check first if support is available without + linking, otherwise use the library. + + Original commit: + Detect whether libatomic is needed rather than hard-coding for mips + + Fixes FTBFS on powerpc, since it needs libatomic too for C11 atomics, + and possibly m68k. + + Contributors: + James Cowgill + Jessica Clarke + +--- configure.cmake ++++ configure.cmake +@@ -862,7 +862,25 @@ int main() + long long int *ptr= &var; + return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST); + }" +-HAVE_GCC_C11_ATOMICS) ++HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC) ++IF (HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC) ++ SET(HAVE_GCC_C11_ATOMICS True) ++ELSE() ++ SET(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) ++ LIST(APPEND CMAKE_REQUIRED_LIBRARIES "atomic") ++ CHECK_CXX_SOURCE_COMPILES(" ++ int main() ++ { ++ long long int var= 1; ++ long long int *ptr= &var; ++ return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST); ++ }" ++ HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC) ++ IF(HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC) ++ SET(HAVE_GCC_C11_ATOMICS True) ++ ENDIF() ++ SET(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES}) ++ENDIF() + + IF(WITH_VALGRIND) + SET(HAVE_valgrind 1) +--- mysys/CMakeLists.txt ++++ mysys/CMakeLists.txt +@@ -154,6 +154,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings + ${LIBNSL} ${LIBM} ${LIBRT} ${CMAKE_DL_LIBS} ${LIBSOCKET} ${LIBEXECINFO}) + DTRACE_INSTRUMENT(mysys) + ++IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC) ++ TARGET_LINK_LIBRARIES(mysys atomic) ++ENDIF() ++ + IF(HAVE_BFD_H) + TARGET_LINK_LIBRARIES(mysys bfd) + ENDIF(HAVE_BFD_H) +--- sql/CMakeLists.txt ++++ sql/CMakeLists.txt +@@ -318,6 +318,10 @@ IF(WITH_MYSQLD_LDFLAGS) + "${MYSQLD_LINK_FLAGS} ${WITH_MYSQLD_LDFLAGS}") + ENDIF() + ++IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC) ++ TARGET_LINK_LIBRARIES(sql atomic) ++ENDIF() ++ + + FIND_PACKAGE(BISON 2.0) + +From f447aca534d1a12809eeb146e8220d305cc3884d Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Thu, 9 Apr 2020 14:07:19 +0800 +Subject: [PATCH] build_rocksdb.cmake: fix atomic support on arm + +Check to link with libatomic to enable C11 atomics support +to fix below build error on arm: +| /build/tmp/work/armv5e-wrs-linux-gnueabi/mariadb/10.3.13-r0/recipe-sysroot-native/usr/bin/arm-wrs-linux-gnueabi/../../libexec/arm-wrs-linux-gnueabi/gcc/arm-wrs-linux-gnueabi/8.3.0/ld.bfd: librocksdblib.a(env_posix.cc.o): in function `std::__atomic_base::store(unsigned long long, std::memory_order)': +| /usr/include/c++/8.3.0/bits/atomic_base.h:374: undefined reference to `__atomic_store_8' + +Upstream-Status: Pending + +Signed-off-by: Mingli Yu +--- + storage/rocksdb/build_rocksdb.cmake | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake +index d7895b0..3bcd52a 100644 +--- storage/rocksdb/build_rocksdb.cmake ++++ storage/rocksdb/build_rocksdb.cmake +@@ -470,6 +470,9 @@ list(APPEND SOURCES ${CMAKE_CURRENT_BINARY_DIR}/build_version.cc) + + ADD_CONVENIENCE_LIBRARY(rocksdblib ${SOURCES}) + target_link_libraries(rocksdblib ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) ++IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC) ++ TARGET_LINK_LIBRARIES(rocksdblib atomic) ++ENDIF() + IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") + set_target_properties(rocksdblib PROPERTIES COMPILE_FLAGS "-fPIC -fno-builtin-memcmp -Wno-error") + endif() +-- +2.7.4 diff --git a/srcpkgs/mariadb/patches/fix-cross.patch b/srcpkgs/mariadb/patches/fix-cross.patch index 24605dae8851..0f836fe5c328 100644 --- a/srcpkgs/mariadb/patches/fix-cross.patch +++ b/srcpkgs/mariadb/patches/fix-cross.patch @@ -1,17 +1,121 @@ ---- ./CMakeLists.txt.orig 2015-09-17 15:47:59.794784111 -0400 -+++ ./CMakeLists.txt 2015-09-19 19:42:16.751348473 -0400 -@@ -362,10 +376,10 @@ - - CHECK_PCRE() - +--- CMakeLists.txt.orig 2021-04-11 12:37:42.766483860 +0200 ++++ CMakeLists.txt 2021-04-11 13:05:49.491976374 +0200 +@@ -397,7 +397,7 @@ + + CHECK_SYSTEMD() + -IF(CMAKE_CROSSCOMPILING) -- SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build") -- INCLUDE(${IMPORT_EXECUTABLES}) --ENDIF() -+# IF(CMAKE_CROSSCOMPILING) -+# SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build") -+# INCLUDE(${IMPORT_EXECUTABLES}) -+# ENDIF() - - # - # Setup maintainer mode options. Platform checks are ++IF(CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR) + SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build") + INCLUDE(${IMPORT_EXECUTABLES}) + ENDIF() +@@ -479,7 +479,7 @@ + ADD_SUBDIRECTORY(support-files) + ADD_SUBDIRECTORY(extra/aws_sdk) + +-IF(NOT CMAKE_CROSSCOMPILING) ++IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR) + SET(EXPORTED comp_err comp_sql factorial) + IF(NOT WITHOUT_SERVER) + SET(EXPORTED ${EXPORTED} gen_lex_hash gen_lex_token) + +--- configure.cmake.orig 2021-04-11 13:45:39.143733089 +0200 ++++ configure.cmake 2021-04-11 13:46:06.378730316 +0200 +@@ -668,7 +668,7 @@ + " HAVE_PTHREAD_YIELD_ZERO_ARG) + + IF(NOT STACK_DIRECTION) +- IF(CMAKE_CROSSCOMPILING) ++ IF(CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR) + MESSAGE(FATAL_ERROR + "STACK_DIRECTION is not defined. Please specify -DSTACK_DIRECTION=1 " + "or -DSTACK_DIRECTION=-1 when calling cmake.") + +--- storage/mroonga/vendor/groonga/CMakeLists.txt.orig 2021-04-11 13:48:22.249716484 +0200 ++++ storage/mroonga/vendor/groonga/CMakeLists.txt 2021-04-11 13:49:44.050708156 +0200 +@@ -405,7 +405,7 @@ + set(MECAB_LIBRARIES libmecab) + else() + set(GRN_MECAB_CONFIG "mecab-config" CACHE FILEPATH "mecab-config path") +- if(NOT CMAKE_CROSSCOMPILING) ++ if(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR) + find_program(GRN_MECAB_CONFIG_ABSOLUTE_PATH "${GRN_MECAB_CONFIG}") + endif() + if(EXISTS "${GRN_MECAB_CONFIG_ABSOLUTE_PATH}") + +--- storage/innobase/innodb.cmake.orig 2021-04-11 13:52:39.129690331 +0200 ++++ storage/innobase/innodb.cmake 2021-04-11 13:53:03.656687834 +0200 +@@ -36,7 +36,7 @@ + + INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) + +-IF(CMAKE_CROSSCOMPILING) ++IF(CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR) + # Use CHECK_C_SOURCE_COMPILES instead of CHECK_C_SOURCE_RUNS when + # cross-compiling. Not as precise, but usually good enough. + # This only make sense for atomic tests in this file, this trick doesn't + +--- sql/CMakeLists.txt.orig 2021-04-11 13:54:43.469677673 +0200 ++++ sql/CMakeLists.txt 2021-04-11 13:55:46.337671272 +0200 +@@ -356,7 +356,7 @@ + COMPILE_FLAGS "-p ORA") + ENDIF() + +-IF(NOT CMAKE_CROSSCOMPILING) ++IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR) + ADD_EXECUTABLE(gen_lex_token gen_lex_token.cc + ${CMAKE_CURRENT_BINARY_DIR}/sql_yacc.hh) + ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc) +@@ -406,7 +406,7 @@ + ) + + # Install initial database (default on windows, optional target elsewhere) +-IF(TARGET mariadbd AND NOT CMAKE_CROSSCOMPILING) ++IF(TARGET mariadbd AND (NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR)) + IF(GENERATOR_IS_MULTI_CONFIG) + SET (CONFIG_PARAM -DCONFIG=${CMAKE_CFG_INTDIR}) + ENDIF() + +--- scripts/CMakeLists.txt.orig 2021-04-11 13:57:30.088660710 +0200 ++++ scripts/CMakeLists.txt 2021-04-11 13:58:12.486656393 +0200 +@@ -28,14 +28,14 @@ + ) + ENDMACRO() + +-IF(NOT CMAKE_CROSSCOMPILING) ++IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR) + INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) + ADD_EXECUTABLE(comp_sql comp_sql.c) + TARGET_LINK_LIBRARIES(comp_sql) + ENDIF() + + # Build mysql_fix_privilege_tables.sql (concatenate 3 sql scripts) +-IF(NOT WIN32 OR CMAKE_CROSSCOMPILING) ++IF(NOT WIN32 OR (CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR)) + FIND_PROGRAM(CAT_EXECUTABLE cat DOC "path to the executable") + MARK_AS_ADVANCED(CAT_EXECUTABLE) + ENDIF() + +--- extra/CMakeLists.txt.orig 2021-04-11 14:02:55.048627626 +0200 ++++ extra/CMakeLists.txt 2021-04-11 14:03:24.136624665 +0200 +@@ -18,7 +18,7 @@ + # Default install component for the files is Server here + SET(MYSQL_INSTALL_COMPONENT Server) + +-IF(NOT CMAKE_CROSSCOMPILING) ++IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR) + ADD_EXECUTABLE(comp_err comp_err.c) + TARGET_LINK_LIBRARIES(comp_err mysys) + ENDIF() + +--- dbug/CMakeLists.txt.orig 2021-04-11 14:12:39.744568100 +0200 ++++ dbug/CMakeLists.txt 2021-04-11 14:13:02.588565774 +0200 +@@ -25,7 +25,7 @@ + ADD_EXECUTABLE(tests tests.c) + TARGET_LINK_LIBRARIES(tests dbug) + +-IF(NOT CMAKE_CROSSCOMPILING) ++IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR) + ADD_EXECUTABLE(factorial my_main.c factorial.c) + TARGET_LINK_LIBRARIES(factorial dbug) + ENDIF() diff --git a/srcpkgs/mariadb/template b/srcpkgs/mariadb/template index 78d5e2dbdbe8..55a7cc86eb67 100644 --- a/srcpkgs/mariadb/template +++ b/srcpkgs/mariadb/template @@ -1,69 +1,48 @@ # Template file for 'mariadb' pkgname=mariadb -version=10.1.48 -revision=2 +version=10.5.9 +revision=1 build_style=cmake -configure_args="-DMYSQL_DATADIR=/var/lib/mysql - -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock -DDEFAULT_CHARSET=utf8 - -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON - -DINSTALL_INFODIR=share/mysql/docs -DINSTALL_MANDIR=share/man - -DINSTALL_PLUGINDIR=lib/mysql/plugin -DINSTALL_SCRIPTDIR=bin - -DINSTALL_INCLUDEDIR=include/mysql -DINSTALL_DOCREADMEDIR=share/mysql - -DINSTALL_SUPPORTFILESDIR=share/mysql -DINSTALL_MYSQLSHAREDIR=share/mysql - -DINSTALL_DOCDIR=share/mysql/docs -DINSTALL_SHAREDIR=share/mysql - -DWITH_ZLIB=system -DWITH_READLINE=ON -DWITH_SSL=bundled - -DWITH_EMBEDDED_SERVER=ON -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DPLUGIN_TOKUDB=NO - -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 - -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 - -DWITH_EXTRA_CHARSETS=complex -DWITH_LIBWRAP=OFF -DSTACK_DIRECTION=1 - -DWITHOUT_PBXT_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1" -hostmakedepends="perl bison ncurses-devel openssl-devel libatomic-devel - pkg-config" -makedepends="zlib-devel ncurses-devel openssl-devel readline-devel pcre-devel +build_helper=qemu +configure_args="-DBUILD_CONFIG=mysql_release + -DMYSQL_DATADIR=/var/lib/mysql -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock + -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci + -DENABLED_LOCAL_INFILE=ON -DINSTALL_INFODIR=share/mysql/docs + -DINSTALL_MANDIR=share/man -DINSTALL_PLUGINDIR=lib/mysql/plugin + -DINSTALL_SCRIPTDIR=bin -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_DOCREADMEDIR=share/mysql -DINSTALL_SUPPORTFILESDIR=share/mysql + -DINSTALL_MYSQLSHAREDIR=share/mysql -DINSTALL_DOCDIR=share/mysql/docs + -DINSTALL_SHAREDIR=share/mysql -DSTACK_DIRECTION=1 + -DWITH_ZLIB=system -DWITH_SSL=system -DWITH_LIBARCHIVE=system + -DWITH_EMBEDDED_SERVER=ON -DPLUGIN_TOKUDB=NO -DPLUGIN_BLACKHOLE=YES + -DPLUGIN_PARTITION=YES -DWITH_EXTRA_CHARSETS=complex -DWITH_LIBWRAP=OFF + -DWITH_READLINE=ON -DWITH_SYSTEMD=no -DSKIP_TESTS=ON" +hostmakedepends="bison perl flex pkg-config git" +makedepends="ncurses-devel gnutls-devel libaio-devel boost-devel pam-devel zlib-devel libatomic-devel" depends="mariadb-client" short_desc="Fast SQL database server, drop-in replacement for MySQL" -maintainer="Orphaned " +maintainer="Justin Jagieniak " license="GPL-2.0-only" -homepage="https://mariadb.org/" -distfiles="http://archive.mariadb.org/$pkgname-$version/source/$pkgname-$version.tar.gz" -checksum=069d58b1e2c06bb1e6c31249eda34138f41fb8ae3dec7ecaeba8035812c87cf9 +homepage="https://mariadb.com" +distfiles="http://archive.mariadb.org/$pkgname-$version/source/${pkgname}-${version}.tar.gz" +checksum=40ab19aeb8de141fdc188cf2251213c9e7351bee4d0cd29db704fae68d1068cf lib32disabled=yes provides="mysql-${version}_${revision}" replaces="mysql>=0" -conf_files="/etc/mysql/my.cnf" system_accounts="mysql" mysql_homedir="/var/lib/mysql" -CFLAGS="-w -fcommon -DDBUG_OFF=1" -CXXFLAGS="-DDBUG_OFF=1" +ignore_elf_dirs="/usr/share" +make_check=extended pre_configure() { - # We need some host binaries before starting cross compilation. - if [ "$CROSS_BUILD" ]; then - mkdir -p build.native - # XXX still broken: jemalloc configure execs host bins. - CC= CXX= CPP= LD= AR= AS= RANLIB= CFLAGS= CXXFLAGS= LDFLAGS= \ - cmake -S . -B build.native - make -C build.native comp_err comp_sql gen_lex_hash gen_lex_token - fi -} - -pre_build() { - if [ "$CROSS_BUILD" ]; then - # CMake complains if those binaries ain't in build - cp build.native/extra/comp_err ${wrksrc}/extra - cp build.native/extra/comp_err ${wrksrc}/build/extra - cp build.native/scripts/comp_sql ${wrksrc}/scripts - cp build.native/scripts/comp_sql ${wrksrc}/build/scripts - cp build.native/sql/gen_lex_hash ${wrksrc}/sql - cp build.native/sql/gen_lex_hash ${wrksrc}/build/sql - cp build.native/sql/gen_lex_token ${wrksrc}/sql - cp build.native/sql/gen_lex_token ${wrksrc}/build/sql - export PATH=${PATH}:${wrksrc}/extra:${wrksrc}/scripts:${wrksrc}/sql - fi - export LD_LIBRARY_PATH=${wrksrc}/build/storage/tokudb/ft-index/portability - # It seems that there is no dependency listed in cmake on them, but they are still needed - ninja -C build sql/sql_yacc.cc sql/lex_hash.h + case "$XBPS_TARGET_MACHINE" in + *-musl) + patch -p0 -i ${FILESDIR}/musl-have-stacktrace.patch + patch -p0 -i ${FILESDIR}/musl-disable-failing-test.patch + patch -p0 -i ${FILESDIR}/musl-ppc-remove-glibc-dep.patch + ;; + esac } post_install() { @@ -72,8 +51,8 @@ post_install() { rm -f ${DESTDIR}/usr/share/man/man1/mysql-test-run.pl.1 rm -f ${DESTDIR}/usr/bin/mytop - # Configuration file. - install -Dm644 ${DESTDIR}/usr/share/mysql/my-medium.cnf ${DESTDIR}/etc/mysql/my.cnf + vmkdir usr/lib/security + mv ${DESTDIR}/usr/share/pam_user_map.so ${DESTDIR}/usr/lib/security/ vsv mysqld } @@ -83,8 +62,7 @@ libmariadbclient_package() { provides="libmysqlclient-${version}_${revision}" replaces="libmysqlclient>=0" pkg_install() { - vmove "usr/lib/libmysqld.so.*" - vmove "usr/lib/libmysqlclient*.so.*" + vmove "usr/lib/libmariadb*.so.*" } } libmariadbclient-devel_package() {