17
0

Compare commits

6 Commits

Author SHA256 Message Date
a76f96d4f4 Accepting request 1266983 from devel:languages:python
- Add patch do-not-use-pytuple-get-size.patch:
  * Use Py_SIZE rather than PyTuple_GET_SIZE to avoid assertion failures.

OBS-URL: https://build.opensuse.org/request/show/1266983
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-recordclass?expand=0&rev=7
2025-04-04 15:30:53 +00:00
b6359a4f38 - Add patch do-not-use-pytuple-get-size.patch:
* Use Py_SIZE rather than PyTuple_GET_SIZE to avoid assertion failures.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-recordclass?expand=0&rev=13
2025-04-04 00:58:10 +00:00
7954474202 Accepting request 1191762 from devel:languages:python
- update to 0.22.1:
  * Add `pyproject.toml`.
- update to 0.22.0.3:
  * Rename examples	est_*.py files since they are detected by
    pytest as a tests.
  * Fix segfault with litelist after 0.22.0.2.

OBS-URL: https://build.opensuse.org/request/show/1191762
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-recordclass?expand=0&rev=6
2024-08-06 07:08:12 +00:00
1c54aa5f7b - update to 0.22.1:
* Add `pyproject.toml`.
- update to 0.22.0.3:
  * Rename examples	est_*.py files since they are detected by
    pytest as a tests.
  * Fix segfault with litelist after 0.22.0.2.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-recordclass?expand=0&rev=11
2024-08-05 19:13:23 +00:00
5ec200b9ee Accepting request 1184899 from devel:languages:python
- update to 0.22.0.2:
  * Fix regression with `as_dataclass`.
- update to 0.22:
  * `Recordclass 0.22` started support of `python 3.13`.
  * Add a base class `datastruct` for subclasses that should
    behave more like simple datastructures.
  * Fix bug with `__match_args__` (#6).

OBS-URL: https://build.opensuse.org/request/show/1184899
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-recordclass?expand=0&rev=5
2024-07-02 16:19:45 +00:00
baf7e92993 - update to 0.22.0.2:
* Fix regression with `as_dataclass`.
- update to 0.22:
  * `Recordclass 0.22` started support of `python 3.13`.
  * Add a base class `datastruct` for subclasses that should
    behave more like simple datastructures.
  * Fix bug with `__match_args__` (#6).

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-recordclass?expand=0&rev=9
2024-07-02 15:13:39 +00:00
5 changed files with 61 additions and 19 deletions

View File

@@ -0,0 +1,53 @@
From 338044cbf771e5665a744d3b36b5d7edd126d16a Mon Sep 17 00:00:00 2001
From: Zaur Shibzukhov <szport@gmail.com>
Date: Mon, 31 Mar 2025 10:00:01 +0300
Subject: [PATCH] Fix #13 with litelist/litetuple get_subscript routine
---
examples/performance_cgc.ipynb | 32 ++++++++++++++++----------------
lib/recordclass/_litelist.c | 4 ++--
lib/recordclass/_litetuple.c | 4 ++--
3 files changed, 20 insertions(+), 20 deletions(-)
Index: recordclass-0.22.1/lib/recordclass/_litelist.c
===================================================================
--- recordclass-0.22.1.orig/lib/recordclass/_litelist.c
+++ recordclass-0.22.1/lib/recordclass/_litelist.c
@@ -484,13 +484,13 @@ litelist_subscript(PyLiteListObject* sel
if (PySlice_Check(item)) {
Py_ssize_t start, stop, step, slicelength;
- if (PySlice_GetIndicesEx(item, (PyTuple_GET_SIZE(self)), &start, &stop, &step, &slicelength) < 0)
+ if (PySlice_GetIndicesEx(item, (Py_SIZE(self)), &start, &stop, &step, &slicelength) < 0)
return NULL;
return litelist_slice(self, start, stop);
}
else {
PyErr_Format(PyExc_TypeError,
- "subscript must be integer, slice or string, but not %.200s",
+ "subscript must be integer or slice, but not %.200s",
Py_TYPE(item)->tp_name);
return NULL;
}
Index: recordclass-0.22.1/lib/recordclass/_litetuple.c
===================================================================
--- recordclass-0.22.1.orig/lib/recordclass/_litetuple.c
+++ recordclass-0.22.1/lib/recordclass/_litetuple.c
@@ -32,7 +32,7 @@ static PyTypeObject PyMLiteTuple_Type;
#define PyLiteTuple_GET_ITEM(op, i) (((PyLiteTupleObject *)(op))->ob_item[i])
#define PyLiteTuple_SET_ITEM(op, i, v) (((PyLiteTupleObject *)(op))->ob_item[i] = v)
-#define PyLiteTuple_GET_SIZE(seq) PyTuple_GET_SIZE(seq)
+#define PyLiteTuple_GET_SIZE(seq) Py_SIZE(seq)
#define PyLiteTuple_CheckExact(op) (Py_TYPE(op) == &PyLiteTuple_Type || Py_TYPE(op) == &PyMLiteTuple_Type)
#define PyLiteTuple_Check(op) (PyLiteTuple_CheckExact(op) || PyObject_IsInstance(op, (PyObject*)&PyLiteTuple_Type) || PyObject_IsInstance(op, (PyObject*)&PyMLiteTuple_Type))
@@ -417,7 +417,7 @@ litetuple_subscript(PyLiteTupleObject* s
if (PySlice_Check(item)) {
Py_ssize_t start, stop, step, slicelength;
- if (PySlice_GetIndicesEx(item, (PyTuple_GET_SIZE(self)), &start, &stop, &step, &slicelength) < 0)
+ if (PySlice_GetIndicesEx(item, (Py_SIZE(self)), &start, &stop, &step, &slicelength) < 0)
return NULL;
return litetuple_slice(self, start, stop);
}

View File

@@ -1,14 +1,3 @@
-------------------------------------------------------------------
Tue Jan 6 03:05:29 UTC 2026 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 0.24:
* Fix __annotations__ for python 3.14
* Start support of python 3.14
* Fix the bug with PyTuple_GET_SIZE (#13)
* Drop appveyor
* recordclass requires python >= 3.8
- Drop patch do-not-use-pytuple-get-size.patch, merged upstream.
-------------------------------------------------------------------
Fri Apr 4 00:56:20 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-recordclass
#
# Copyright (c) 2026 SUSE LLC and contributors
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,15 @@
Name: python-recordclass
Version: 0.24
Version: 0.22.1
Release: 0
Summary: Library implementing a mutable variant of namedtuple
License: MIT
URL: https://github.com/intellimath/recordclass
Source: https://files.pythonhosted.org/packages/source/r/recordclass/recordclass-%{version}.tar.gz
BuildRequires: %{python_module devel >= 3.9}
# PATCH-FIX-UPSTREAM Based on gh#intellimath/recordclass#338044cbf771e5665a744d3b36b5d7edd126d16a
Patch0: do-not-use-pytuple-get-size.patch
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
@@ -48,8 +50,6 @@ export CFLAGS="%{optflags}"
%install
%pyproject_install
# do not ship development files
%python_expand rm -v %{buildroot}%{$python_sitearch}/recordclass/_*.[ch]
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%check

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:80a4c79270edb8fb55bcb96bec0159a292b485c997e2f33b38fdc9e8d6c0c315
size 1333756

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dc6e46aec90d5b185576fce40ffc875488b04692a9259265c965fac150630d06
size 1340150