mariadb: Enable package (64-bit only for now)
[termux-packages] / packages / mariadb / build.sh
CommitLineData
f8cb5237 1TERMUX_PKG_HOMEPAGE=https://mariadb.org
4664501d 2TERMUX_PKG_DESCRIPTION="A drop-in replacement for mysql server"
dc04987c
FF
3TERMUX_PKG_VERSION=10.1.23
4TERMUX_PKG_SRCURL=http://mirror.fibergrid.in/mariadb/mariadb-$TERMUX_PKG_VERSION/source/mariadb-$TERMUX_PKG_VERSION.tar.gz
5TERMUX_PKG_SHA256=54d8114e24bfa5e3ebdc7d69e071ad1471912847ea481b227d204f9d644300bf
4664501d 6TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
210798fc 7-DBISON_EXECUTABLE=`which bison`
4664501d 8-DBUILD_CONFIG=mysql_release
210798fc 9-DCAT_EXECUTABLE=`which cat`
4664501d
FF
10-DENABLED_LOCAL_INFILE=ON
11-DHAVE_UCONTEXT_H=False
12-DIMPORT_EXECUTABLES=$TERMUX_PKG_HOSTBUILD_DIR/import_executables.cmake
18640855 13-DINSTALL_LAYOUT=DEB
4664501d
FF
14-DINSTALL_UNIX_ADDRDIR=$TERMUX_PREFIX/tmp/mysqld.sock
15-DMYSQL_DATADIR=$TERMUX_PREFIX/var/lib/mysql
16-DPLUGIN_AUTH_GSSAPI_CLIENT=NO
17-DPLUGIN_AUTH_GSSAPI=NO
18-DPLUGIN_DAEMON_EXAMPLE=NO
19-DPLUGIN_EXAMPLE=NO
20-DPLUGIN_GSSAPI=NO
b9fd243e 21-DPLUGIN_TOKUDB=NO
4664501d
FF
22-DSTACK_DIRECTION=-1
23-DTMPDIR=$TERMUX_PREFIX/tmp
24-DWITH_EXTRA_CHARSETS=complex
25-DWITH_JEMALLOC=OFF
c9d43c92 26-DWITH_MARIABACKUP=OFF
4664501d
FF
27-DWITH_PCRE=system
28-DWITH_READLINE=OFF
29-DWITH_SSL=system
30-DWITH_WSREP=False
210798fc
FF
31-DWITH_ZLIB=system
32-DWITH_INNODB_BZIP2=OFF
33-DWITH_INNODB_LZ4=OFF
34-DWITH_INNODB_LZMA=ON
35-DWITH_INNODB_LZO=OFF
36-DWITH_INNODB_SNAPPY=OFF
b9fd243e 37-DWITH_UNIT_TESTS=OFF
4664501d 38"
f8cb5237 39TERMUX_PKG_HOSTBUILD=true
210798fc 40TERMUX_PKG_DEPENDS="liblzma, ncurses, libedit, openssl, pcre, libcrypt, libandroid-support, libandroid-glob"
f8cb5237 41TERMUX_PKG_MAINTAINER="Vishal Biswas @vishalbiswas"
f8cb5237 42TERMUX_PKG_CONFLICTS="mysql"
4664501d 43TERMUX_PKG_RM_AFTER_INSTALL="bin/mysqltest*"
53ea1579
FF
44# MariaDB doesn't support 32-bit off_t systems, see
45# https://bugs.mysql.com/bug.php?id=41309
46# It builds with -D_FILE_OFFSET_BITS=64 but the NDK only starts supporting
47# that with unified headers,
48# https://android.googlesource.com/platform/ndk/+/master/docs/UnifiedHeaders.md
49# The unified headers are new in the current NDK r14 release and contains some
50# issues which are being fixed for r15, at which time we'll probably switch to it.
51# In the meantime we don't build mariadb for 32-bit arches.
52TERMUX_PKG_BLACKLISTED_ARCHES="arm,i686"
f8cb5237
VB
53
54termux_step_host_build () {
55 termux_setup_cmake
56 cmake -G "Unix Makefiles" $TERMUX_PKG_SRCDIR -DCMAKE_BUILD_TYPE=Release
57 make -j $TERMUX_MAKE_PROCESSES import_executables
58}
59
60termux_step_pre_configure () {
61 # it will try to define off64_t with off_t if unset
62 # and 32 bit Android has wrong off_t defined
63 CPPFLAGS="$CPPFLAGS -Dushort=u_short -D__off64_t_defined"
64}
65
66termux_step_post_make_install () {
67 mkdir -p $TERMUX_PREFIX/var/lib/mysql
68 # files not needed
18640855 69 rm -r $TERMUX_PREFIX/{mysql-test,sql-bench}
f8cb5237
VB
70 rm $TERMUX_PREFIX/share/man/man1/mysql-test-run.pl.1
71}
72
73termux_step_create_debscripts () {
74 return
75 echo "echo 'Initializing mysql data directory...'" > postinst
76 echo "$TERMUX_PREFIX/bin/mysql_install_db --user=\`whoami\` --datadir=$TERMUX_PREFIX/var/lib/mysql --basedir=$TERMUX_PREFIX" >> postinst
77 echo "exit 0" >> postinst
78 chmod 0755 postinst
79}