summaryrefslogtreecommitdiff
path: root/community/percona-server/PKGBUILD
blob: 83c65062f51a176ce6aacd8aee8adb4419656736 (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
111
112
113
114
# $Id: PKGBUILD 75924 2012-09-05 16:47:49Z mtorromeo $
# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>

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

depends=('mysql-clients' 'libaio')
conflicts=('mysql')
provides=('mysql')
optdepends=('perl-dbi' 'perl-dbd-mysql')
makedepends=('cmake' 'openssl' 'zlib')

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

build() {
	cd "${srcdir}/Percona-Server-${pkgver/_/-}"
	sed -i 's|ADD_SUBDIRECTORY(libmysqld/examples)|# ADD_SUBDIRECTORY(libmysqld/examples)|' CMakeLists.txt

	cd "${srcdir}"
	rm -rf build
	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 "${srcdir}/Percona-Server-${pkgver/_/-}" \
		-DMANUFACTURER=Arch \
		-DCMAKE_BUILD_TYPE=Release \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DSYSCONFDIR=/etc/mysql \
		-DMYSQL_DATADIR=/var/lib/mysql \
		-DMYSQL_UNIX_ADDR=/var/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_READLINE=OFF \
		-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

	make
}

package() {
	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
	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

	install -dm700 "${pkgdir}"/var/lib/mysql

	install -Dm644 "$srcdir/tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/mysqld.conf"
	install -Dm644 "$srcdir/mysqld.service" "$pkgdir/usr/lib/systemd/system/mysqld.service"
	install -Dm755 "$srcdir/mysqld-post" "$pkgdir/usr/bin/mysqld-post"
}

sha256sums=('bf32acb0b56d3bfabf65748bbbcb5cfce33191bd31893040ed7e2aebc3548df4'
            'e875fac56f69634b4f1720aec3b952fc63903414e9345af630e5fd74b5373eb4'
            '400e9a6e6517bbfe0971b65456dfacfb363cb54a644e4c2bacd373171611d5aa'
            '4894d39605950d86841ad982e619daa6c8d5d60ca30928d7dbb582e8cb3ade32'
            'ca10dec3cc162baede651980e675fd8094e55cb2403edffaa3d0865a6184553f'
            'f05a8d81dc3d4f2cabf96747b90d8392e0584db9e10b5b3211c21478d2d0d8c3')