Accepting request 1103940 from devel:languages:python

OBS-URL: https://build.opensuse.org/request/show/1103940
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-immutables?expand=0&rev=14
This commit is contained in:
Ana Guerrero 2023-08-16 12:16:26 +00:00 committed by Git OBS Bridge
commit b97b52a667
3 changed files with 93 additions and 0 deletions

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Mon Aug 14 20:48:16 UTC 2023 - Dirk Müller <dmueller@suse.com>
- add python312.patch to fix build with python 3.12
-------------------------------------------------------------------
Thu Jun 22 15:25:56 UTC 2023 - Dirk Müller <dmueller@suse.com>

View File

@ -24,6 +24,8 @@ Summary: Immutable collections for Python
License: Apache-2.0
URL: https://github.com/MagicStack/immutables
Source: https://files.pythonhosted.org/packages/source/i/immutables/immutables-%{version}.tar.gz
# PATCH-FIX-UPSTREAM: https://github.com/MagicStack/immutables/commit/f7978225ea562e128b07cae936acd7926d9e64e7
Patch1: python312.patch
BuildRequires: %{python_module devel >= 3.8}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}

86
python312.patch Normal file
View File

@ -0,0 +1,86 @@
From f7978225ea562e128b07cae936acd7926d9e64e7 Mon Sep 17 00:00:00 2001
From: Elvis Pranskevichus <elvis@edgedb.com>
Date: Fri, 21 Jul 2023 15:30:33 -0700
Subject: [PATCH] Python 3.12 compatibility (#105)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Also, drop 3.6 and 3.7 as unsupported.
Fixes: #104
Closes: #97
Closes: #100
Closes: #103
Co-authored-by: Petr Vaněk <arkamar@atlas.cz>
Co-authored-by: Anton Agestam <git@antonagestam.se>
--- a/immutables/_map.c
+++ b/immutables/_map.c
@@ -529,10 +529,10 @@ _map_dump_format(_PyUnicodeWriter *writer, const char *format, ...)
int ret;
va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
- va_start(vargs, format);
-#else
+#if PY_VERSION_HEX < 0x030C00A1 && !defined(HAVE_STDARG_PROTOTYPES)
va_start(vargs);
+#else
+ va_start(vargs, format);
#endif
msg = PyUnicode_FromFormatV(format, vargs);
va_end(vargs);
@@ -1247,7 +1247,7 @@ map_node_bitmap_dealloc(MapNode_Bitmap *self)
Py_ssize_t i;
PyObject_GC_UnTrack(self);
- Py_TRASHCAN_SAFE_BEGIN(self)
+ Py_TRASHCAN_BEGIN(self, map_node_bitmap_dealloc)
if (len > 0) {
i = len;
@@ -1257,7 +1257,7 @@ map_node_bitmap_dealloc(MapNode_Bitmap *self)
}
Py_TYPE(self)->tp_free((PyObject *)self);
- Py_TRASHCAN_SAFE_END(self)
+ Py_TRASHCAN_END
}
static int
@@ -1664,7 +1664,7 @@ map_node_collision_dealloc(MapNode_Collision *self)
Py_ssize_t len = Py_SIZE(self);
PyObject_GC_UnTrack(self);
- Py_TRASHCAN_SAFE_BEGIN(self)
+ Py_TRASHCAN_BEGIN(self, map_node_collision_dealloc)
if (len > 0) {
@@ -1674,7 +1674,7 @@ map_node_collision_dealloc(MapNode_Collision *self)
}
Py_TYPE(self)->tp_free((PyObject *)self);
- Py_TRASHCAN_SAFE_END(self)
+ Py_TRASHCAN_END
}
static int
@@ -2083,14 +2083,14 @@ map_node_array_dealloc(MapNode_Array *self)
Py_ssize_t i;
PyObject_GC_UnTrack(self);
- Py_TRASHCAN_SAFE_BEGIN(self)
+ Py_TRASHCAN_BEGIN(self, map_node_array_dealloc)
for (i = 0; i < HAMT_ARRAY_NODE_SIZE; i++) {
Py_XDECREF(self->a_array[i]);
}
Py_TYPE(self)->tp_free((PyObject *)self);
- Py_TRASHCAN_SAFE_END(self)
+ Py_TRASHCAN_END
}
static int