summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorMuflone2015-06-13 17:59:22 +0200
committerMuflone2015-06-13 17:59:22 +0200
commit8b388f6b9381038fce39a83eb542589b42ae4acd (patch)
tree6ab5e1a7644dc2fccc5fe4e7b4f98f52835cc4a1 /PKGBUILD
downloadaur-8b388f6b9381038fce39a83eb542589b42ae4acd.tar.gz
Initial import
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD171
1 files changed, 171 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..86c496366b0c
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,171 @@
+# 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.24
+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"
+ "mysql-srv_buf_size.patch")
+sha256sums=('37e27305b67d76883c5902dce59c89d596beee9dca7dbadd4a2e117f8101dfeb'
+ '368f9fd2454d80eb32abb8f29f703d1cf9553353fb9e1ae4529c4b851cb8c5dd'
+ '2af318c52ae0fe5428e8a9245d1b0fc3bc5ce153842d1563329ceb1edfa83ddd'
+ '50212165bdb09855b97b15a917464ba34f82edf30a0c43f9a0c93a27071df556'
+ 'bfa3ba5546d470e1c1d32246f687f0faa8c225913a648262fbcae6b2296cb57f')
+
+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 "${pkgdir}/usr/share/mysql/my-default.cnf" "${pkgdir}/etc/mysql/my.cnf"
+ 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"
+}
+