diff options
Diffstat (limited to 'dev-db')
| -rw-r--r-- | dev-db/mycli/Manifest | 1 | ||||
| -rw-r--r-- | dev-db/mycli/mycli-1.42.0.ebuild | 146 | ||||
| -rw-r--r-- | dev-db/mydumper/Manifest | 6 | ||||
| -rw-r--r-- | dev-db/mydumper/mydumper-0.18.2.7-r1.ebuild | 68 | ||||
| -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=" |
