summaryrefslogtreecommitdiff
path: root/community/percona-server/PKGBUILD
blob: 6ebe73bed66e0ce73404453a1d65266695ede31e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# $Id: PKGBUILD 99951 2013-10-31 02:39:14Z allan $
# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>

pkgname=percona-server
pkgver=5.6.14_rel62.0
pkgrel=1
pkgdesc="A backwards-compatible drop-in replacement for MySQL that provides improved performance, diagnostics and instrumentation"
arch=('i686' 'x86_64' 'mips64el')

depends=('mariadb-clients' 'libaio' 'systemd-tools')
conflicts=('mysql')
provides=("mysql=${pkgver/_rel*}" "mariadb=${pkgver/_rel*}")
optdepends=('perl-dbi' 'perl-dbd-mysql')
makedepends=('cmake' 'openssl' 'zlib')

license=('GPL')
url="http://www.percona.com/software/percona-server/"
options=('emptydirs')
backup=('etc/mysql/my.cnf')
install=percona.install
source=("http://www.percona.com/downloads/Percona-Server-${pkgver%.*_*}/Percona-Server-${pkgver/_/-}/release-${pkgver/_rel/-}/483/source/Percona-Server-${pkgver/_/-}.tar.gz"
        'mysqld-post.sh'
        'mysqld.service'
        'mysqld-tmpfile.conf'
        'mysql56-bufsize.patch'
        'mysql56-bison3.patch')

prepare() {
	cd "$srcdir/Percona-Server-${pkgver/_/-}"
	patch -p0 -i "$srcdir/mysql56-bufsize.patch"
	patch -p1 -i "$srcdir/mysql56-bison3.patch"
}

build() {
	cd "${srcdir}"
	rm -rf build
	mkdir build
	cd build

	cmake "${srcdir}/Percona-Server-${pkgver/_/-}" \
		-DCMAKE_BUILD_TYPE=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_READLINE=ON \
		-DWITH_ZLIB=system \
		-DWITH_SSL=system \
		-DWITH_LIBWRAP=OFF \
		-DWITH_LIBEDIT=OFF \
		-DWITH_UNIT_TESTS=OFF \
		-DWITH_MYSQLD_LDFLAGS="${LDFLAGS}" \
		-DWITH_EXTRA_CHARSETS=complex \
		-DWITH_EMBEDDED_SERVER=ON \
		-DWITH_INNOBASE_STORAGE_ENGINE=ON \
		-DWITH_PARTITION_STORAGE_ENGINE=ON \
		-DWITH_PERFSCHEMA_STORAGE_ENGINE=ON \
		-DWITH_ARCHIVE_STORAGE_ENGINE=ON \
		-DWITH_BLACKHOLE_STORAGE_ENGINE=ON \
		-DWITH_FEDERATED_STORAGE_ENGINE=OFF \
		-DWITH_EXAMPLE_STORAGE_ENGINE=OFF \
		-DCMAKE_C_FLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \
		-DCMAKE_CXX_FLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti"

	make
}

package() {
	cd "${srcdir}"/build
	make DESTDIR=${pkgdir} install

	install -Dm644 "${pkgdir}"/usr/share/mysql/my-default.cnf "${pkgdir}"/etc/mysql/my.cnf
	install -Dm755 "${srcdir}"/mysqld-post.sh "${pkgdir}"/usr/bin/mysqld-post
	install -Dm644 "${srcdir}"/mysqld-tmpfile.conf "${pkgdir}"/usr/lib/tmpfiles.d/mysqld.conf
	install -Dm644 "${srcdir}"/mysqld.service "${pkgdir}"/usr/lib/systemd/system/mysqld.service

	# provided by libmysqlclient
	rm ${pkgdir}/usr/bin/mysql_config
	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/{data,mysql-test,sql-bench}
	rm "${pkgdir}"/usr/share/man/man1/mysql-test-run.pl.1
}

sha256sums=('69edc04585e72ac94c32598221c0762704e75190c2abe4fa680ad42ce202e280'
            '82a241d9fa4032187a26597d044e94ba810b209b53a7ce14bb6eb92555993a48'
            '9bc66470f3f80534c0bb62f9f8325ccf60b164f421f74ad74a963f065d7b1869'
            'badf6a701d9dc6ea3b4ddca26cb0f42b6236432ccdbc14c64962147802594a60'
            '1039e232a7778544b00eb215c93bb06c588c95c2fd49cfb162dc50eb4dfbf729'
            'd36c807f085b6051cc8fddb2abc5a1939be809650f1cfefc8a87731978958929')