# Template file for 'mysql'
pkgname=mysql
version=5.5.27
revision=1
depends="mysql-client"
makedepends="perl cmake bison 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://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.5/$pkgname-$version.tar.gz"
checksum=51ffafbd82039f8afbe5b3c26f15cc338ed6cd4f67e56d7dd33efaa28c9d99e4
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."

subpackages="libmysqlclient libmysqlclient-devel mysql-client"
conf_files="/etc/mysql/my.cnf"
systemd_services="mysqld.service on"
system_accounts="mysql"
mysqld_homedir="/var/lib/mysql"

do_configure() {
	mkdir build
	cd build

	cmake .. \
		-DCMAKE_BUILD_TYPE=Release \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-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_READLINE=ON \
		-DWITH_ZLIB=system \
		-DWITH_SSL=system \
		-DWITH_LIBWRAP=OFF \
		-DWITH_MYSQLD_LDFLAGS="${LDFLAGS}" \
		-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 \
		-DCMAKE_C_FLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \
		-DCMAKE_CXX_FLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti"
}

do_build() {
	cd build
	make ${makejobs}
}

do_install() {
	cd build
	make DESTDIR=${DESTDIR} 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/lib/systemd/scripts
	vinstall ${FILESDIR}/mysqld.tmpfilesd 644 usr/lib/tmpfiles.d mysqld.conf
}
