summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster/galera')
-rw-r--r--sys-cluster/galera/Manifest1
-rw-r--r--sys-cluster/galera/files/galera-3.15-strip-extra-cflags.patch70
-rw-r--r--sys-cluster/galera/galera-25.3.15.ebuild87
3 files changed, 158 insertions, 0 deletions
diff --git a/sys-cluster/galera/Manifest b/sys-cluster/galera/Manifest
index 3fee0c48199f..f994ef49ec01 100644
--- a/sys-cluster/galera/Manifest
+++ b/sys-cluster/galera/Manifest
@@ -2,3 +2,4 @@ DIST galera-3-25.3.10.tar.gz 2990393 SHA256 5281cef0c26e409f93184a08fe3668bc0891
DIST galera-3-25.3.12.tar.gz 2989294 SHA256 2941cece3aa12d34bd454de8c3d2c4796a47dcfaef643e97d1b94462aa32e126 SHA512 6c18327d786a0c549b89a8668c302e3221d1f7586b271e927ca511ac9e8ee4413315641f6a43814b49e9231cdcd4c76dcd8e975098f768ea8d9f4638b1391e62 WHIRLPOOL b0067ade420c49d374baf901472841ff21ccbd73c1ef7eb7b48f7e591954f875fc5993664c54daa1e400e37cc0647f1a39515129e2d6789035de3dba0edb6d7e
DIST galera-3-25.3.13.tar.gz 2989201 SHA256 193db0c1ccf1c3cfbd46b23d26441fe022ffe82788ed467c6b2df02abc4b814d SHA512 6c83dca5f6087cfbbc6aa30ac4b3f47ce08e7d958875f5c07c260ec8e9677c0e3d9e1ebb347615e0842e85f952c8b7713ee02f6148c9049ae336b29c28dc2ade WHIRLPOOL f6fcda502c3145d0430496a4de9e2368e102769a254d905fb9594b082e9bc386ab6a40edc00e084a3dfa04f800368e45d449f94a634343a8d4f61725c849f23b
DIST galera-3-25.3.14.tar.gz 2990021 SHA256 b090b818f27dbcf5318c0975dc888a10847931b97e94d9bd69b3cd35848e0716 SHA512 98400d1a153cca41389a2f4cd6918c4a042f14b473a006e1bfacde19068dc8a253a2ba743c666b1762033c97e9aa352eff4804c0d20387daf284240bd2ae020b WHIRLPOOL 4e67b5d746f9a374f168c5706a8599bc6d299e9fd4072adfc13b1f4c470ab79ec1c312d6f856002c400b53941f438631799dd9feea6b7d5cf5445b799b41dfef
+DIST galera-3-25.3.15.tar.gz 2994995 SHA256 0de1c1c8304e7f1dfa43ef2a2b15c8ca724556d5b187c31c8a93c755737163af SHA512 717c431d29653cba3252dae5a845e82c02e4cb122a6477253e68688600bf130a753f89f94b7b2461695ede9033ca0107324831d2c5b7d2d0479a0936d2779e84 WHIRLPOOL e0fa0de7e0a75563f78feec488fda64bc4ec9cc97a369e18fbf3c817c520a8a5e3118a4c95f14cf987f019f4f9c96f86df32c4b87c66ec7750c401e0017daf76
diff --git a/sys-cluster/galera/files/galera-3.15-strip-extra-cflags.patch b/sys-cluster/galera/files/galera-3.15-strip-extra-cflags.patch
new file mode 100644
index 000000000000..b47ec39bf5a5
--- /dev/null
+++ b/sys-cluster/galera/files/galera-3.15-strip-extra-cflags.patch
@@ -0,0 +1,70 @@
+diff -aurN a/galerautils/src/SConscript b/galerautils/src/SConscript
+--- a/galerautils/src/SConscript 2015-03-16 07:18:42.000000000 -0400
++++ b/galerautils/src/SConscript 2015-04-07 15:03:21.661301200 -0400
+@@ -1,4 +1,4 @@
+-Import('env', 'x86', 'sysname')
++Import('env', 'sysname')
+
+ libgalerautils_env = env.Clone()
+
+@@ -39,21 +39,6 @@
+ crc32c_sources = [ '#/www.evanjones.ca/crc32c.c' ]
+ crc32c_objs = crc32c_env.SharedObject(crc32c_sources)
+
+-if x86:
+- crc32c_env.Append(CFLAGS = ' -msse4.2')
+- if sysname == 'sunos':
+- # Ideally we want to simply strip SSE4.2 flag from the resulting
+- # crc32.pic.o
+- # (see http://ffmpeg.org/pipermail/ffmpeg-user/2013-March/013977.html)
+- # but that requires some serious scons-fu, so we just don't
+- # compile hardware support in if host CPU does not have it.
+- from subprocess import check_call
+- try:
+- check_call("isainfo -v | grep sse4.2 >/dev/null 2>&1", shell=True);
+- except:
+- libgalerautils_env.Append(CPPFLAGS = ' -DCRC32C_NO_HARDWARE')
+- crc32c_env.Append(CPPFLAGS = ' -DCRC32C_NO_HARDWARE')
+-
+ libgalerautils_env.StaticLibrary('galerautils',
+ libgalerautils_objs + crc32c_objs)
+
+diff -aurN a/SConstruct b/SConstruct
+--- a/SConstruct 2015-09-15 09:15:07.770091000 -0400
++++ b/SConstruct 2015-09-15 09:18:41.160091000 -0400
+@@ -67,7 +67,7 @@
+ build_target = 'all'
+
+ # Optimization level
+-opt_flags = ' -g -O3 -DNDEBUG'
++opt_flags = ' -DNDEBUG'
+
+ # Architecture (defaults to build host type)
+ compile_arch = ''
+@@ -97,26 +97,6 @@
+ if dbug:
+ opt_flags = opt_flags + ' -DGU_DBUG_ON'
+
+-if sysname == 'sunos':
+- compile_arch = ' -mtune=native'
+-elif x86:
+- if bits == 32:
+- if machine == 'x86_64':
+- compile_arch = ' -mx32'
+- else:
+- compile_arch = ' -m32 -march=i686'
+- if sysname == 'linux':
+- link_arch = ' -Wl,-melf_i386'
+- else:
+- compile_arch = ' -m64'
+- if sysname == 'linux':
+- link_arch = ' -Wl,-melf_x86_64'
+- link_arch = compile_arch + link_arch
+-elif machine == 's390x':
+- compile_arch = ' -mzarch'
+- if bits == 32:
+- compile_arch += ' -m32'
+-
+ boost = int(ARGUMENTS.get('boost', 1))
+ boost_pool = int(ARGUMENTS.get('boost_pool', 0))
+ ssl = int(ARGUMENTS.get('ssl', 1))
diff --git a/sys-cluster/galera/galera-25.3.15.ebuild b/sys-cluster/galera/galera-25.3.15.ebuild
new file mode 100644
index 000000000000..f3b2b293e5f8
--- /dev/null
+++ b/sys-cluster/galera/galera-25.3.15.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+MY_P="${PN}-3-${PV}"
+
+inherit scons-utils toolchain-funcs user flag-o-matic
+DESCRIPTION="Synchronous multi-master replication engine that provides the wsrep API"
+HOMEPAGE="http://www.galeracluster.com"
+SRC_URI="http://releases.galeracluster.com/source/galera-3-${PV}.tar.gz"
+LICENSE="GPL-2 BSD"
+
+SLOT="0"
+
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+IUSE="cpu_flags_x86_sse4_2 garbd test"
+
+CDEPEND="
+ dev-libs/openssl:0=
+ >=dev-libs/boost-1.41:0=
+ "
+DEPEND="${DEPEND}
+ ${CDEPEND}
+ dev-libs/check
+ >=sys-devel/gcc-4.4
+ >=dev-cpp/asio-1.10.1[ssl]
+ "
+#Run time only
+RDEPEND="${CDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+# Respect {C,LD}FLAGS.
+PATCHES=( "${FILESDIR}/galera-3.15-strip-extra-cflags.patch" )
+
+pkg_preinst() {
+ if use garbd ; then
+ enewgroup garbd
+ enewuser garbd -1 -1 -1 garbd
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Remove bundled dev-cpp/asio
+ rm -r "${S}/asio" || die
+
+ #Remove optional garbd daemon
+ if ! use garbd ; then
+ rm -r "${S}/garb" || die
+ fi
+}
+
+src_configure() {
+ tc-export CC CXX
+ # Uses hardware specific code that seems to depend on SSE4.2
+ if use cpu_flags_x86_sse4_2 ; then
+ append-cflags -msse4.2
+ else
+ append-cflags -DCRC32C_NO_HARDWARE
+ fi
+ # strict_build_flags=0 disables -Werror, -pedantic, -Weffc++,
+ # and -Wold-style-cast
+ MYSCONS=(
+ ssl=1
+ tests=$(usex test 1 0)
+ strict_build_flags=0
+ )
+}
+
+src_compile() {
+ escons --warn=no-missing-sconscript "${MYSCONS[@]}"
+}
+
+src_install() {
+ dodoc scripts/packages/README scripts/packages/README-MySQL
+ if use garbd ; then
+ dobin garb/garbd
+ newconfd "${FILESDIR}/garb.cnf" garbd
+ newinitd "${FILESDIR}/garb.sh" garbd
+ doman man/garbd.8
+ fi
+ exeinto /usr/$(get_libdir)/${PN}
+ doexe libgalera_smm.so
+}