summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster')
-rw-r--r--sys-cluster/galera/Manifest1
-rw-r--r--sys-cluster/galera/files/galera-4.1-strip-extra-cflags.patch78
-rw-r--r--sys-cluster/galera/galera-25.3.26.ebuild89
3 files changed, 168 insertions, 0 deletions
diff --git a/sys-cluster/galera/Manifest b/sys-cluster/galera/Manifest
index a57bcbf8a0d1..fbf08c233a07 100644
--- a/sys-cluster/galera/Manifest
+++ b/sys-cluster/galera/Manifest
@@ -1,3 +1,4 @@
+DIST galera-25.3.26.tar.gz 3386588 BLAKE2B ca78a32dbaa6fd9eb46c40ddb26c97c788e529ad44040b4f720099b7aef2cee13631663cc5ecb7153288c12e7b4b156f988ff56633885e7ee75a0664cb1a90d4 SHA512 c462e70e8394ac4cfebca94320199ca4e012db100369788f3efdf1a04a8185908954e575fdb5714524931feeea432c2ed6f8d6ff985b1a47bdb16b4c4f54bdc4
DIST galera-3-25.3.23.tar.gz 3328961 BLAKE2B d11c6d00fda367fc961a5387865afa74e1ed0ed04094a4ab3c5ab23c7a915131b867a85f74079dc472df745762346b8b9fd371d5d0d0406e20274d51917129b5 SHA512 5b6a61ddd1505f9e2f9e3c592d65e17ee55ee78187d423f8f963d9c7b8deed2c1ade3425262d0a89622693853dff95d429861c955b2d051433dda8929d9f92d1
DIST galera-3-25.3.24.tar.gz 3373375 BLAKE2B db837add9d74e2acb312bd974f00b52d269f1c5995036b468f309da43605b817fac16f17c30e96c27e17657708870d329b41eafa9ad214d8cb5f1b4fbb468182 SHA512 874c6ee77be54a0bcd6d36b67f8e99d12dabd85433dd1f0e026b7994746679cc7ffebcf721445dfd1714f89c7594fc0b0137e725d220d3bb45fd325e64e16185
DIST galera-3-25.3.25.tar.gz 3373347 BLAKE2B 892c5824d88d7ceb0db16f72d9fad9ac7074435a6cacf3fea1599af0be811cc1a0b476d0a15353d0cf854a201ca5e60808392a41125c780bd97b844a4fd55216 SHA512 bc9f02c796c7289034f5b285a8f6a0e668c78302546b47c70cbe3927467993baae8835cf54978fb5276251a6d04a84d6952eaee4e6c7c5fd488543fd53d07b03
diff --git a/sys-cluster/galera/files/galera-4.1-strip-extra-cflags.patch b/sys-cluster/galera/files/galera-4.1-strip-extra-cflags.patch
new file mode 100644
index 000000000000..dfa1642c7d7e
--- /dev/null
+++ b/sys-cluster/galera/files/galera-4.1-strip-extra-cflags.patch
@@ -0,0 +1,78 @@
+diff -aurN a/galerautils/src/SConscript b/galerautils/src/SConscript
+--- a/galerautils/src/SConscript 2019-02-25 10:37:25.000000000 -0500
++++ b/galerautils/src/SConscript 2019-03-07 09:51:27.163226469 -0500
+@@ -1,4 +1,4 @@
+-Import('env', 'x86', 'sysname', 'machine')
++Import('env', 'sysname', 'machine')
+
+ libgalerautils_env = env.Clone()
+
+@@ -39,22 +39,6 @@
+ crc32c_sources = [ '#/www.evanjones.ca/crc32c.c' ]
+ crc32c_objs = crc32c_env.SharedObject(crc32c_sources)
+
+-if x86:
+- if machine != 'ppc64' and machine != 'ppc64le':
+- 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 2019-03-07 09:44:38.588841625 -0500
++++ b/SConstruct 2019-03-07 09:50:06.305952407 -0500
+@@ -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 = ''
+@@ -120,33 +120,6 @@
+ if gcov:
+ opt_flags = opt_flags + ' --coverage -g'
+
+-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:
+- if machine == 'ppc64':
+- compile_arch = ' -mtune=native'
+- link_arch = ' -Wl,-melf64ppc'
+- elif machine == 'ppc64le':
+- compile_arch = ' -mtune=native'
+- link_arch = ' -Wl,-melf64lppc'
+- 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))
+ system_asio= int(ARGUMENTS.get('system_asio', 1))
diff --git a/sys-cluster/galera/galera-25.3.26.ebuild b/sys-cluster/galera/galera-25.3.26.ebuild
new file mode 100644
index 000000000000..cb0e18917305
--- /dev/null
+++ b/sys-cluster/galera/galera-25.3.26.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
+
+MY_P="${PN}-3-${PV}"
+
+inherit python-any-r1 scons-utils toolchain-funcs user flag-o-matic
+DESCRIPTION="Synchronous multi-master replication engine that provides the wsrep API"
+HOMEPAGE="http://galeracluster.com"
+SRC_URI="http://nyc2.mirrors.digitalocean.com/mariadb/mariadb-10.3.14/${P}/src/${P}.tar.gz"
+LICENSE="GPL-2 BSD"
+
+SLOT="0"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="cpu_flags_x86_sse4_2 garbd test"
+
+CDEPEND="
+ dev-libs/openssl:0=
+ >=dev-libs/boost-1.41:0=
+ "
+BDEPEND=">=sys-devel/gcc-4.4"
+DEPEND="${BDEPEND}
+ ${CDEPEND}
+ dev-libs/check
+ >=dev-cpp/asio-1.10.1[ssl]
+ <dev-cpp/asio-1.12.0
+ "
+#Run time only
+RDEPEND="${CDEPEND}"
+
+#S="${WORKDIR}/${MY_P}"
+# Respect {C,LD}FLAGS.
+PATCHES=( "${FILESDIR}/galera-4.1-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=(
+ tests=$(usex test 1 0)
+ strict_build_flags=0
+ system_asio=1
+ )
+}
+
+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
+}