Github messages for voidlinux
 help / color / mirror / Atom feed
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() {

  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).