# Template file for 'mysql'
pkgname=mysql
version=5.6.14
revision=1
build_style=cmake
configure_args="-DSYSCONFDIR=/etc/mysql -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
 -DINSTALL_PLUGINDIR=/usr/lib/mysql/plugin -DINSTALL_SCRIPTDIR=bin
 -DINSTALL_INCLUDEDIR=include/mysql -DINSTALL_DOCREADMEDIR=share/mysql
 -DINSTALL_SUPPORTFILESDIR=share/mysql -DINSTALL_MYSQLSHAREDIR=share/mysql
 -DINSTALL_DOCDIR=share/mysql/docs -DINSTALL_SHAREDIR=share/mysql
 -DWITH_ZLIB=system -DWITH_SSL=system -DWITH_LIBWRAP=OFF
 -DWITH_EXTRA_CHARSETS=complex -DWITH_EMBEDDED_SERVER=ON
 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1
 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_ARCHIVE_STORAGE_ENGINE=1
 -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
 -DSTACK_DIRECTION=1"
hostmakedepends="perl cmake bison ncurses-devel"
makedepends="zlib-devel ncurses-devel openssl-devel readline-devel"
short_desc="The world's most popular open source database"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="https://www.mysql.com/products/community/"
license="GPL-2"
distfiles="http://mirror.cogentco.com/pub/mysql/MySQL-5.6/mysql-${version}.tar.gz"
checksum=7136963e07726abfb543b618cf368c8bb9480b5113327ca4a8f94c86f24b22c7
long_desc="
 MySQL is the world's most popular open source database software, with over
 100 million copies of its software downloaded or distributed throughout
 it's history. With its superior speed, reliability, and ease of use, MySQL
 has become the preferred choice for Web, Web 2.0, SaaS, ISV, Telecom
 companies and forward-thinking corporate IT Managers because it eliminates
 the major problems associated with downtime, maintenance and administration
 for modern, online applications."

pre_configure() {
	# We need some host binaries before starting cross compilation.
	if [ "$CROSS_BUILD" ]; then
		CC= CXX= CPP= LD= AR= AS= RANLIB= CFLAGS= CXXFLAGS= LDFLAGS= cmake .
		make comp_err comp_sql gen_lex_hash gen_pfs_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 storage/perfschema/gen_pfs_lex_token bin.host
		make clean
		rm CMakeCache.txt
	fi
}

pre_build() {
	if [ "$CROSS_BUILD" ]; then
		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_pfs_lex_token ${wrksrc}/storage/perfschema
		export PATH=${PATH}:${wrksrc}/extra:${wrksrc}/scripts:${wrksrc}/sql:${wrksrc}/storage/perfschema
	fi
}

post_install() {
	# Remove unneeded stuff.
	rm -rf ${DESTDIR}/usr/{sql-bench,mysql-test,data}
	rm -f ${DESTDIR}/usr/share/man/man1/mysql-test-run.pl.1

	# Configuration file.
	vinstall ${FILESDIR}/my.cnf 640 etc/mysql

	# systemd service.
	vinstall ${FILESDIR}/mysqld.service 644 usr/lib/systemd/system
	vinstall ${FILESDIR}/mysqld-post 755 usr/bin
	vinstall ${FILESDIR}/mysqld.tmpfilesd 644 usr/lib/tmpfiles.d mysqld.conf
}

libmysqlclient_package() {
	short_desc+=" - client library"
	pkg_install() {
		vmove "usr/lib/libmysqlclient*.so.*"
	}
}

libmysqlclient-devel_package() {
	depends="libmysqlclient>=${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/bin/mysql_config
		vmove usr/share/man/man1/mysql_config.1
		vmove usr/include
		vmove "usr/lib/*.a"
		vmove "usr/lib/*.so"
	}
}

mysql-client_package() {
	depends="perl"
	short_desc+=" - database client binaries"
	pkg_install() {
		for f in innochecksum innotop myisam_ftdump mysql mysql_client_test \
			mysql_client_test_embedded mysqldumpslow mysqlbinlog \
			mysql_find_rows mysql_fix_extensions mysql_waitpid mysqlaccess \
			mysqladmin mysqlanalyze mysqlbug mysqlcheck mysqldump \
			mysqlimport mysqloptimize mysqlrepair mysqlreport mysqlshow \
			mysqlslap mysqltest_embedded mysqlmanager mysqltest \
			mysqlhotcopy mysql_upgrade mysql_zap; do
			if [ -f ${DESTDIR}/usr/bin/${f} ]; then
				vmove usr/bin/${f}
			elif [ -f ${DESTDIR}/usr/sbin/${f} ]; then
				vmove usr/sbin/${f}
			fi
			if [ -f ${DESTDIR}/usr/share/man/man1/${f}.1 ]; then
				vmove usr/share/man/man1/${f}.1
			elif [ -f ${DESTDIR}/usr/share/man/man8/${f}.8 ]; then
				vmove usr/share/man/man8/${f}.8
			fi
		done
	}
}

mysql_package() {
	depends="shadow mysql-client"
	conf_files="/etc/mysql/my.cnf"
	systemd_services="mysqld.service on"
	system_accounts="mysql"
	mysqld_homedir="/var/lib/mysql"
	pkg_install() {
		vmove all
	}
}
