# Maintainer: Muflone http://www.muflone.com/contacts/english/ # Contributor: Rustam Tsurik <rustam.tsurik@gmail.com> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Douglas Soares de Andrade <douglas@archlinux.org> pkgname=('mysql' 'libmysqlclient' 'mysql-clients') pkgbase=mysql pkgver=5.6.33 pkgrel=1 pkgdesc="Fast SQL database server, community edition" arch=('i686' 'x86_64') makedepends=('openssl' 'zlib' 'cmake' 'systemd-tools' 'libaio' 'jemalloc') license=('GPL') url="https://www.mysql.com/products/community/" options=('!libtool') source=("https://dev.mysql.com/get/Downloads/MySQL-5.6/${pkgbase}-${pkgver}.tar.gz" "mysqld-post.sh" "mysqld-tmpfile.conf" "mysqld.service" "my.cnf" "mysqld.rc" "mysql-srv_buf_size.patch") prepare() { cd "${pkgbase}-${pkgver}" patch -p0 -i "../mysql-srv_buf_size.patch" } build() { rm -rf build mkdir build cd build cmake "../${pkgbase}-${pkgver}" \ -DCMAKE_AR=/usr/bin/gcc-ar \ -DCMAKE_RANLIB=/usr/bin/gcc-ranlib \ -DBUILD_CONFIG=mysql_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=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 \ -DCMAKE_EXE_LINKER_FLAGS='-ljemalloc' \ -DWITH_EXTRA_CHARSETS=complex \ -DWITH_EMBEDDED_SERVER=ON \ -DWITH_ARCHIVE_STORAGE_ENGINE=ON \ -DWITH_BLACKHOLE_STORAGE_ENGINE=ON \ -DWITH_INNOBASE_STORAGE_ENGINE=ON \ -DWITH_PARTITION_STORAGE_ENGINE=ON \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=ON \ -DWITHOUT_FEDERATED_STORAGE_ENGINE=ON \ -DCMAKE_C_FLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer -fno-delete-null-pointer-checks" \ -DCMAKE_CXX_FLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti -fno-delete-null-pointer-checks" \ -DWITH_MYSQLD_LDFLAGS="-pie ${LDFLAGS},-z,now" make } package_libmysqlclient(){ pkgdesc="MySQL client libraries" depends=('openssl') conflicts=('libmariadbclient') provides=("libmariadbclient=${pkgver}") cd build for dir in include libmysql libmysqld libservices do make -C "${dir}" DESTDIR="${pkgdir}" install done install -m 755 -d "${pkgdir}/usr/bin" install -m 755 scripts/mysql_config "${pkgdir}/usr/bin/" install -m 755 -d "${pkgdir}/usr/share/man/man1" for man in mysql_config mysql_client_test_embedded mysqltest_embedded do install -m 644 "${srcdir}/${pkgbase}-${pkgver}/man/${man}.1" \ "${pkgdir}/usr/share/man/man1/${man}.1" done } package_mysql-clients(){ pkgdesc="MySQL client tools" depends=('libmysqlclient' 'jemalloc') conflicts=('mariadb-clients') provides=("mariadb-clients=${pkgver}") cd build make -C "client" DESTDIR="${pkgdir}" install # install man pages install -d "${pkgdir}/usr/share/man/man1" for man in mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap do install -m644 "${srcdir}/${pkgbase}-${pkgver}/man/${man}.1" \ "${pkgdir}/usr/share/man/man1/${man}.1" done # provided by mysql rm "${pkgdir}/usr/bin/mysql_plugin" rm "${pkgdir}/usr/bin/mysql_upgrade" rm "${pkgdir}/usr/bin/mysql_config_editor" rm "${pkgdir}/usr/bin/mysqlbinlog" rm "${pkgdir}/usr/bin/mysqltest" } package_mysql(){ pkgdesc="Fast SQL database server, community edition" backup=('etc/mysql/my.cnf') install="${pkgbase}.install" depends=('mysql-clients' 'libaio') conflicts=('mariadb') provides=("mariadb=${pkgver}") options=('emptydirs') cd build make DESTDIR="${pkgdir}" install install -m 644 -D "${srcdir}/my.cnf" "${pkgdir}/etc/mysql/my.cnf" install -m 755 -D "${srcdir}"/mysqld.rc "${pkgdir}"/etc/rc.d/mysqld install -m 755 -D "${srcdir}/mysqld-post.sh" "${pkgdir}/usr/bin/mysqld-post" install -m 644 -D "${srcdir}/mysqld-tmpfile.conf" "${pkgdir}/usr/lib/tmpfiles.d/mysqld.conf" install -m 755 -d "${pkgdir}/usr/lib/systemd/system" install -m 644 -D "${srcdir}/mysqld.service" "${pkgdir}/usr/lib/systemd/system/" # provided by libmysqlclient rm "${pkgdir}/usr/bin/mysql_config" rm "${pkgdir}/usr/bin/mysql_client_test_embedded" rm "${pkgdir}/usr/bin/mysqltest_embedded" rm "${pkgdir}"/usr/lib/libmysql* rm -r "${pkgdir}/usr/include/" rm "${pkgdir}/usr/share/man/man1/mysql_config.1" rm "${pkgdir}/usr/share/man/man1/mysql_client_test_embedded.1" rm "${pkgdir}/usr/share/man/man1/mysqltest_embedded.1" # provided by mysql-clients rm "${pkgdir}/usr/bin/mysql" rm "${pkgdir}/usr/bin/mysqladmin" rm "${pkgdir}/usr/bin/mysqlcheck" rm "${pkgdir}/usr/bin/mysqldump" rm "${pkgdir}/usr/bin/mysqlimport" rm "${pkgdir}/usr/bin/mysqlshow" rm "${pkgdir}/usr/bin/mysqlslap" rm "${pkgdir}/usr/share/man/man1/mysql.1" rm "${pkgdir}/usr/share/man/man1/mysqladmin.1" rm "${pkgdir}/usr/share/man/man1/mysqlcheck.1" rm "${pkgdir}/usr/share/man/man1/mysqldump.1" rm "${pkgdir}/usr/share/man/man1/mysqlimport.1" rm "${pkgdir}/usr/share/man/man1/mysqlshow.1" rm "${pkgdir}/usr/share/man/man1/mysqlslap.1" # not needed rm -r "${pkgdir}/usr/data" rm -r "${pkgdir}/usr/mysql-test" rm -r "${pkgdir}/usr/sql-bench" rm "${pkgdir}/usr/share/man/man1/mysql-test-run.pl.1" } md5sums=('7fbf37928ef651e005b80e820a055385' 'b79e65a5aa536e6b5bc60988eb0b78a2' '2fa6e456964d4ff5e6d4f9ff0126aed6' '81b62df0f569935109c1b107dfe9f9fa' 'd30c8b6206e23972d1bae1a842721cea' 'e7eb2faeab755cbb2fe03542bf328da9' 'f2b34ac2954bb56c4abf08c66a7f840e')