void-packages/srcpkgs/mysql/template

123 lines
4.4 KiB
Text

# 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"
depends="shadow mysql-client"
conf_files="/etc/mysql/my.cnf"
systemd_services="mysqld.service on"
system_accounts="mysql"
mysqld_homedir="/var/lib/mysql"
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
}
}