Drop -D_FILE_OFFSET_BITS=64 support for now
[termux-packages] / packages / mariadb / build.sh
1 TERMUX_PKG_HOMEPAGE=https://mariadb.org
2 TERMUX_PKG_DESCRIPTION="A drop-in replacement for mysql server"
3 TERMUX_PKG_VERSION=10.2.6
4 TERMUX_PKG_REVISION=2
5 TERMUX_PKG_SRCURL=https://ftp.osuosl.org/pub/mariadb/mariadb-$TERMUX_PKG_VERSION/source/mariadb-$TERMUX_PKG_VERSION.tar.gz
6 TERMUX_PKG_SHA256=c385c76e40d6e5f0577eba021805da5f494a30c9ef51884baefe206d5658a2e5
7 TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
8 -DBISON_EXECUTABLE=`which bison`
9 -DBUILD_CONFIG=mysql_release
10 -DCAT_EXECUTABLE=`which cat`
11 -DGSSAPI_FOUND=NO
12 -DENABLED_LOCAL_INFILE=ON
13 -DHAVE_UCONTEXT_H=False
14 -DIMPORT_EXECUTABLES=$TERMUX_PKG_HOSTBUILD_DIR/import_executables.cmake
15 -DINSTALL_LAYOUT=DEB
16 -DINSTALL_UNIX_ADDRDIR=$TERMUX_PREFIX/tmp/mysqld.sock
17 -DINSTALL_SBINDIR=$TERMUX_PREFIX/bin
18 -DMYSQL_DATADIR=$TERMUX_PREFIX/var/lib/mysql
19 -DPLUGIN_AUTH_GSSAPI_CLIENT=NO
20 -DPLUGIN_AUTH_GSSAPI=NO
21 -DPLUGIN_CONNECT=NO
22 -DPLUGIN_DAEMON_EXAMPLE=NO
23 -DPLUGIN_EXAMPLE=NO
24 -DPLUGIN_GSSAPI=NO
25 -DPLUGIN_ROCKSDB=NO
26 -DPLUGIN_TOKUDB=NO
27 -DSTACK_DIRECTION=-1
28 -DTMPDIR=$TERMUX_PREFIX/tmp
29 -DWITH_EXTRA_CHARSETS=complex
30 -DWITH_JEMALLOC=OFF
31 -DWITH_MARIABACKUP=OFF
32 -DWITH_PCRE=system
33 -DWITH_READLINE=OFF
34 -DWITH_SSL=system
35 -DWITH_WSREP=False
36 -DWITH_ZLIB=system
37 -DWITH_INNODB_BZIP2=OFF
38 -DWITH_INNODB_LZ4=OFF
39 -DWITH_INNODB_LZMA=ON
40 -DWITH_INNODB_LZO=OFF
41 -DWITH_INNODB_SNAPPY=OFF
42 -DWITH_UNIT_TESTS=OFF
43 "
44 TERMUX_PKG_HOSTBUILD=true
45 TERMUX_PKG_DEPENDS="liblzma, ncurses, libedit, openssl, pcre, libcrypt, libandroid-support, libandroid-glob"
46 TERMUX_PKG_MAINTAINER="Vishal Biswas @vishalbiswas"
47 TERMUX_PKG_CONFLICTS="mysql"
48 TERMUX_PKG_RM_AFTER_INSTALL="bin/mysqltest*"
49 # Does not build with 32-bit off_t, and Termux does not use
50 # _FILE_OFFSET_BITS=64 as it doesn't work very well on Android.
51 TERMUX_PKG_BLACKLISTED_ARCHES="arm,i686"
52
53 termux_step_host_build () {
54 termux_setup_cmake
55 cmake -G "Unix Makefiles" \
56 $TERMUX_PKG_SRCDIR \
57 -DWITH_SSL=bundled \
58 -DCMAKE_BUILD_TYPE=Release
59 make -j $TERMUX_MAKE_PROCESSES import_executables
60 }
61
62 termux_step_pre_configure () {
63 # it will try to define off64_t with off_t if unset
64 # and 32 bit Android has wrong off_t defined
65 CPPFLAGS="$CPPFLAGS -Dushort=u_short"
66
67 if [ $TERMUX_ARCH = "i686" ]; then
68 # Avoid undefined reference to __atomic_load_8:
69 CFLAGS+=" -latomic"
70 fi
71 }
72
73 termux_step_post_make_install () {
74 mkdir -p $TERMUX_PREFIX/var/lib/mysql
75 # files not needed
76 rm -r $TERMUX_PREFIX/{mysql-test,sql-bench}
77 rm $TERMUX_PREFIX/share/man/man1/mysql-test-run.pl.1
78 }
79
80 termux_step_create_debscripts () {
81 return
82 echo "echo 'Initializing mysql data directory...'" > postinst
83 echo "$TERMUX_PREFIX/bin/mysql_install_db --user=\`whoami\` --datadir=$TERMUX_PREFIX/var/lib/mysql --basedir=$TERMUX_PREFIX" >> postinst
84 echo "exit 0" >> postinst
85 chmod 0755 postinst
86 }