dev-python/csvkit: Enable py3.14

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny 2025-10-26 19:56:05 +01:00
parent f904e2fa25
commit 0ed68db51e
No known key found for this signature in database
GPG Key ID: 639ADAE2329E240E
2 changed files with 75 additions and 0 deletions

View File

@ -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
}

View File

@ -0,0 +1,24 @@
From de4ec58126e3341e4cf8c54735c297d6496fecf5 Mon Sep 17 00:00:00 2001
From: James McKinney <26463+jpmckinney@users.noreply.github.com>
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: