summaryrefslogtreecommitdiff
path: root/dev-db/maxscale
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/maxscale')
-rw-r--r--dev-db/maxscale/Manifest6
-rw-r--r--dev-db/maxscale/files/maxscale-1.2.0-rpath.patch48
-rw-r--r--dev-db/maxscale/files/maxscale-init.d21
-rw-r--r--dev-db/maxscale/maxscale-1.2.0.ebuild70
-rw-r--r--dev-db/maxscale/metadata.xml19
5 files changed, 164 insertions, 0 deletions
diff --git a/dev-db/maxscale/Manifest b/dev-db/maxscale/Manifest
new file mode 100644
index 000000000000..92e7213697e6
--- /dev/null
+++ b/dev-db/maxscale/Manifest
@@ -0,0 +1,6 @@
+AUX maxscale-1.2.0-rpath.patch 2892 SHA256 bb50d3f1360aa0c8a7d9b37404816e4280cc94c2c1e98a8b6c5113216a2ba79a SHA512 43c3972cd0f6f9fa5fcf4ebf920ce502445e45feb26ca77067b66e8e5a28d7290e43f8102e280a38953f2f4bc15fdca69561bdd067c6544729d791c6f043e926 WHIRLPOOL 36b2bbcbc24ca924a19775801cedf62078edc8cda6005426ac33c8fd29e02753a2ef5e0b54904257724c481ee869f9e0e113d0b7fd39840b23c375b43b50b3f6
+AUX maxscale-init.d 421 SHA256 85327a887ad7c8177e2969a04014369bb13af3b5c4334e2b83a35c925726aa32 SHA512 6450d75c4c31646b544285e96c056e8a476587eda7fe3eaced241da55b014fd9036df448191bb7cff4dbcf95205fe2da33fdd20035c915527a33b24666f31b2d WHIRLPOOL 55483879080237c37f88e1b80c791f4a7a1035377f1822ab8daaa68e040e4ca687aa9e78175db23500d41007856d02c7bccadf392eeda8a4425624b1409c70c6
+DIST MaxScale-1.2.0.tar.gz 8747330 SHA256 9408238ba589f0f22d16005f0274e09f5bf3dc54d660b10ece3136d5c26c260b SHA512 59988397fc7c8112dc81e77d317b4625e071448c0669805fdee91e156553c2144d802f70ebc047df75aab6f7e0114e22a3f9f68768f779ab2300536196c34a7e WHIRLPOOL 823be39fa22ad13868dcc0c9942dd4fecbecf56afcbeb2df92bcf096d268e602b49bd43794f9b8fb3ebe1213def82296473c955347b5793ec9a582975136b1fa
+EBUILD maxscale-1.2.0.ebuild 1840 SHA256 e78adc6b88c02d68918a8ab477b848665e6ebb9affceb0ff83d73edc2283c9a5 SHA512 3445658997aff7b0d64205af230551823fd3cf2f383e54db650b8f37e30a9ababb235179993ff42e524881b63698f12e7ebc7565f334019223eb6ac09028d111 WHIRLPOOL 764612762dbd94fb8f36123d024921386d8a04889c2422bf6f04ce2ffde993e386eb97907490bb4a427110cb8eafa05e4d832ace4a89ec70ffd322f3e60ec043
+MISC ChangeLog 1425 SHA256 04d0e09a0f7f14707b8544c03f65cef24b13363f43ea454de039dc8c1625c8fb SHA512 f61aa59e2436ffdf1808ec0654845e0cba166cb5c941fb621e5f14c5eb6ca1db3405c6bd8ff5f89b7fb19f90a3f4123c582cd390e6841cb9090fde2e33d1f752 WHIRLPOOL a303ccdd8d2b17b28b372bfa687d648dc625bc5a927be01c77826becec4b6b698cff2f80528cb300e51c8cb735d6e086d69d0186d5d549ba692e7261fe3c0ad0
+MISC metadata.xml 597 SHA256 b6d03f7899faefba07e27dc873fb72e706e2ba79bbf3c5db90f0dd582d2c7881 SHA512 a9b1bc343e09599d45294814e7c04d279b1c7b114466fb87e5be89d21b62f89f4bc08532f5bccbfa7914ae20870993b1780e3d9558261df2ec1b24d90e516e80 WHIRLPOOL c2221bb1c7aa21c8c50d7a4e93b72ed05ea6019800805ca46703e13e62b34707904cdf9a967557426d2178f78da9b154bc9debf2b60162847c3b8d66c1d1d626
diff --git a/dev-db/maxscale/files/maxscale-1.2.0-rpath.patch b/dev-db/maxscale/files/maxscale-1.2.0-rpath.patch
new file mode 100644
index 000000000000..76cca09845f8
--- /dev/null
+++ b/dev-db/maxscale/files/maxscale-1.2.0-rpath.patch
@@ -0,0 +1,48 @@
+diff -aurN a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt 2015-07-15 09:34:27.000000000 -0400
++++ b/CMakeLists.txt 2015-08-10 22:12:06.021818283 -0400
+@@ -56,7 +56,7 @@
+ endif()
+ endif()
+
+-set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/${MAXSCALE_LIBDIR})
++set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${MAXSCALE_LIBDIR})
+
+ # Make sure the release notes for this release are present if it is a stable one
+ if(${MAXSCALE_VERSION} MATCHES "-stable")
+diff -aurN a/server/modules/filter/hint/CMakeLists.txt b/server/modules/filter/hint/CMakeLists.txt
+--- a/server/modules/filter/hint/CMakeLists.txt 2015-07-15 09:34:27.000000000 -0400
++++ b/server/modules/filter/hint/CMakeLists.txt 2015-08-10 22:12:49.413170068 -0400
+@@ -1,4 +1,3 @@
+ add_library(hintfilter SHARED hintfilter.c hintparser.c)
+-set_target_properties(hintfilter PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${MAXSCALE_LIBDIR})
+ target_link_libraries(hintfilter ssl log_manager utils)
+ install(TARGETS hintfilter DESTINATION ${MAXSCALE_LIBDIR})
+diff -aurN a/server/modules/routing/binlog/CMakeLists.txt b/server/modules/routing/binlog/CMakeLists.txt
+--- a/server/modules/routing/binlog/CMakeLists.txt 2015-07-15 09:34:27.000000000 -0400
++++ b/server/modules/routing/binlog/CMakeLists.txt 2015-08-10 22:12:35.565376937 -0400
+@@ -1,4 +1,3 @@
+ add_library(binlogrouter SHARED blr.c blr_master.c blr_cache.c blr_slave.c blr_file.c)
+-set_target_properties(binlogrouter PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${MAXSCALE_LIBDIR})
+ target_link_libraries(binlogrouter ssl pthread log_manager)
+ install(TARGETS binlogrouter DESTINATION ${MAXSCALE_LIBDIR})
+diff -aurN a/server/modules/routing/maxinfo/CMakeLists.txt b/server/modules/routing/maxinfo/CMakeLists.txt
+--- a/server/modules/routing/maxinfo/CMakeLists.txt 2015-07-15 09:34:27.000000000 -0400
++++ b/server/modules/routing/maxinfo/CMakeLists.txt 2015-08-10 22:12:25.265530805 -0400
+@@ -1,4 +1,3 @@
+ add_library(maxinfo SHARED maxinfo.c maxinfo_parse.c maxinfo_error.c maxinfo_exec.c)
+-set_target_properties(maxinfo PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${MAXSCALE_LIBDIR})
+ target_link_libraries(maxinfo pthread log_manager)
+ install(TARGETS maxinfo DESTINATION ${MAXSCALE_LIBDIR})
+diff -aurN a/server/core/CMakeLists.txt b/server/core/CMakeLists.txt
+--- a/server/core/CMakeLists.txt 2015-07-15 09:34:27.000000000 -0400
++++ b/server/core/CMakeLists.txt 2015-08-10 22:39:22.709368505 -0400
+@@ -8,6 +8,8 @@
+ target_link_libraries(fullcore ${CURL_LIBRARIES} utils log_manager pthread ${EMBEDDED_LIB} ${PCRE_LINK_FLAGS} ssl aio rt crypt dl crypto inih z m stdc++)
+ endif()
+
++SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
++
+ add_executable(maxscale atomic.c buffer.c spinlock.c gateway.c
+ gw_utils.c utils.c dcb.c load_utils.c session.c service.c server.c
+ poll.c config.c users.c hashtable.c dbusers.c thread.c gwbitmask.c
diff --git a/dev-db/maxscale/files/maxscale-init.d b/dev-db/maxscale/files/maxscale-init.d
new file mode 100644
index 000000000000..1eaa046aefe9
--- /dev/null
+++ b/dev-db/maxscale/files/maxscale-init.d
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+
+command=/usr/bin/maxscale
+command_args="-U maxscale -P /run/maxscale"
+name="MaxScale database proxy"
+pidfile="/run/maxscale/maxscale.pid"
+
+description="MaxScale provides database specific proxy functionality"
+extra_started_commands="reload"
+
+start_pre() {
+ checkpath -D -o maxscale:maxscale /run/maxscale
+}
+
+reload()
+{
+ ebegin "Reloading ${name}"
+ pkill -HUP -F /run/maxscale/maxscale.pid
+ eend $?
+}
+
diff --git a/dev-db/maxscale/maxscale-1.2.0.ebuild b/dev-db/maxscale/maxscale-1.2.0.ebuild
new file mode 100644
index 000000000000..bee3d1f390e8
--- /dev/null
+++ b/dev-db/maxscale/maxscale-1.2.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils cmake-utils multilib user
+
+MY_PN="MaxScale"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A content aware, plug-able MySQL proxy server"
+HOMEPAGE="http://mariadb.com/MaxScale"
+SRC_URI="https://github.com/mariadb-corporation/${MY_PN}/archive/${PV}.tar.gz -> ${MY_P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="jemalloc rabbitmq tcmalloc"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )"
+
+DEPEND="
+ dev-libs/libaio
+ >=dev-libs/libpcre-8.35
+ dev-libs/openssl:0
+ net-misc/curl
+ virtual/mysql[embedded]
+ jemalloc? ( dev-libs/jemalloc )
+ rabbitmq? ( net-libs/rabbitmq-c )
+ tcmalloc? ( dev-util/google-perftools:= )
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}/${PN}-1.2.0-rpath.patch" )
+
+pkg_setup() {
+ enewgroup maxscale
+ enewuser maxscale -1 -1 -1 maxscale
+}
+
+src_configure() {
+# -DEMBEDDED_LIB=/usr/$(get_libdir)/mysql
+ local mycmakeargs=(
+ -DSTATIC_EMBEDDED=OFF
+ -DWITH_SCRIPTS=OFF
+ $(cmake-utils_use_with jemalloc JEMALLOC)
+ $(cmake-utils_use_build rabbitmq RABBITMQ)
+ $(cmake-utils_use_with tcmalloc TCMALLOC)
+ -DMODULE_INSTALL_PATH=$(get_libdir)/${PN}
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ local DOCS=( README README.md "${BUILD_DIR}"/Changelog.txt "${BUILD_DIR}"/ReleaseNotes.txt )
+ cmake-utils_src_install
+ # Remove badly placed documents
+ rm "${D}usr/share/${PN}/README" "${D}usr/share/${PN}/Changelog.txt" \
+ "${D}usr/share/${PN}/LICENSE" "${D}usr/share/${PN}/COPYRIGHT" \
+ "${D}usr/share/${PN}/ReleaseNotes.txt" || die
+ newinitd "${FILESDIR}/${PN}-init.d" ${PN}
+ keepdir /var/log/maxscale /var/lib/maxscale/data \
+ /var/cache/maxscale
+ fowners maxscale:maxscale /var/log/maxscale \
+ /var/lib/maxscale/data \
+ /var/lib/maxscale \
+ /var/cache/maxscale
+}
diff --git a/dev-db/maxscale/metadata.xml b/dev-db/maxscale/metadata.xml
new file mode 100644
index 000000000000..2ca7145c7649
--- /dev/null
+++ b/dev-db/maxscale/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>grknight@gentoo.org</email>
+ <name>Brian Evans</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>mysql-bugs@gentoo.org</email>
+ <name>MySQL</name>
+ </maintainer>
+ <use>
+ <flag name="jemalloc">Use dev-libs/jemalloc for allocations</flag>
+ <flag name="rabbitmq">Add support for RabbitMQ message queue</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">mariadb-corporation/MaxScale</remote-id>
+ </upstream>
+</pkgmetadata>