void-packages/srcpkgs/python3-scandir/patches/py3.10.patch

64 lines
2.7 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(only includes changes to _scandir.c, others are irrelevant)
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
---
.github/workflows/tests.yml | 2 +-
_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;