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'
|
# Template file for 'mariadb'
|
||||||
pkgname=mariadb
|
pkgname=mariadb
|
||||||
version=10.0.21
|
version=10.0.21
|
||||||
revision=1
|
revision=2
|
||||||
build_style=cmake
|
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
|
-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock -DDEFAULT_CHARSET=utf8
|
||||||
-DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON
|
-DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON
|
||||||
-DINSTALL_INFODIR=share/mysql/docs -DINSTALL_MANDIR=share/man
|
-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_SUPPORTFILESDIR=share/mysql -DINSTALL_MYSQLSHAREDIR=share/mysql
|
||||||
-DINSTALL_DOCDIR=share/mysql/docs -DINSTALL_SHAREDIR=share/mysql
|
-DINSTALL_DOCDIR=share/mysql/docs -DINSTALL_SHAREDIR=share/mysql
|
||||||
-DWITH_ZLIB=system -DWITH_PCRE=system -DWITH_READLINE=ON -DWITH_SSL=system
|
-DWITH_ZLIB=system -DWITH_PCRE=system -DWITH_READLINE=ON -DWITH_SSL=system
|
||||||
-DWITH_EMBEDDED_SERVER=ON -DWITH_ARCHIVE_STORAGE_ENGINE=1
|
-DWITH_EMBEDDED_SERVER=ON -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITHOUT_TOKUDB=1
|
||||||
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1
|
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1
|
||||||
-DWITH_PARTITION_STORAGE_ENGINE=1 -DWITHOUT_TOKUDB=1
|
|
||||||
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
|
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
|
||||||
-DWITHOUT_PBXT_STORAGE_ENGINE=1 -DWITH_EXTRA_CHARSETS=complex
|
-DWITH_EXTRA_CHARSETS=complex -DWITH_LIBWRAP=OFF -DSTACK_DIRECTION=1"
|
||||||
-DWITH_LIBWRAP=OFF -DSTACK_DIRECTION=1"
|
|
||||||
lib32disabled=yes
|
lib32disabled=yes
|
||||||
hostmakedepends="perl cmake bison ncurses-devel"
|
hostmakedepends="perl cmake bison ncurses-devel"
|
||||||
makedepends="zlib-devel ncurses-devel libressl-devel readline-devel pcre-devel"
|
makedepends="zlib-devel ncurses-devel libressl-devel readline-devel pcre-devel"
|
||||||
|
@ -33,17 +31,23 @@ homepage="http://mariadb.org/"
|
||||||
license="GPL-2"
|
license="GPL-2"
|
||||||
distfiles="https://downloads.$pkgname.org/f/$pkgname-$version/source/$pkgname-$version.tar.gz"
|
distfiles="https://downloads.$pkgname.org/f/$pkgname-$version/source/$pkgname-$version.tar.gz"
|
||||||
checksum=4b9a32e15ceadefdb1057a02eb3e0addf702b75aef631a3c9194b832ecfa3545
|
checksum=4b9a32e15ceadefdb1057a02eb3e0addf702b75aef631a3c9194b832ecfa3545
|
||||||
|
CFLAGS="-w"
|
||||||
|
|
||||||
|
if [ -z "$CROSS_BUILD" ]; then
|
||||||
|
configure_args+=" -DWITH_XTRADB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1"
|
||||||
|
fi
|
||||||
|
|
||||||
pre_configure() {
|
pre_configure() {
|
||||||
# We need some host binaries before starting cross compilation.
|
# We need some host binaries before starting cross compilation.
|
||||||
if [ "$CROSS_BUILD" ]; then
|
if [ "$CROSS_BUILD" ]; then
|
||||||
# XXX still broken: jemalloc configure execs host bins.
|
# XXX still broken: jemalloc configure execs host bins.
|
||||||
CC= CXX= CPP= LD= AR= AS= RANLIB= CFLAGS= CXXFLAGS= LDFLAGS= cmake .
|
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
|
mkdir bin.host
|
||||||
cp extra/comp_err bin.host
|
cp extra/comp_err bin.host
|
||||||
cp scripts/comp_sql bin.host
|
cp scripts/comp_sql bin.host
|
||||||
cp sql/gen_lex_hash bin.host
|
cp sql/gen_lex_hash bin.host
|
||||||
|
cp sql/gen_lex_token bin.host
|
||||||
make clean
|
make clean
|
||||||
rm CMakeCache.txt
|
rm CMakeCache.txt
|
||||||
fi
|
fi
|
||||||
|
@ -54,10 +58,12 @@ pre_build() {
|
||||||
cp bin.host/comp_err ${wrksrc}/extra
|
cp bin.host/comp_err ${wrksrc}/extra
|
||||||
cp bin.host/comp_sql ${wrksrc}/scripts
|
cp bin.host/comp_sql ${wrksrc}/scripts
|
||||||
cp bin.host/gen_lex_hash ${wrksrc}/sql
|
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
|
export PATH=${PATH}:${wrksrc}/extra:${wrksrc}/scripts:${wrksrc}/sql
|
||||||
fi
|
fi
|
||||||
export LD_LIBRARY_PATH=${wrksrc}/build/storage/tokudb/ft-index/portability
|
export LD_LIBRARY_PATH=${wrksrc}/build/storage/tokudb/ft-index/portability
|
||||||
}
|
}
|
||||||
|
|
||||||
post_install() {
|
post_install() {
|
||||||
# Remove unneeded stuff.
|
# Remove unneeded stuff.
|
||||||
rm -rf ${DESTDIR}/usr/{sql-bench,mysql-test,data}
|
rm -rf ${DESTDIR}/usr/{sql-bench,mysql-test,data}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue