mariadb: fix musl; fix cross-compile
This commit is contained in:
parent
e4a22d6dbf
commit
cd7450d95c
4 changed files with 153 additions and 8 deletions
68
srcpkgs/mariadb/patches/fix-cross.patch
Normal file
68
srcpkgs/mariadb/patches/fix-cross.patch
Normal file
|
@ -0,0 +1,68 @@
|
|||
--- ./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()
|
||||
|
||||
-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
|
||||
|
||||
--- ./storage/xtradb/CMakeLists.txt.orig 2015-09-17 11:17:04.967280099 -0400
|
||||
+++ ./storage/xtradb/CMakeLists.txt 2015-09-17 11:18:58.011276650 -0400
|
||||
@@ -455,12 +455,13 @@
|
||||
SET(WITH_INNOBASE_STORAGE_ENGINE TRUE)
|
||||
ENDIF()
|
||||
|
||||
-IF(XTRADB_OK)
|
||||
- MYSQL_ADD_PLUGIN(xtradb ${INNOBASE_SOURCES} STORAGE_ENGINE
|
||||
- DEFAULT
|
||||
- RECOMPILE_FOR_EMBEDDED
|
||||
- LINK_LIBRARIES ${ZLIB_LIBRARY} ${LINKER_SCRIPT})
|
||||
-ELSE()
|
||||
- MESSAGE(FATAL_ERROR "Percona XtraDB is not supported on this platform")
|
||||
+IF(WITH_XTRADB)
|
||||
+ IF(XTRADB_OK)
|
||||
+ MYSQL_ADD_PLUGIN(xtradb ${INNOBASE_SOURCES} STORAGE_ENGINE
|
||||
+ DEFAULT
|
||||
+ RECOMPILE_FOR_EMBEDDED
|
||||
+ LINK_LIBRARIES ${ZLIB_LIBRARY} ${LINKER_SCRIPT})
|
||||
+ ELSE()
|
||||
+ MESSAGE(FATAL_ERROR "Percona XtraDB is not supported on this platform")
|
||||
+ ENDIF()
|
||||
ENDIF()
|
||||
-
|
||||
|
||||
--- ./storage/innobase/CMakeLists.txt.orig 2015-09-18 21:28:54.446428704 -0400
|
||||
+++ ./storage/innobase/CMakeLists.txt 2015-09-18 21:40:24.987436643 -0400
|
||||
@@ -15,6 +15,10 @@
|
||||
|
||||
# This is the CMakeLists for InnoDB
|
||||
|
||||
+IF(NOT WITH_INNOBASE_STORAGE_ENGINE)
|
||||
+ RETURN()
|
||||
+ENDIF()
|
||||
+
|
||||
INCLUDE(CheckFunctionExists)
|
||||
INCLUDE(CheckCSourceCompiles)
|
||||
INCLUDE(CheckCSourceRuns)
|
||||
|
||||
--- ./storage/tokudb/ft-index/cmake_modules/TokuFeatureDetection.cmake.orig 2015-09-19 21:44:36.724432860 -0400
|
||||
+++ ./storage/tokudb/ft-index/cmake_modules/TokuFeatureDetection.cmake 2015-09-19 21:45:58.880433804 -0400
|
||||
@@ -92,7 +92,7 @@
|
||||
if (HAVE_BACKTRACE_WITH_EXECINFO)
|
||||
list(APPEND EXTRA_SYSTEM_LIBS execinfo)
|
||||
else ()
|
||||
- message(FATAL_ERROR "Cannot find backtrace(), even with -lexecinfo.")
|
||||
+ message(WARNING "Cannot find backtrace(), even with -lexecinfo.")
|
||||
endif ()
|
||||
endif ()
|
||||
|
36
srcpkgs/mariadb/patches/fix-musl.patch
Normal file
36
srcpkgs/mariadb/patches/fix-musl.patch
Normal file
|
@ -0,0 +1,36 @@
|
|||
--- ./strings/my_vsnprintf.c.orig 2015-09-16 23:54:27.348529851 -0400
|
||||
+++ ./strings/my_vsnprintf.c 2015-09-16 23:57:11.968524828 -0400
|
||||
@@ -827,11 +827,7 @@
|
||||
*/
|
||||
#if defined(__WIN__)
|
||||
strerror_s(buf, len, nr);
|
||||
-#elif ((defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE >= 200112L)) || \
|
||||
- (defined _XOPEN_SOURCE && (_XOPEN_SOURCE >= 600))) && \
|
||||
- ! defined _GNU_SOURCE
|
||||
- strerror_r(nr, buf, len); /* I can build with or without GNU */
|
||||
-#elif defined _GNU_SOURCE
|
||||
+#elif defined(__GLIBC__) && defined (_GNU_SOURCE)
|
||||
char *r= strerror_r(nr, buf, len);
|
||||
if (r != buf) /* Want to help, GNU? */
|
||||
strmake(buf, r, len - 1); /* Then don't. */
|
||||
|
||||
--- ./storage/mroonga/vendor/groonga/lib/com.c.orig 2015-09-16 23:53:30.468531587 -0400
|
||||
+++ ./storage/mroonga/vendor/groonga/lib/com.c 2015-09-16 23:53:43.165531199 -0400
|
||||
@@ -351,7 +351,7 @@
|
||||
struct epoll_event e;
|
||||
memset(&e, 0, sizeof(struct epoll_event));
|
||||
e.data.fd = (fd);
|
||||
- e.events = (__uint32_t) events;
|
||||
+ e.events = (uint32_t) events;
|
||||
if (epoll_ctl(ev->epfd, EPOLL_CTL_ADD, (fd), &e) == -1) {
|
||||
SERR("epoll_ctl");
|
||||
return ctx->rc;
|
||||
@@ -399,7 +399,7 @@
|
||||
struct epoll_event e;
|
||||
memset(&e, 0, sizeof(struct epoll_event));
|
||||
e.data.fd = (fd);
|
||||
- e.events = (__uint32_t) events;
|
||||
+ e.events = (uint32_t) events;
|
||||
if (epoll_ctl(ev->epfd, EPOLL_CTL_MOD, (fd), &e) == -1) {
|
||||
SERR("epoll_ctl");
|
||||
return ctx->rc;
|
35
srcpkgs/mariadb/patches/poll-h.patch
Normal file
35
srcpkgs/mariadb/patches/poll-h.patch
Normal file
|
@ -0,0 +1,35 @@
|
|||
--- ./libmysql/libmysql.c.orig 2015-09-19 22:16:15.039454684 -0400
|
||||
+++ ./libmysql/libmysql.c 2015-09-19 22:16:44.841455027 -0400
|
||||
@@ -48,7 +48,7 @@
|
||||
#endif
|
||||
#endif /* !defined(__WIN__) */
|
||||
#ifdef HAVE_POLL
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_UN_H
|
||||
#include <sys/un.h>
|
||||
|
||||
--- ./include/my_net.h.orig 2015-09-19 22:18:14.641456059 -0400
|
||||
+++ ./include/my_net.h 2015-09-19 22:18:29.871456234 -0400
|
||||
@@ -37,7 +37,7 @@
|
||||
#include <arpa/inet.h>
|
||||
#endif
|
||||
#ifdef HAVE_POLL
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_IOCTL_H
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
--- ./storage/mroonga/vendor/groonga/lib/grn_com.h.orig 2015-09-19 22:53:30.420480384 -0400
|
||||
+++ ./storage/mroonga/vendor/groonga/lib/grn_com.h 2015-09-19 22:54:29.412481062 -0400
|
||||
@@ -83,7 +83,7 @@
|
||||
# define GRN_COM_POLLIN EVFILT_READ
|
||||
# define GRN_COM_POLLOUT EVFILT_WRITE
|
||||
# else /* USE_KQUEUE */
|
||||
-# include <sys/poll.h>
|
||||
+# include <poll.h>
|
||||
# define GRN_COM_POLLIN POLLIN
|
||||
# define GRN_COM_POLLOUT POLLOUT
|
||||
# endif /* USE_KQUEUE */
|
|
@ -1,9 +1,9 @@
|
|||
# Template file for 'mariadb'
|
||||
pkgname=mariadb
|
||||
version=10.0.21
|
||||
revision=1
|
||||
revision=2
|
||||
build_style=cmake
|
||||
configure_args="-DSYSCONFDIR=/etc/mysql -DMYSQL_DATADIR=/var/lib/mysql
|
||||
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
|
||||
|
@ -12,12 +12,10 @@ configure_args="-DSYSCONFDIR=/etc/mysql -DMYSQL_DATADIR=/var/lib/mysql
|
|||
-DINSTALL_SUPPORTFILESDIR=share/mysql -DINSTALL_MYSQLSHAREDIR=share/mysql
|
||||
-DINSTALL_DOCDIR=share/mysql/docs -DINSTALL_SHAREDIR=share/mysql
|
||||
-DWITH_ZLIB=system -DWITH_PCRE=system -DWITH_READLINE=ON -DWITH_SSL=system
|
||||
-DWITH_EMBEDDED_SERVER=ON -DWITH_ARCHIVE_STORAGE_ENGINE=1
|
||||
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1
|
||||
-DWITH_PARTITION_STORAGE_ENGINE=1 -DWITHOUT_TOKUDB=1
|
||||
-DWITH_EMBEDDED_SERVER=ON -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITHOUT_TOKUDB=1
|
||||
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1
|
||||
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
|
||||
-DWITHOUT_PBXT_STORAGE_ENGINE=1 -DWITH_EXTRA_CHARSETS=complex
|
||||
-DWITH_LIBWRAP=OFF -DSTACK_DIRECTION=1"
|
||||
-DWITH_EXTRA_CHARSETS=complex -DWITH_LIBWRAP=OFF -DSTACK_DIRECTION=1"
|
||||
lib32disabled=yes
|
||||
hostmakedepends="perl cmake bison ncurses-devel"
|
||||
makedepends="zlib-devel ncurses-devel libressl-devel readline-devel pcre-devel"
|
||||
|
@ -33,17 +31,23 @@ homepage="http://mariadb.org/"
|
|||
license="GPL-2"
|
||||
distfiles="https://downloads.$pkgname.org/f/$pkgname-$version/source/$pkgname-$version.tar.gz"
|
||||
checksum=4b9a32e15ceadefdb1057a02eb3e0addf702b75aef631a3c9194b832ecfa3545
|
||||
CFLAGS="-w"
|
||||
|
||||
if [ -z "$CROSS_BUILD" ]; then
|
||||
configure_args+=" -DWITH_XTRADB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1"
|
||||
fi
|
||||
|
||||
pre_configure() {
|
||||
# We need some host binaries before starting cross compilation.
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
# XXX still broken: jemalloc configure execs host bins.
|
||||
CC= CXX= CPP= LD= AR= AS= RANLIB= CFLAGS= CXXFLAGS= LDFLAGS= cmake .
|
||||
make comp_err comp_sql gen_lex_hash
|
||||
make comp_err comp_sql gen_lex_hash gen_lex_token
|
||||
mkdir bin.host
|
||||
cp extra/comp_err bin.host
|
||||
cp scripts/comp_sql bin.host
|
||||
cp sql/gen_lex_hash bin.host
|
||||
cp sql/gen_lex_token bin.host
|
||||
make clean
|
||||
rm CMakeCache.txt
|
||||
fi
|
||||
|
@ -54,10 +58,12 @@ pre_build() {
|
|||
cp bin.host/comp_err ${wrksrc}/extra
|
||||
cp bin.host/comp_sql ${wrksrc}/scripts
|
||||
cp bin.host/gen_lex_hash ${wrksrc}/sql
|
||||
cp bin.host/gen_lex_token ${wrksrc}/sql
|
||||
export PATH=${PATH}:${wrksrc}/extra:${wrksrc}/scripts:${wrksrc}/sql
|
||||
fi
|
||||
export LD_LIBRARY_PATH=${wrksrc}/build/storage/tokudb/ft-index/portability
|
||||
}
|
||||
|
||||
post_install() {
|
||||
# Remove unneeded stuff.
|
||||
rm -rf ${DESTDIR}/usr/{sql-bench,mysql-test,data}
|
||||
|
|
Loading…
Reference in a new issue