commit:     0ed68db51e51a885aac82f1a8834d5662ce3f722
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 26 18:56:05 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct 26 18:59:40 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ed68db5

dev-python/csvkit: Enable py3.14

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

 dev-python/csvkit/csvkit-2.1.0-r1.ebuild         | 51 ++++++++++++++++++++++++
 dev-python/csvkit/files/csvkit-2.1.0-py314.patch | 24 +++++++++++
 2 files changed, 75 insertions(+)

diff --git a/dev-python/csvkit/csvkit-2.1.0-r1.ebuild 
b/dev-python/csvkit/csvkit-2.1.0-r1.ebuild
new file mode 100644
index 000000000000..7846f823dc85
--- /dev/null
+++ b/dev-python/csvkit/csvkit-2.1.0-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A suite of utilities for converting to and working with CSV"
+HOMEPAGE="
+       https://github.com/wireservice/csvkit/
+       https://pypi.org/project/csvkit/
+"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+       >=dev-python/agate-1.12.0[${PYTHON_USEDEP}]
+       >=dev-python/agate-excel-0.4.0[${PYTHON_USEDEP}]
+       >=dev-python/agate-dbf-0.2.3[${PYTHON_USEDEP}]
+       >=dev-python/agate-sql-0.7.0[${PYTHON_USEDEP}]
+       dev-python/openpyxl[${PYTHON_USEDEP}]
+       dev-python/sqlalchemy[${PYTHON_USEDEP}]
+       dev-python/xlrd[${PYTHON_USEDEP}]
+"
+BDEPEND="
+       test? (
+               dev-python/lxml[${PYTHON_USEDEP}]
+               dev-python/zstandard[${PYTHON_USEDEP}]
+       )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+PATCHES=(
+       # 
https://github.com/wireservice/csvkit/commit/de4ec58126e3341e4cf8c54735c297d6496fecf5
+       "${FILESDIR}/${P}-py314.patch"
+)
+
+python_test() {
+       local EPYTEST_DESELECT=(
+               # fails depending on locale, let's not force en_US
+               
tests/test_utilities/test_csvstat.py::TestCSVStat::test_decimal_format
+       )
+       local -x LC_ALL=C.UTF-8
+       epytest
+}

diff --git a/dev-python/csvkit/files/csvkit-2.1.0-py314.patch 
b/dev-python/csvkit/files/csvkit-2.1.0-py314.patch
new file mode 100644
index 000000000000..76daa627005c
--- /dev/null
+++ b/dev-python/csvkit/files/csvkit-2.1.0-py314.patch
@@ -0,0 +1,24 @@
+From de4ec58126e3341e4cf8c54735c297d6496fecf5 Mon Sep 17 00:00:00 2001
+From: James McKinney <[email protected]>
+Date: Mon, 9 Jun 2025 23:51:26 -0400
+Subject: [PATCH] fix: Set ArgumentParser(prog=) for Python 3.14, #1284 (bis)
+
+---
+ csvkit/cli.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/csvkit/cli.py b/csvkit/cli.py
+index a1bde8018..a1ad1bff8 100644
+--- a/csvkit/cli.py
++++ b/csvkit/cli.py
+@@ -163,7 +163,9 @@ def _init_common_parser(self):
+         whose single-letter form is contained in 'omitflags' will be left out 
of the configured parser. Use 'f' for
+         file.
+         """
+-        self.argparser = 
argparse.ArgumentParser(description=self.description, epilog=self.epilog)
++        self.argparser = argparse.ArgumentParser(
++            prog=type(self).__name__.lower(), description=self.description, 
epilog=self.epilog
++        )
+ 
+         # Input
+         if 'f' not in self.override_flags:

Reply via email to