From: Veganizer <Veganizer@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] mariadb: update to 10.5.9.
Date: Mon, 12 Apr 2021 09:12:59 +0200 [thread overview]
Message-ID: <20210412071259.MdW9wxHwfHxQLguBzxBTO-npEkNs4LnMpz7QrrdB1BE@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-30143@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 1631 bytes --]
There is an updated pull request by Veganizer against master on the void-packages repository
https://github.com/Veganizer/void-packages mariadb-server
https://github.com/void-linux/void-packages/pull/30143
mariadb: update to 10.5.9.
<!-- Mark items with [x] where applicable -->
#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)
#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR
<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
#### Does it build and run successfully?
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (x86_64 x86_64-musl)
- [x] I built this PR locally for these architectures (if supported. mark crossbuilds):
- [x] aarch64-musl
- [x] armv7l
- [x] armv6l-musl
Cross compiling works now!
A patch file from https://github.com/void-linux/void-packages/pull/30143.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mariadb-server-30143.patch --]
[-- Type: text/x-diff, Size: 22341 bytes --]
From ff21f4ce8749244bd4974cbcdf40788332e5248a Mon Sep 17 00:00:00 2001
From: Justin Jagieniak <justin@jagieniak.net>
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 <sys/platform/ppc.h>
+ /* 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 <vicentiu@mariadb.org>
+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 <jcowgill@debian.org>
+ Jessica Clarke <jrtc27@debian.org>
+
+--- 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 <mingli.yu@windriver.com>
+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<unsigned long long>::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 <mingli.yu@windriver.com>
+---
+ 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 <orphan@voidlinux.org>"
+maintainer="Justin Jagieniak <justin@jagieniak.net>"
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() {
next prev parent reply other threads:[~2021-04-12 7:13 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-11 4:28 [PR PATCH] " Veganizer
2021-04-11 5:13 ` ericonr
2021-04-11 5:47 ` Veganizer
2021-04-11 5:51 ` Veganizer
2021-04-11 5:59 ` Veganizer
2021-04-11 6:04 ` Veganizer
2021-04-11 6:16 ` [PR PATCH] [Updated] " Veganizer
2021-04-11 6:21 ` Veganizer
2021-04-11 6:26 ` Veganizer
2021-04-11 7:12 ` Veganizer
2021-04-11 8:57 ` Veganizer
2021-04-11 9:17 ` Veganizer
2021-04-11 9:19 ` [PR REVIEW] " Johnnynator
2021-04-11 9:19 ` [PR PATCH] [Updated] " Veganizer
2021-04-11 9:22 ` Veganizer
2021-04-11 9:26 ` Veganizer
2021-04-11 9:44 ` Veganizer
2021-04-11 9:58 ` Veganizer
2021-04-11 10:41 ` Veganizer
2021-04-11 10:45 ` Veganizer
2021-04-11 11:07 ` Veganizer
2021-04-11 11:26 ` Veganizer
2021-04-11 11:36 ` Veganizer
2021-04-11 12:00 ` Veganizer
2021-04-11 12:04 ` Veganizer
2021-04-11 12:15 ` Veganizer
2021-04-11 13:07 ` Veganizer
2021-04-11 13:09 ` Veganizer
2021-04-11 13:10 ` Veganizer
2021-04-11 13:23 ` Veganizer
2021-04-11 13:30 ` Veganizer
2021-04-11 13:41 ` Veganizer
2021-04-11 16:06 ` Veganizer
2021-04-11 16:17 ` Veganizer
2021-04-12 7:12 ` Veganizer [this message]
2021-04-12 7:15 ` [PR PATCH] [Updated] " Veganizer
2021-04-12 7:34 ` Veganizer
2021-04-13 7:12 ` Johnnynator
2021-04-13 9:37 ` Johnnynator
2021-04-13 9:37 ` Johnnynator
2021-04-13 16:44 ` [PR PATCH] [Updated] " Veganizer
2021-04-13 16:56 ` Veganizer
2021-04-13 17:08 ` Veganizer
2021-04-13 18:46 ` Veganizer
2021-04-14 10:52 ` [PR REVIEW] " grooverdan
2021-04-14 10:52 ` grooverdan
2021-04-14 13:21 ` [PR PATCH] [Updated] " Veganizer
2021-04-14 13:24 ` Veganizer
2021-04-15 19:12 ` Johnnynator
2021-04-15 19:23 ` [PR PATCH] [Merged]: " Johnnynator
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210412071259.MdW9wxHwfHxQLguBzxBTO-npEkNs4LnMpz7QrrdB1BE@z \
--to=veganizer@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).