X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/3c2fd0028367080a9077876b268f0f1e64b01a52..f9fc47c910efe5e213928dfb67b4fea07b50f36e:/packages/mariadb/build.sh diff --git a/packages/mariadb/build.sh b/packages/mariadb/build.sh index 7bd9885f..6cf03eea 100644 --- a/packages/mariadb/build.sh +++ b/packages/mariadb/build.sh @@ -1,8 +1,8 @@ TERMUX_PKG_HOMEPAGE=https://mariadb.org TERMUX_PKG_DESCRIPTION="A drop-in replacement for mysql server" -TERMUX_PKG_VERSION=10.2.6 +TERMUX_PKG_VERSION=10.2.13 +TERMUX_PKG_SHA256=272e7ed9300a05da9e02f8217a01ed3447c4f5a36a12e5233d62cc7c586fc753 TERMUX_PKG_SRCURL=https://ftp.osuosl.org/pub/mariadb/mariadb-$TERMUX_PKG_VERSION/source/mariadb-$TERMUX_PKG_VERSION.tar.gz -TERMUX_PKG_SHA256=c385c76e40d6e5f0577eba021805da5f494a30c9ef51884baefe206d5658a2e5 TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -DBISON_EXECUTABLE=`which bison` -DBUILD_CONFIG=mysql_release @@ -13,6 +13,7 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -DIMPORT_EXECUTABLES=$TERMUX_PKG_HOSTBUILD_DIR/import_executables.cmake -DINSTALL_LAYOUT=DEB -DINSTALL_UNIX_ADDRDIR=$TERMUX_PREFIX/tmp/mysqld.sock +-DINSTALL_SBINDIR=$TERMUX_PREFIX/bin -DMYSQL_DATADIR=$TERMUX_PREFIX/var/lib/mysql -DPLUGIN_AUTH_GSSAPI_CLIENT=NO -DPLUGIN_AUTH_GSSAPI=NO @@ -44,15 +45,6 @@ TERMUX_PKG_DEPENDS="liblzma, ncurses, libedit, openssl, pcre, libcrypt, libandro TERMUX_PKG_MAINTAINER="Vishal Biswas @vishalbiswas" TERMUX_PKG_CONFLICTS="mysql" TERMUX_PKG_RM_AFTER_INSTALL="bin/mysqltest*" -# MariaDB doesn't support 32-bit off_t systems, see -# https://bugs.mysql.com/bug.php?id=41309 -# It builds with -D_FILE_OFFSET_BITS=64 but the NDK only starts supporting -# that with unified headers, -# https://android.googlesource.com/platform/ndk/+/master/docs/UnifiedHeaders.md -# The unified headers are new in the current NDK r14 release and contains some -# issues which are being fixed for r15, at which time we'll probably switch to it. -# In the meantime we don't build mariadb for 32-bit arches. -TERMUX_PKG_BLACKLISTED_ARCHES="arm,i686" termux_step_host_build () { termux_setup_cmake @@ -64,22 +56,30 @@ termux_step_host_build () { } termux_step_pre_configure () { - # it will try to define off64_t with off_t if unset - # and 32 bit Android has wrong off_t defined - CPPFLAGS="$CPPFLAGS -Dushort=u_short -D__off64_t_defined" + CPPFLAGS+=" -Dushort=u_short" + + if [ $TERMUX_ARCH_BITS = 32 ]; then + CPPFLAGS+=" -D__off64_t_defined -DTERMUX_EXPOSE_FILE_OFFSET64=1" + fi + + if [ $TERMUX_ARCH = "i686" ]; then + # Avoid undefined reference to __atomic_load_8: + CFLAGS+=" -latomic" + fi } termux_step_post_make_install () { - mkdir -p $TERMUX_PREFIX/var/lib/mysql # files not needed rm -r $TERMUX_PREFIX/{mysql-test,sql-bench} rm $TERMUX_PREFIX/share/man/man1/mysql-test-run.pl.1 } termux_step_create_debscripts () { - return - echo "echo 'Initializing mysql data directory...'" > postinst - echo "$TERMUX_PREFIX/bin/mysql_install_db --user=\`whoami\` --datadir=$TERMUX_PREFIX/var/lib/mysql --basedir=$TERMUX_PREFIX" >> postinst + echo "if [ ! -e "$TERMUX_PREFIX/var/lib/mysql" ]; then" > postinst + echo " echo 'Initializing mysql data directory...'" >> postinst + echo " mkdir -p $TERMUX_PREFIX/var/lib/mysql" >> postinst + echo " $TERMUX_PREFIX/bin/mysql_install_db --user=\`whoami\` --datadir=$TERMUX_PREFIX/var/lib/mysql --basedir=$TERMUX_PREFIX" >> postinst + echo "fi" >> postinst echo "exit 0" >> postinst chmod 0755 postinst }