diff options
Diffstat (limited to 'extra/mysql/PKGBUILD')
-rw-r--r-- | extra/mysql/PKGBUILD | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/extra/mysql/PKGBUILD b/extra/mysql/PKGBUILD new file mode 100644 index 000000000..175b2eee5 --- /dev/null +++ b/extra/mysql/PKGBUILD @@ -0,0 +1,139 @@ +# $Id: PKGBUILD 115418 2011-03-17 21:33:02Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Douglas Soares de Andrade <douglas@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgbase=mysql +pkgname=('libmysqlclient' 'mysql-clients' 'mysql') +pkgver=5.5.10 +pkgrel=2 +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.mysql.com/" +makedepends=('cmake' 'openssl' 'tcp_wrappers' 'zlib') +options=('!libtool') +source=("http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.5/${pkgbase}-${pkgver}.tar.gz" + 'mysqld' + 'my.cnf' + 'fix-mysql-home.patch' + 'fix-embedded-crash.patch') +md5sums=('ee604aff531ff85abeb10cf332c1355a' + '2234207625baa29b2ff7d7b4f088abce' + '1c949c0dbea5206af0db14942d9927b6' + '56fe8b724ca7ae73b9f96cdf4cca1220' + 'b2b7ed0289a6d8cce17a68512c0286cc') + +build() { + cd "${srcdir}"/${pkgbase}-${pkgver} + patch -Np1 -i ${srcdir}/fix-mysql-home.patch + patch -Np1 -i ${srcdir}/fix-embedded-crash.patch + + cd "${srcdir}" + mkdir build + cd build + + # CFLAGS/CXXFLAGS as suggested upstream + CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \ + CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \ + + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DMYSQL_DATADIR=/var/lib/mysql \ + -DSYSCONFDIR=/etc/mysql \ + -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_SHAREDIR=share/mysql \ + -DWITH_READLINE=ON \ + -DWITH_ZLIB=system \ + -DWITH_SSL=system \ + -DWITH_LIBWRAP=ON \ + -DDEFAULT_CHARSET=utf8 \ + -DDEFAULT_COLLATION=utf8_general_ci \ + -DWITH_EXTRA_CHARSETS=complex \ + -DWITH_EMBEDDED_SERVER=ON \ + -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \ + -DENABLED_LOCAL_INFILE=ON \ + -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 \ + -DWITH_INNOBASE_STORAGE_ENGINE=1 + + make +} + +package_libmysqlclient(){ + pkgdesc="MySQL client libraries" + depends=('openssl' 'gcc-libs' 'tcp_wrappers') + + cd "${srcdir}"/build + for dir in include libmysql libmysqld libservices; do + make -C ${dir} DESTDIR="${pkgdir}" install + done + + install -d "${pkgdir}/usr/bin" + install -m755 scripts/mysql_config "${pkgdir}/usr/bin/" + install -d "${pkgdir}/usr/share/man/man1" + for man in mysql_config mysql_client_test_embedded mysqltest_embedded; do + install -m644 "${srcdir}/${pkgbase}-${pkgver}/man/$man.1" "${pkgdir}/usr/share/man/man1/$man.1" + done +} + +package_mysql-clients(){ + pkgdesc="MySQL client tools" + depends=('libmysqlclient') + + cd "${srcdir}"/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_upgrade,mysqlbinlog,mysqltest} +} + +package_mysql(){ + pkgdesc="A fast SQL database server" + backup=('etc/mysql/my.cnf') + install=mysql.install + depends=('mysql-clients') + optdepends=('perl-dbi' 'perl-dbd-mysql') + + cd "${srcdir}"/build + make DESTDIR=${pkgdir} install + + install -Dm644 ${srcdir}/my.cnf ${pkgdir}/etc/mysql/my.cnf + install -Dm755 ${srcdir}/mysqld ${pkgdir}/etc/rc.d/mysqld + + # provided by libmysqlclient + rm ${pkgdir}/usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded} + rm ${pkgdir}/usr/lib/libmysql* + rm -r ${pkgdir}/usr/include/ + rm ${pkgdir}/usr/share/man/man1/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}.1 + + # provided by mysql-clients + rm ${pkgdir}/usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap} + rm ${pkgdir}/usr/share/man/man1/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}.1 + + # not needed + rm -r ${pkgdir}/usr/{mysql-test,sql-bench} + + # These shouldn't be here + rm -r ${pkgdir}/usr/docs + install -d ${pkgdir}/var/lib/mysql + cp -r ${pkgdir}/usr/data/* ${pkgdir}/var/lib/mysql/ + chmod -R 700 ${pkgdir}/var/lib/mysql + rm -r ${pkgdir}/usr/data +} |