dev-ruby/mysql2: add mariadb and mysql USE flag
authorHans de Graaff <graaff@gentoo.org>
Fri, 27 Jul 2018 05:20:42 +0000 (07:20 +0200)
committerHans de Graaff <graaff@gentoo.org>
Fri, 27 Jul 2018 05:22:39 +0000 (07:22 +0200)
Compile against the mysql or mariadb C Connectors.
Add mariadb and mysql USE flags to determine which connector is used.

Package-Manager: Portage-2.3.40, Repoman-2.3.9

dev-ruby/mysql2/metadata.xml
dev-ruby/mysql2/mysql2-0.4.10-r1.ebuild [new file with mode: 0644]
dev-ruby/mysql2/mysql2-0.5.2-r1.ebuild [new file with mode: 0644]

index 91fbcba571b010d94d929247c1d67aef49655951..9ee135bb6b8f75323ec49f3c71900b8f46e249f7 100644 (file)
@@ -8,4 +8,7 @@
   <upstream>
     <remote-id type="github">brianmario/mysql2</remote-id>
   </upstream>
+  <use>
+    <flag name="mariadb">Use mariadb bindings</flag>
+  </use>
 </pkgmetadata>
diff --git a/dev-ruby/mysql2/mysql2-0.4.10-r1.ebuild b/dev-ruby/mysql2/mysql2-0.4.10-r1.ebuild
new file mode 100644 (file)
index 0000000..0c94423
--- /dev/null
@@ -0,0 +1,44 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+USE_RUBY="ruby23 ruby24 ruby25"
+
+# Tests require a live MySQL database but should all pass.
+RUBY_FAKEGEM_TASK_TEST=""
+
+RUBY_FAKEGEM_TASK_DOC=""
+
+RUBY_FAKEGEM_EXTRADOC="README.md"
+
+inherit multilib ruby-fakegem
+
+DESCRIPTION="A modern, simple and very fast Mysql library for Ruby - binding to libmysql"
+HOMEPAGE="https://github.com/brianmario/mysql2"
+
+LICENSE="MIT"
+SLOT="0.4"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~x86"
+IUSE="mysql mariadb"
+REQUIRED_USE="mysql? ( !mariadb ) mariadb? ( !mysql )"
+
+MDEPEND="mysql? ( dev-db/mysql-connector-c ) mariadb? ( dev-db/mariadb-connector-c )"
+DEPEND="${DEPEND} ${MDEPEND}"
+RDEPEND="${RDEPEND} ${MDEPEND}"
+
+each_ruby_configure() {
+       local config
+       if use mysql ; then
+               config="${EPREFIX}/usr/bin/mysql_config"
+       fi
+       if use mariadb ; then
+               config="${EPREFIX}/usr/bin/mariadb_config"
+       fi
+
+       ${RUBY} -Cext/mysql2 extconf.rb --with-mysql-config=${config} || die
+}
+
+each_ruby_compile() {
+       emake V=1 -Cext/mysql2
+       cp ext/mysql2/mysql2$(get_modname) lib/mysql2/ || die
+}
diff --git a/dev-ruby/mysql2/mysql2-0.5.2-r1.ebuild b/dev-ruby/mysql2/mysql2-0.5.2-r1.ebuild
new file mode 100644 (file)
index 0000000..3772cc9
--- /dev/null
@@ -0,0 +1,44 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+USE_RUBY="ruby23 ruby24 ruby25"
+
+# Tests require a live MySQL database but should all pass.
+RUBY_FAKEGEM_TASK_TEST=""
+
+RUBY_FAKEGEM_TASK_DOC=""
+
+RUBY_FAKEGEM_EXTRADOC="README.md"
+
+inherit multilib ruby-fakegem
+
+DESCRIPTION="A modern, simple and very fast Mysql library for Ruby - binding to libmysql"
+HOMEPAGE="https://github.com/brianmario/mysql2"
+
+LICENSE="MIT"
+SLOT="0.5"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~x86"
+IUSE="mysql mariadb"
+REQUIRED_USE="mysql? ( !mariadb ) mariadb? ( !mysql )"
+
+MDEPEND="mysql? ( dev-db/mysql-connector-c ) mariadb? ( dev-db/mariadb-connector-c )"
+DEPEND="${DEPEND} ${MDEPEND}"
+RDEPEND="${RDEPEND} ${MDEPEND}"
+
+each_ruby_configure() {
+       local config
+       if use mysql ; then
+               config="${EPREFIX}/usr/bin/mysql_config"
+       fi
+       if use mariadb ; then
+               config="${EPREFIX}/usr/bin/mariadb_config"
+       fi
+
+       ${RUBY} -Cext/mysql2 extconf.rb --with-mysql-config="${config}" || die
+}
+
+each_ruby_compile() {
+       emake V=1 -Cext/mysql2
+       cp ext/mysql2/mysql2$(get_modname) lib/mysql2/ || die
+}