void-packages/srcpkgs/mysql/template

133 lines
4.6 KiB
Text

# Template file for 'mysql'
pkgname=mysql
version=5.6.12
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"
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=7911af0180c8014b9193bde42b6b705460fa70bf75681b62c64d1cf2580686bc
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."
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" ncurses-devel"
fi
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/lib/systemd/scripts
vinstall ${FILESDIR}/mysqld.tmpfilesd 644 usr/lib/tmpfiles.d mysqld.conf
}
libmysqlclient_package() {
short_desc="MySQL database client library"
pkg_install() {
vmove "usr/lib/libmysqlclient*.so.*"
}
}
libmysqlclient-devel_package() {
depends="libmysqlclient>=${version}_${revision}"
short_desc="MySQL database 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="MySQL 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
}
}