summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby/mysql2')
-rw-r--r--dev-ruby/mysql2/Manifest5
-rw-r--r--dev-ruby/mysql2/metadata.xml2
-rw-r--r--dev-ruby/mysql2/mysql2-0.4.10-r1.ebuild44
-rw-r--r--dev-ruby/mysql2/mysql2-0.4.10.ebuild34
-rw-r--r--dev-ruby/mysql2/mysql2-0.5.1.ebuild34
-rw-r--r--dev-ruby/mysql2/mysql2-0.5.2-r1.ebuild44
-rw-r--r--dev-ruby/mysql2/mysql2-0.5.2.ebuild34
-rw-r--r--dev-ruby/mysql2/mysql2-0.5.5.ebuild139
-rw-r--r--dev-ruby/mysql2/mysql2-0.5.6.ebuild139
9 files changed, 281 insertions, 194 deletions
diff --git a/dev-ruby/mysql2/Manifest b/dev-ruby/mysql2/Manifest
index 45a25257d4d7..465817ce280c 100644
--- a/dev-ruby/mysql2/Manifest
+++ b/dev-ruby/mysql2/Manifest
@@ -1,3 +1,2 @@
-DIST mysql2-0.4.10.gem 97792 BLAKE2B 4978a3fbc8e516e47907d73276b244e614248c031db7c0b7d76d20f1f845be11f7187795d3a989629ff849e2e1bd0454fd56bc7be6b692d9840838861bafdb4c SHA512 1f9c8eb1b120cfc940b3aa26b2dff54735ccdf54fd6e6745e347179d29803b4a4d1f3b80a86f92dd534089f625ffcd6055458f27aaefebe58f8332890a842b43
-DIST mysql2-0.5.1.gem 99328 BLAKE2B 1ed8d9688a78ee30f3f7b7a71317cbe92b39e2a1b6f9db710a328a4b9542ffcff4be9051c5fa440bbb93c1af56742755e4b70bbff895695102c126293b7d7ad7 SHA512 dd1934e4f8aa8a97b70dbe0f1436496892a155fa188930321e776d57ec72ec34f95f2665ad5db671fdba99304e279aa8a045dbc6126ab50d8cc2d84838bc145b
-DIST mysql2-0.5.2.gem 99328 BLAKE2B 0f1a0d4657e5933e14d445ceefc6ff605a8b07bc01686dd0a67e018c45857a92d25914e4f0aae1116ed1479583636cdbca2aaeb127b856b38052264d579991bf SHA512 6013b0c862f24f0c20b22c50a17390a7a22390e661d0f1afb613177febfbf854f63aea9bc9aa8defc9521896144fbc035a8e16b135abb47384453a23dfd99566
+DIST mysql2-0.5.5.tar.gz 124769 BLAKE2B 698b18434691b2b7734c6fa314c931a38e973813a1912166838541f35c181813bff2db2c0967df72e8d9108b9ea71a030af09f39354a9c902674fab287b82331 SHA512 fa43e464bfd495d335c6f95b1897009813b7d6fbfeebe8d9c533c4f88c664a61a140227df73eb892c0314f76ebb5d0f2e06265284512dd35950bbab78d20e0fc
+DIST mysql2-0.5.6.tar.gz 125108 BLAKE2B cdecc8912a5cd1c1cb9ea1a428c930cf0acad8832db3c8fcee93c8a3ef898fff47f09735d7b646e782e4a908e555c704a11e68ffc10ef735705438d0090e2883 SHA512 44b6e0bfe819d9a9ce056d4cd99b547dbb2bebe512a00eadf030885a8b7b147bc08a334dc583585bddf36998d46242aa0aadc9dc159f2296d6f3640a74362de9
diff --git a/dev-ruby/mysql2/metadata.xml b/dev-ruby/mysql2/metadata.xml
index 9ee135bb6b8f..193d5b7e30ab 100644
--- a/dev-ruby/mysql2/metadata.xml
+++ b/dev-ruby/mysql2/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>ruby@gentoo.org</email>
diff --git a/dev-ruby/mysql2/mysql2-0.4.10-r1.ebuild b/dev-ruby/mysql2/mysql2-0.4.10-r1.ebuild
deleted file mode 100644
index bce3c4b3578d..000000000000
--- a/dev-ruby/mysql2/mysql2-0.4.10-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-USE_RUBY="ruby23 ruby24 ruby25 ruby26"
-
-# 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 ~ppc ~ppc64 ~x86"
-IUSE="mysql mariadb"
-REQUIRED_USE="^^ ( 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.4.10.ebuild b/dev-ruby/mysql2/mysql2-0.4.10.ebuild
deleted file mode 100644
index ecb0a26635d7..000000000000
--- a/dev-ruby/mysql2/mysql2-0.4.10.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-USE_RUBY="ruby22 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 ~ppc ~ppc64 ~x86"
-IUSE=""
-
-DEPEND="${DEPEND} virtual/libmysqlclient"
-RDEPEND="${RDEPEND} virtual/libmysqlclient:="
-
-each_ruby_configure() {
- ${RUBY} -Cext/mysql2 extconf.rb --with-mysql-config "${EPREFIX}/usr/bin/mysqlconfig" || 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.1.ebuild b/dev-ruby/mysql2/mysql2-0.5.1.ebuild
deleted file mode 100644
index c72134dcd7ca..000000000000
--- a/dev-ruby/mysql2/mysql2-0.5.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-USE_RUBY="ruby22 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 ~ppc ~ppc64 ~x86"
-IUSE=""
-
-DEPEND="${DEPEND} virtual/libmysqlclient"
-RDEPEND="${RDEPEND} virtual/libmysqlclient:="
-
-each_ruby_configure() {
- ${RUBY} -Cext/mysql2 extconf.rb --with-mysql-config "${EPREFIX}/usr/bin/mysqlconfig" || 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
deleted file mode 100644
index b2eebc52d058..000000000000
--- a/dev-ruby/mysql2/mysql2-0.5.2-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-USE_RUBY="ruby23 ruby24 ruby25 ruby26"
-
-# 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 ~ppc ~ppc64 ~x86"
-IUSE="mysql mariadb"
-REQUIRED_USE="^^ ( 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.ebuild b/dev-ruby/mysql2/mysql2-0.5.2.ebuild
deleted file mode 100644
index 35a83a0d372e..000000000000
--- a/dev-ruby/mysql2/mysql2-0.5.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# 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 ~ppc ~ppc64 ~x86"
-IUSE=""
-
-DEPEND="${DEPEND} virtual/libmysqlclient"
-RDEPEND="${RDEPEND} virtual/libmysqlclient:="
-
-each_ruby_configure() {
- ${RUBY} -Cext/mysql2 extconf.rb --with-mysql-config "${EPREFIX}/usr/bin/mysqlconfig" || 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.5.ebuild b/dev-ruby/mysql2/mysql2-0.5.5.ebuild
new file mode 100644
index 000000000000..baec9e3c8882
--- /dev/null
+++ b/dev-ruby/mysql2/mysql2-0.5.5.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31 ruby32 ruby33"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+
+RUBY_FAKEGEM_TASK_DOC=""
+
+RUBY_FAKEGEM_EXTRADOC="README.md"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/mysql2/extconf.rb)
+RUBY_FAKEGEM_EXTENSION_LIBDIR=lib/mysql2
+
+RUBY_FAKEGEM_GEMSPEC="mysql2.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A modern, simple and very fast Mysql library for Ruby - binding to libmysql"
+HOMEPAGE="https://github.com/brianmario/mysql2"
+SRC_URI="https://github.com/brianmario/mysql2/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="mysql mariadb"
+REQUIRED_USE="^^ ( mariadb mysql )"
+
+SQL_DEPEND="mysql? ( dev-db/mysql-connector-c:= ) mariadb? ( dev-db/mariadb-connector-c:= )"
+DEPEND="${DEPEND} ${SQL_DEPEND}"
+RDEPEND="${RDEPEND} ${SQL_DEPEND}"
+BDEPEND="
+ test? (
+ mariadb? ( dev-db/mariadb:* )
+ mysql? ( >=dev-db/mysql-8:* )
+ )
+"
+
+all_ruby_prepare() {
+ sed -i -e '/s.version/ s/Mysql2::VERSION/"'${PV}'"/' ${RUBY_FAKEGEM_GEMSPEC} || die
+}
+
+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_test() {
+ local -x USER=$(whoami)
+
+ einfo "Creating mysql test instance ..."
+ mkdir -p "${T}"/mysql || die
+ if use mariadb ; then
+ local -x PATH="${BROOT}/usr/share/mariadb/scripts:${PATH}"
+
+ mysql_install_db \
+ --no-defaults \
+ --auth-root-authentication-method=normal \
+ --basedir="${EPREFIX}/usr" \
+ --datadir="${T}"/mysql 1>"${T}"/mysqld_install.log || die
+ else
+ mysqld \
+ --no-defaults \
+ --initialize-insecure \
+ --user ${USER} \
+ --basedir="${EPREFIX}/usr" \
+ --datadir="${T}"/mysql 1>"${T}"/mysqld_install.log || die
+ fi
+
+ einfo "Starting mysql test instance ..."
+ mysqld \
+ --no-defaults \
+ --character-set-server=utf8 \
+ --bind-address=127.0.0.1 \
+ --pid-file="${T}"/mysqld.pid \
+ --socket="${T}"/mysqld.sock \
+ --datadir="${T}"/mysql 1>"${T}"/mysqld.log 2>&1 &
+
+ # wait for it to start
+ local i
+ for (( i = 0; i < 10; i++ )); do
+ [[ -S ${T}/mysqld.sock ]] && break
+ sleep 1
+ done
+ [[ ! -S ${T}/mysqld.sock ]] && die "mysqld failed to start"
+
+ einfo "Configuring test mysql instance ..."
+
+ mysql -u root --socket="${T}"/mysqld.sock -s -e '
+ CREATE DATABASE test1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+ ' || die "Failed to create test databases"
+
+ # https://github.com/brianmario/mysql2/blob/master/ci/setup.sh
+ mysql -u root \
+ -e 'CREATE DATABASE /*M!50701 IF NOT EXISTS */ test' \
+ -S "${T}"/mysqld.sock || die
+
+ # https://github.com/brianmario/mysql2/blob/master/tasks/rspec.rake
+ cat <<-EOF > spec/configuration.yml || die
+ root:
+ host: localhost
+ username: root
+ password:
+ database: test
+ socket: ${T}/mysqld.sock
+
+ user:
+ host: localhost
+ username: root
+ password:
+ database: mysql2_test
+ socket: ${T}/mysqld.sock
+ EOF
+
+ nonfatal each_fakegem_test
+ local ret=${?}
+
+ einfo "Stopping mysql test instance ..."
+ pkill -F "${T}"/mysqld.pid || die
+ # wait for it to stop
+ local i
+ for (( i = 0; i < 10; i++ )); do
+ [[ -S ${T}/mysqld.sock ]] || break
+ sleep 1
+ done
+
+ rm -rf "${T}"/mysql || die
+
+ [[ ${ret} -ne 0 ]] && die
+}
diff --git a/dev-ruby/mysql2/mysql2-0.5.6.ebuild b/dev-ruby/mysql2/mysql2-0.5.6.ebuild
new file mode 100644
index 000000000000..380f6a06f03d
--- /dev/null
+++ b/dev-ruby/mysql2/mysql2-0.5.6.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31 ruby32 ruby33"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+
+RUBY_FAKEGEM_TASK_DOC=""
+
+RUBY_FAKEGEM_EXTRADOC="README.md"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/mysql2/extconf.rb)
+RUBY_FAKEGEM_EXTENSION_LIBDIR=lib/mysql2
+
+RUBY_FAKEGEM_GEMSPEC="mysql2.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A modern, simple and very fast Mysql library for Ruby - binding to libmysql"
+HOMEPAGE="https://github.com/brianmario/mysql2"
+SRC_URI="https://github.com/brianmario/mysql2/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="mysql mariadb"
+REQUIRED_USE="^^ ( mariadb mysql )"
+
+SQL_DEPEND="mysql? ( dev-db/mysql-connector-c:= ) mariadb? ( dev-db/mariadb-connector-c:= )"
+DEPEND="${DEPEND} ${SQL_DEPEND}"
+RDEPEND="${RDEPEND} ${SQL_DEPEND}"
+BDEPEND="
+ test? (
+ mariadb? ( dev-db/mariadb:* )
+ mysql? ( >=dev-db/mysql-8:* )
+ )
+"
+
+all_ruby_prepare() {
+ sed -i -e '/s.version/ s/Mysql2::VERSION/"'${PV}'"/' ${RUBY_FAKEGEM_GEMSPEC} || die
+}
+
+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_test() {
+ local -x USER=$(whoami)
+
+ einfo "Creating mysql test instance ..."
+ mkdir -p "${T}"/mysql || die
+ if use mariadb ; then
+ local -x PATH="${BROOT}/usr/share/mariadb/scripts:${PATH}"
+
+ mysql_install_db \
+ --no-defaults \
+ --auth-root-authentication-method=normal \
+ --basedir="${EPREFIX}/usr" \
+ --datadir="${T}"/mysql 1>"${T}"/mysqld_install.log || die
+ else
+ mysqld \
+ --no-defaults \
+ --initialize-insecure \
+ --user ${USER} \
+ --basedir="${EPREFIX}/usr" \
+ --datadir="${T}"/mysql 1>"${T}"/mysqld_install.log || die
+ fi
+
+ einfo "Starting mysql test instance ..."
+ mysqld \
+ --no-defaults \
+ --character-set-server=utf8 \
+ --bind-address=127.0.0.1 \
+ --pid-file="${T}"/mysqld.pid \
+ --socket="${T}"/mysqld.sock \
+ --datadir="${T}"/mysql 1>"${T}"/mysqld.log 2>&1 &
+
+ # wait for it to start
+ local i
+ for (( i = 0; i < 10; i++ )); do
+ [[ -S ${T}/mysqld.sock ]] && break
+ sleep 1
+ done
+ [[ ! -S ${T}/mysqld.sock ]] && die "mysqld failed to start"
+
+ einfo "Configuring test mysql instance ..."
+
+ mysql -u root --socket="${T}"/mysqld.sock -s -e '
+ CREATE DATABASE test1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+ ' || die "Failed to create test databases"
+
+ # https://github.com/brianmario/mysql2/blob/master/ci/setup.sh
+ mysql -u root \
+ -e 'CREATE DATABASE /*M!50701 IF NOT EXISTS */ test' \
+ -S "${T}"/mysqld.sock || die
+
+ # https://github.com/brianmario/mysql2/blob/master/tasks/rspec.rake
+ cat <<-EOF > spec/configuration.yml || die
+ root:
+ host: localhost
+ username: root
+ password:
+ database: test
+ socket: ${T}/mysqld.sock
+
+ user:
+ host: localhost
+ username: root
+ password:
+ database: mysql2_test
+ socket: ${T}/mysqld.sock
+ EOF
+
+ nonfatal each_fakegem_test
+ local ret=${?}
+
+ einfo "Stopping mysql test instance ..."
+ pkill -F "${T}"/mysqld.pid || die
+ # wait for it to stop
+ local i
+ for (( i = 0; i < 10; i++ )); do
+ [[ -S ${T}/mysqld.sock ]] || break
+ sleep 1
+ done
+
+ rm -rf "${T}"/mysql || die
+
+ [[ ${ret} -ne 0 ]] && die
+}