commit:     a06f0b38be29059176b0a74fc002fec807511e94
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 15 06:22:18 2026 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 15 07:14:18 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a06f0b38

dev-python/translate-toolkit: Bump to 3.18.1

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/translate-toolkit/Manifest              |   1 +
 .../translate-toolkit-3.18.1.ebuild                | 129 +++++++++++++++++++++
 2 files changed, 130 insertions(+)

diff --git a/dev-python/translate-toolkit/Manifest 
b/dev-python/translate-toolkit/Manifest
index 0078d934d7eb..cd1d32182ff8 100644
--- a/dev-python/translate-toolkit/Manifest
+++ b/dev-python/translate-toolkit/Manifest
@@ -1,3 +1,4 @@
 DIST translate-3.17.4.gh.tar.gz 1242234 BLAKE2B 
da13cc36d463c7f50724b1f398d77e817db03abe2ca9bbc19de6900f48de839feff63b7efcbf76e4eb6d252525e56d0abe67403102f2eaf45c5bcc2007f00e55
 SHA512 
1ee5a3bb82cd7cd57e6ab3cc95469c0c1b00018accb0129fda909317dfd62df77ea69061fddec9838c8e5f0e76fc45c130c93ce99d2e628b508551e573ef9279
 DIST translate-3.17.5.gh.tar.gz 1244591 BLAKE2B 
c8e6cc72e5ff5c324da69d58ed0bd6a6c72257b902797b8673eda49b8cc80061aee898fdafa23a604c6527a9c4d1e3889813d50d876566c408a3e5dde467882f
 SHA512 
eb44c62b73fafaf2844fc75705d2bb48f39d636cb3e30f5b4d770d576326ec59c7186ab3a24e80136fd96bd294eaa59e621f46cf539cf710f0ec7bd676bc9b11
 DIST translate-3.18.0.gh.tar.gz 1263818 BLAKE2B 
2c31240428dfcd3af50c9325a22edeed8e14751787dc52497c64d309a77214c18313813432ed68e4a09b6da1c386beca2676bf544f24255c3bb7ad7e0ecd4e8e
 SHA512 
5f8f5bcd4172d46974f312de89360ce3be2d434c3498c28e60c26d6e77ee6c6c7d610fd0c0d4ac7267e3a224db07908a18d53c79025f660148acd532410412f5
+DIST translate-3.18.1.gh.tar.gz 1266842 BLAKE2B 
ee27941987046ee1ac545c360d1d87f68e275dca7c9a5b364f35bf130add441e8c5ac515df0cebedcbdb4a7922913455fe5556c537508cc79410542fd6288588
 SHA512 
aa006d8a0da390367667e9c1e9583bcd490e21a6d63b6beebe9513ea6c0f404646b306ac28ac6eea1f75929c411e1ab3faa21182c748f9e505c025c57836dcb9

diff --git a/dev-python/translate-toolkit/translate-toolkit-3.18.1.ebuild 
b/dev-python/translate-toolkit/translate-toolkit-3.18.1.ebuild
new file mode 100644
index 000000000000..d363b811f7ae
--- /dev/null
+++ b/dev-python/translate-toolkit/translate-toolkit-3.18.1.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+MY_P=translate-${PV}
+DESCRIPTION="Toolkit to convert between many translation formats"
+HOMEPAGE="
+       https://github.com/translate/translate/
+       https://pypi.org/project/translate-toolkit/
+"
+SRC_URI="
+       https://github.com/translate/translate/archive/${PV}.tar.gz
+               -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="+html +ical +ini +subtitles +yaml"
+
+RDEPEND="
+       app-text/iso-codes
+       >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
+       dev-python/cheroot[${PYTHON_USEDEP}]
+       >=dev-python/levenshtein-0.12.0[${PYTHON_USEDEP}]
+       >=dev-python/lxml-5.2.0[${PYTHON_USEDEP}]
+       >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
+       >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
+       dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+       dev-python/tomlkit[${PYTHON_USEDEP}]
+       >=dev-python/unicode-segmentation-rs-0.2.0[${PYTHON_USEDEP}]
+       >=dev-python/wcwidth-0.2.14[${PYTHON_USEDEP}]
+       sys-devel/gettext
+       html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
+       ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
+       ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
+       subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
+       yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+"
+# Technically, the test suite also has undeclared dependency
+# on dev-python/snapshottest but all the tests using it are broken
+# anyway, so we skip them.
+BDEPEND="
+       test? (
+               dev-python/phply[${PYTHON_USEDEP}]
+       )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+       distutils-r1_src_prepare
+
+       # strip unnecessary pins
+       sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+}
+
+src_test() {
+       # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
+       # correctly, so we need to reassemble all data files in a single 
directory
+       local -x XDG_DATA_HOME=${T}/share
+       cp -r translate/share "${T}/" || die
+       cp -r "${ESYSROOT}"/usr/share/gaupol "${XDG_DATA_HOME}"/ || die
+
+       distutils-r1_src_test
+}
+
+python_test() {
+       local EPYTEST_DESELECT=(
+               # Fails with network-sandbox (and even with it off but w/ 
softer fail)
+               
'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
+               
'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
+               # all tests based on snapshottest are broken and I'm too tired
+               # to figure this out
+               tests/translate/tools/test_pocount.py::test_{cases,output}
+               tests/translate/tools/test_junitmsgfmt.py::test_output
+       )
+       local EPYTEST_IGNORE=(
+               # unpackaged fluent.*
+               tests/translate/storage/test_fluent.py
+               # changes directory and does not change it back, sigh
+               tests/odf_xliff/test_odf_xliff.py
+       )
+
+       if ! has_version "dev-python/iniparse[${PYTHON_USEDEP}]"; then
+               EPYTEST_IGNORE+=(
+                       translate/convert/test_ini2po.py
+                       translate/convert/test_po2ini.py
+               )
+       fi
+
+       if ! has_version "media-video/gaupol[${PYTHON_USEDEP}]"; then
+               EPYTEST_IGNORE+=(
+                       translate/storage/test_subtitles.py
+               )
+       fi
+
+       epytest
+}
+
+python_install_all() {
+       distutils-r1_python_install_all
+
+       insinto /usr
+       doins -r translate/share
+
+       if ! use html; then
+               rm "${ED}"/usr/bin/{html2po,po2html} || die
+       fi
+       if ! use ical; then
+               rm "${ED}"/usr/bin/{ical2po,po2ical} || die
+       fi
+       if ! use ini; then
+               rm "${ED}"/usr/bin/{ini2po,po2ini} || die
+       fi
+       if ! use subtitles; then
+               rm "${ED}"/usr/bin/{sub2po,po2sub} || die
+       fi
+}

Reply via email to