summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/mycli/Manifest1
-rw-r--r--dev-db/mycli/mycli-1.42.0.ebuild146
-rw-r--r--dev-db/mydumper/Manifest6
-rw-r--r--dev-db/mydumper/mydumper-0.18.2.7-r1.ebuild68
-rw-r--r--dev-db/mydumper/mydumper-0.21.2.2.ebuild (renamed from dev-db/mydumper/mydumper-0.19.3.3.ebuild)4
5 files changed, 151 insertions, 74 deletions
diff --git a/dev-db/mycli/Manifest b/dev-db/mycli/Manifest
index 0ac556433cac..ef07574be7ae 100644
--- a/dev-db/mycli/Manifest
+++ b/dev-db/mycli/Manifest
@@ -1 +1,2 @@
DIST mycli-1.41.2.tar.gz 309963 BLAKE2B 002d4acf1d59af017145d42e265546bda13d86ad28f87341aceb860e824310df6ff56e15c21c27f3b4c2e8ed9a9f7c535dd2d0d5f243d60887f91f27cea57bde SHA512 d0c5ee73689209b30bf832c4494bf03123c73f4d818624668456039aff518dd12ef5b29daf0f5b14bb36619e0d2459e5d8971193c8ec17f7d6bcf771f409b153
+DIST mycli-1.42.0.tar.gz 310978 BLAKE2B eda39befdade2f1c842d25ef9a3ce373ff6e7890639246a92520046de41854367b7f51b29c76bf45b51ecdc4bde7fbec0b97001c010ed486d2d101095190af86 SHA512 74ff63058099ce5663d1195acaccba239551dd0fec1095c44e3c94590ad409d132b7b62f86ecfb2acef5f38c865aefe7f4748a3554065857512152bf3c6a1527
diff --git a/dev-db/mycli/mycli-1.42.0.ebuild b/dev-db/mycli/mycli-1.42.0.ebuild
new file mode 100644
index 000000000000..1dfe9e0a524f
--- /dev/null
+++ b/dev-db/mycli/mycli-1.42.0.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_SINGLE_IMPL=yes
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CLI for MySQL Database with auto-completion and syntax highlighting"
+HOMEPAGE="
+ https://www.mycli.net/
+ https://github.com/dbcli/mycli/
+ https://pypi.org/project/mycli/
+"
+
+LICENSE="BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+# optional llm unpackaged
+IUSE="ssh"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/cli-helpers-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/click-8.3.1[${PYTHON_USEDEP}]
+ >=dev-python/configobj-5.0.5[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.6[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-4.0.0[${PYTHON_USEDEP}]
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ >=dev-python/pyfzf-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-1.6[${PYTHON_USEDEP}]
+ >=dev-python/pymysql-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/pyperclip-1.8.1[${PYTHON_USEDEP}]
+ =dev-python/sqlglot-27*[${PYTHON_USEDEP}]
+ <dev-python/sqlparse-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.0[${PYTHON_USEDEP}]
+ ssh? (
+ dev-python/paramiko[${PYTHON_USEDEP}]
+ dev-python/sshtunnel[${PYTHON_USEDEP}]
+ )
+ ')
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-db/mysql[server]
+ dev-python/paramiko[${PYTHON_USEDEP}]
+ dev-python/sshtunnel[${PYTHON_USEDEP}]
+ )
+ ')
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_prepare_all() {
+ # no coverage please
+ sed -e 's/import coverage ; coverage.process_startup(); //' \
+ -i test/features/environment.py test/features/steps/wrappers.py || die
+
+ # convert from pycryptodomex to pycryptodome
+ sed -e 's/pycryptodomex/pycryptodome/' -i pyproject.toml || die
+ sed -e 's/from Cryptodome/from Crypto/' -i mycli/config.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ # test/utils.py
+ local -x PYTEST_PASSWORD="notsecure"
+ local -x PYTEST_HOST="127.0.0.1"
+ local -x PYTEST_PORT="43307"
+ local -x PYTEST_CHARSET="utf8"
+
+ einfo "Creating mysql test instance ..."
+ mysqld \
+ --no-defaults \
+ --initialize-insecure \
+ --basedir="${EPREFIX}/usr" \
+ --datadir="${T}/mysql" 1>"${T}"/mysql_install.log || die
+
+ einfo "Starting mysql test instance ..."
+ mysqld \
+ --no-defaults \
+ --character-set-server="${PYTEST_CHARSET}" \
+ --bind-address="${PYTEST_HOST}" \
+ --port="${PYTEST_PORT}" \
+ --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" \
+ -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '${PYTEST_PASSWORD}'" \
+ || die "Failed to change mysql user password"
+
+ EPYTEST_IGNORE=(
+ # Requires unpackaged llm
+ test/test_llm_special.py
+ # AssertionError: assert 8 in [4, 5, 6, 7]
+ # Per upstream: "...it is a flaky test at best."
+ # https://github.com/dbcli/mycli/commit/3d08910a366d4505a40e8a0fb36c210330723f18
+ test/test_special_iocommands.py::test_watch_query_full
+ )
+
+ local failures=()
+ nonfatal distutils-r1_src_test
+ [[ ${?} -ne 0 ]] && failures+=( pytest )
+
+ # Behave is in a weird situation, last non beta version is 7 years old and doesnt build well with modern setuptools.
+ # Mycli doesnt pass tests with prereleases of updated behave.
+ #behave --jobs=$(get_makeopts_jobs) --summary --verbose test/features
+ #[[ ${?} -ne 0 ]] && failures+=( behave )
+
+ 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
+
+ if [[ ${#failures[@]} -gt 0 ]]; then
+ die "Tests failed: ${failures}"
+ fi
+}
diff --git a/dev-db/mydumper/Manifest b/dev-db/mydumper/Manifest
index 9e2bdeb45ba3..2eafa758957f 100644
--- a/dev-db/mydumper/Manifest
+++ b/dev-db/mydumper/Manifest
@@ -1,6 +1,4 @@
-DIST mydumper-0.18.2-7.tar.gz 242488 BLAKE2B 9f7663941ac83fd30c7ccec3b7bd0f2fa84cb360170802755d6b85586f7da151e7fc59842088a6f72a342830c885cee6f25702dd8d7bd9f94fcf5bc6bf6053cc SHA512 c4ef10fb69117dc8ec5b01b948dce929045f4dde0232390b9887a34f13ed42284e38255ccbc63bf8f73bb4e31b0b9a3be1523561f7adf33f74204f51da413316
-DIST mydumper-0.18.2-7_docs.tar.gz 943632 BLAKE2B 9e0879b092a1ce1073751c3d3174bce812cfb35ff4e3a58846ca61cc7655c84d426e68b32f2091a4788a796d7e5fb80abcaa07c5c5fed9317faf5dabaa1c59b5 SHA512 0df911f03a97ca6b5bc65ccea3bedae36a94690e7b53f9014972e860af37c8b7814832a9759cf91f642770452e2016e3ae3fd8dd0852108727f491e5f9d22cd1
-DIST mydumper-0.19.3-3.tar.gz 843289 BLAKE2B b812829c66a2f8a392119bc11f11a5ab4a767d9e4033e5d7a1fa94fa29c4eba6104bbfb193844d4aeff1f394d4a1e0342286f37e3304c5b94fe2a8d4b36f1b23 SHA512 6a6e3c18684a9d67cc622d3563819b82e886a6e54d1036e7659216eda863feb9e1bc3b08378ce75019248ef68ef6ed356c8edf643e90172352e65e44e39a796c
-DIST mydumper-0.19.3-3_docs.tar.gz 947356 BLAKE2B bd2402f32dd3b26e08c2ae0a33a1bfd8afc37a9bddb520c4bc1ab1a7c8eb3b31333a5bcdb96bfcc1eaa47b40361b1c7efc1de623cd104e6518e78074acd70aef SHA512 9cadf5799b78265c95f6fe9cded4c34cc62a78143afbde062b38329a8727f60cc2405d01e189a2d1929364e0e32bf658827e700c5a3cbe0f65856d2fbb3b35f6
DIST mydumper-0.20.1-2.tar.gz 850275 BLAKE2B 76000bbbb3470e5c5d8877f61b6ba43f51c11ecb4adcd419b7e8dfbe5089e13b235561c8438932df953e3b1320e737d3d3c90bbfbc176430066bc1af504f9bd9 SHA512 5d9f991d8e0fa90587fd92d8ecf04686c20bb9c3849e303b962b3795e65e504e2c4eb97240d4e04caf0020a50b94438d0bb9cf20eba27bcceea699b7895ac461
DIST mydumper-0.20.1-2_docs.tar.gz 959166 BLAKE2B 6e208cdf2c6c494ce304ae6bf069548ec3344fbef077db06577515286c75a367a4831c9518de1b7f6f647fd9f24a0c6d7cb2a92e9f0c968f8f52769a778f1405 SHA512 1397eed81762c56ef95c3d739572ecc849984d15e5484a65b8cca61dd587427e58bd8a01f3cd509b0501d9830cae4442b0197ae5f2a99a225154627be2d2a4ad
+DIST mydumper-0.21.2-2.tar.gz 865730 BLAKE2B d0519c35fd657f4337ee0c22d696ff96db6bf2b48203c6248462f0b01c8978784306a2c947856683d602cf8b1fb3fa379ac2c0367d49a636c64e034d02cf4436 SHA512 d604eada1ff99686a9f14b04034bacf6a732660f509d88e7937e4d1189b8db3a265d9289f99e32d13d2e761ad376e1aac44c3e7edf5661a0fa651ecfa5873249
+DIST mydumper-0.21.2-2_docs.tar.gz 962034 BLAKE2B fb91b137dbd770580bb9bbdca4cba35e7efbb9733cc0fe109cf83f9e30b0a150394be40673363085bcb55906c7b71e054f46107f3c72d86244b1dc79d88ce708 SHA512 4805b74283234c6d371c65c209fcff7baa0ea4023e869c41fb2ca61bfea58ec11d8ae6487aff4647b0597a85f5f045632b7c8d7d7cc3812c72efc5b1aa3c0f0e
diff --git a/dev-db/mydumper/mydumper-0.18.2.7-r1.ebuild b/dev-db/mydumper/mydumper-0.18.2.7-r1.ebuild
deleted file mode 100644
index cf40473cce67..000000000000
--- a/dev-db/mydumper/mydumper-0.18.2.7-r1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-MY_PV="$(ver_rs 3 -)"
-MY_P="${PN}-${MY_PV}"
-DOCS_COMMIT="b260deb19d8cf88a5e57abc0d271673a4bea254d"
-
-DESCRIPTION="A high-performance multi-threaded backup (and restore) toolset for MySQL"
-HOMEPAGE="https://github.com/mydumper/mydumper"
-SRC_URI="https://github.com/mydumper/mydumper/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz
- https://github.com/mydumper/mydumper_docs/archive/${DOCS_COMMIT}.tar.gz -> ${MY_P}_docs.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-IUSE="doc"
-
-RDEPEND="
- app-arch/zstd
- dev-db/mysql-connector-c:=
- dev-libs/glib:2
- dev-libs/libpcre2:=
- dev-libs/openssl:=
- virtual/zlib:=
-"
-
-# this version uses libpcre2 but upstream forgot to remove old libpcre
-# includes, therefore we need to have it available in build time.
-DEPEND="${RDEPEND}
- dev-libs/libpcre
-"
-BDEPEND="
- virtual/pkgconfig
- doc? (
- dev-python/furo
- dev-python/sphinx-inline-tabs
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.13.1-atomic.patch" #654314
- "${FILESDIR}/${PN}-0.18-Do-not-overwrite-the-user-CFLAGS.patch"
- "${FILESDIR}/${PN}-0.16-cmake-docs.patch"
-)
-
-src_prepare() {
- # copy in docs
- rm -rv "${WORKDIR}"/"${MY_P}"/docs || die
- mv -v "${WORKDIR}/${PN}_docs-${DOCS_COMMIT}" "${WORKDIR}/${MY_P}/docs" || die
-
- # https://pypi.org/project/sphinx-copybutton/ not yet in Gentoo
- sed -i "s/'sphinx_copybutton',//g" "${WORKDIR}/${MY_P}/docs/_build/conf.py.in" || die
-
- # fix doc install path
- sed -i -e "s|share/doc/mydumper|share/doc/${PF}|" docs/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(-DBUILD_DOCS=$(usex doc))
- cmake_src_configure
-}
diff --git a/dev-db/mydumper/mydumper-0.19.3.3.ebuild b/dev-db/mydumper/mydumper-0.21.2.2.ebuild
index c5ec8673265b..08501b68fcba 100644
--- a/dev-db/mydumper/mydumper-0.19.3.3.ebuild
+++ b/dev-db/mydumper/mydumper-0.21.2.2.ebuild
@@ -9,7 +9,7 @@ inherit cmake python-any-r1
MY_PV="$(ver_rs 3 -)"
MY_P="${PN}-${MY_PV}"
-DOCS_COMMIT="af9dcd8d9c66cf445237f9a060d07c2a4dd3d382"
+DOCS_COMMIT="5cc751c3f4383530f472008828a6614b97412abd"
DESCRIPTION="A high-performance multi-threaded backup (and restore) toolset for MySQL"
HOMEPAGE="https://github.com/mydumper/mydumper"
@@ -19,7 +19,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="~amd64 ~x86"
IUSE="doc"
RDEPEND="