mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-python/scandir: fix extension install for Python 3.9, Python 3.10
Still can't do Python 3.11. Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
62
dev-python/scandir/files/scandir-1.10.0-python3.9.patch
Normal file
62
dev-python/scandir/files/scandir-1.10.0-python3.9.patch
Normal file
@@ -0,0 +1,62 @@
|
||||
https://github.com/benhoyt/scandir/commit/3396aa4155ffde8600a0e9ca50d5872569169b5d
|
||||
|
||||
From 3396aa4155ffde8600a0e9ca50d5872569169b5d Mon Sep 17 00:00:00 2001
|
||||
From: Ben Hoyt <benhoyt@gmail.com>
|
||||
Date: Mon, 24 Jan 2022 08:44:07 +1300
|
||||
Subject: [PATCH] Add Python 3.10 to tests (#137)
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fix PyStructSequence_UnnamedField build issues on Python 3.9/3.10
|
||||
|
||||
_scandir.c:663:7: error: conflicting type qualifiers for ‘PyStructSequence_UnnamedField’
|
||||
663 | char *PyStructSequence_UnnamedField = "unnamed field";
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
In file included from /usr/local/include/python3.10/Python.h:127,
|
||||
from _scandir.c:14:
|
||||
/usr/local/include/python3.10/structseq.h:22:27: note: previous declaration of ‘PyStructSequence_UnnamedField’ was here
|
||||
22 | extern const char * const PyStructSequence_UnnamedField;
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Fixes https://github.com/benhoyt/scandir/pull/137
|
||||
---
|
||||
_scandir.c | 10 +++++-----
|
||||
scandir.py | 2 +-
|
||||
3 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/_scandir.c b/_scandir.c
|
||||
index 6cc28c8..433483f 100644
|
||||
--- a/_scandir.c
|
||||
+++ b/_scandir.c
|
||||
@@ -660,7 +660,7 @@ _pystat_fromstructstat(STRUCT_STAT *st)
|
||||
return v;
|
||||
}
|
||||
|
||||
-char *PyStructSequence_UnnamedField = "unnamed field";
|
||||
+static char *scandir_unnamed_field = "unnamed field";
|
||||
|
||||
PyDoc_STRVAR(stat_result__doc__,
|
||||
"stat_result: Result from stat, fstat, or lstat.\n\n\
|
||||
@@ -681,7 +681,7 @@ static PyStructSequence_Field stat_result_fields[] = {
|
||||
{"st_uid", "user ID of owner"},
|
||||
{"st_gid", "group ID of owner"},
|
||||
{"st_size", "total size, in bytes"},
|
||||
- /* The NULL is replaced with PyStructSequence_UnnamedField later. */
|
||||
+ /* The NULL is replaced with scandir_unnamed_field later. */
|
||||
{NULL, "integer time of last access"},
|
||||
{NULL, "integer time of last modification"},
|
||||
{NULL, "integer time of last change"},
|
||||
@@ -1817,9 +1817,9 @@ init_scandir(void)
|
||||
if (!billion)
|
||||
INIT_ERROR;
|
||||
|
||||
- stat_result_desc.fields[7].name = PyStructSequence_UnnamedField;
|
||||
- stat_result_desc.fields[8].name = PyStructSequence_UnnamedField;
|
||||
- stat_result_desc.fields[9].name = PyStructSequence_UnnamedField;
|
||||
+ stat_result_desc.fields[7].name = scandir_unnamed_field;
|
||||
+ stat_result_desc.fields[8].name = scandir_unnamed_field;
|
||||
+ stat_result_desc.fields[9].name = scandir_unnamed_field;
|
||||
PyStructSequence_InitType(&StatResultType, &stat_result_desc);
|
||||
structseq_new = StatResultType.tp_new;
|
||||
StatResultType.tp_new = statresult_new;
|
||||
27
dev-python/scandir/scandir-1.10.0-r3.ebuild
Normal file
27
dev-python/scandir/scandir-1.10.0-r3.ebuild
Normal file
@@ -0,0 +1,27 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
# Do NOT add Python 3.11 without verifying the C extension is actually built
|
||||
# and installed for it!
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A better directory iterator and faster os.walk()"
|
||||
HOMEPAGE="https://github.com/benhoyt/scandir"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-python3.9.patch
|
||||
)
|
||||
|
||||
python_test() {
|
||||
"${EPYTHON}" test/run_tests.py -v || die "tests failed under ${EPYTHON}"
|
||||
}
|
||||
Reference in New Issue
Block a user