Sync from SUSE:SLFO:Main python-cffi revision 5cec4d410d2896698d13e1a29f9e52be

This commit is contained in:
Adrian Schröter 2024-12-13 11:16:02 +01:00
parent 8c4a5ab4fb
commit c2b0938d4a
5 changed files with 93 additions and 115 deletions

View File

@ -1,95 +0,0 @@
From 8a3c2c816d789639b49d3ae867213393ed7abdff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Fri, 15 Jul 2022 16:11:37 +0200
Subject: [PATCH] Adjust tests for a last minute Python 3.11 change in the
traceback format
See https://github.com/python/cpython/issues/93883
and https://github.com/python/cpython/pull/93994
--HG--
branch : python3.11.0b4
---
c/test_c.py | 35 ++---------------------------------
1 file changed, 2 insertions(+), 33 deletions(-)
diff --git a/c/test_c.py b/c/test_c.py
index cde83b80..048711c7 100644
--- a/c/test_c.py
+++ b/c/test_c.py
@@ -1342,11 +1342,11 @@ def test_callback_exception():
except ImportError:
import io as cStringIO # Python 3
import linecache
- def matches(istr, ipattern, ipattern38, ipattern311):
+ def matches(istr, ipattern, ipattern38, ipattern311=None):
if sys.version_info >= (3, 8):
ipattern = ipattern38
if sys.version_info >= (3, 11):
- ipattern = ipattern311
+ ipattern = ipattern311 or ipattern38
str, pattern = istr, ipattern
while '$' in pattern:
i = pattern.index('$')
@@ -1400,16 +1400,6 @@ Traceback (most recent call last):
File "$", line $, in check_value
$
ValueError: 42
-""", """\
-Exception ignored from cffi callback <function$Zcb1 at 0x$>:
-Traceback (most recent call last):
- File "$", line $, in Zcb1
- $
- $
- File "$", line $, in check_value
- $
- $
-ValueError: 42
""")
sys.stderr = cStringIO.StringIO()
bigvalue = 20000
@@ -1424,13 +1414,6 @@ Traceback (most recent call last):
File "$", line $, in test_callback_exception
$
OverflowError: integer 60000 does not fit 'short'
-""", """\
-Exception ignored from cffi callback <function$Zcb1 at 0x$>, trying to convert the result back to C:
-Traceback (most recent call last):
- File "$", line $, in test_callback_exception
- $
- $
-OverflowError: integer 60000 does not fit 'short'
""")
sys.stderr = cStringIO.StringIO()
bigvalue = 20000
@@ -1479,19 +1462,6 @@ Traceback (most recent call last):
File "$", line $, in test_callback_exception
$
TypeError: $integer$
-""", """\
-Exception ignored from cffi callback <function$Zcb1 at 0x$>, trying to convert the result back to C:
-Traceback (most recent call last):
- File "$", line $, in test_callback_exception
- $
- $
-OverflowError: integer 60000 does not fit 'short'
-Exception ignored during handling of the above exception by 'onerror':
-Traceback (most recent call last):
- File "$", line $, in test_callback_exception
- $
- $
-TypeError: $integer$
""")
#
sys.stderr = cStringIO.StringIO()
@@ -1526,7 +1496,6 @@ Exception ignored from cffi callback <function$Zcb1 at 0x$>, trying to convert t
Traceback (most recent call last):
File "$", line $, in test_callback_exception
$
- $
OverflowError: integer 60000 does not fit 'short'
Exception ignored during handling of the above exception by 'onerror':
Traceback (most recent call last):
--
GitLab

BIN
cffi-1.15.1.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
cffi-1.17.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,76 @@
-------------------------------------------------------------------
Wed Oct 9 06:36:11 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 1.17.1:
* Fix failing distutils.msvc9compiler imports under Windows (#118).
* ffibuilder.emit_python_code() and ffibuiler.emit_c_code()
accept file-like objects (#115).
* ffiplatform calls are bypassed by ffibuilder.emit_python_code()
and ffibuilder.emit_c_code() (#81).
-------------------------------------------------------------------
Sat Aug 31 12:39:52 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 1.17.0:
* Add support for Python 3.13.
* In API mode, when you get a function from a C library by writing
`fn = lib.myfunc`, you get an object of a special type for
performance reasons, instead of a `<cdata 'C-function-type'>`.
Before version 1.17 you could only call such objects.
You could write `ffi.addressof(lib, "myfunc")` in order to get
a real `<cdata>` object, based on the idea that in these cases
in C you'd usually write `&myfunc` instead of `myfunc`. In
version 1.17, the special object `lib.myfunc` can now be passed
in many places where CFFI expects
a regular `<cdata>` object. For example, you can now pass
it as a callback to a C function call, or write it inside a C
structure field of the correct pointer-to-function type, or use
`ffi.cast()` or `ffi.typeof()` on it.
- drop py313-compat.patch, py313-use-format-unraisable.patch,
py313-use-hashpointer.patch (upstream)
-------------------------------------------------------------------
Sun Jun 30 21:26:53 UTC 2024 - Dirk Müller <dmueller@suse.com>
- add py313-compat.patch
py313-use-format-unraisable.patch
py313-use-hashpointer.patch: add upstream patches for py3.13
support
-------------------------------------------------------------------
Thu Feb 29 09:46:12 UTC 2024 - Dan Čermák <dcermak@suse.com>
- drop unnecessary buildrequire python-py
-------------------------------------------------------------------
Fri Oct 6 16:25:24 UTC 2023 - Matej Cepl <mcepl@cepl.eu>
- Upgrade to 1.16.0:
- Add support for Python 3.12. With the removal of distutils
from Python 3.12, projects using CFFI features that depend on
distutils at runtime must add a dependency on setuptools to
function under Python 3.12+. CFFI does not declare a runtime
setuptools requirement to avoid an unnecessary dependency for
projects that do not require it.
- Drop support for end-of-life Python versions (2.7, 3.6, 3.7).
- Move project source under src/; a more standard layout that
also enables CI to more easily catch packaging errors.
- Move project home to python-cffi/cffi on GitHub.
- Add support for PEP517 builds; setuptools is now a required
build dependency.
- Declare python_requires metadata for Python 3.8+. This allows
unsupported Pythons to continue using previously released
sdists and wheels.
- Add missing calls to PyObject_GC_UnTrack to avoid
ResourceWarning 15c4b71
- Remove upstreamed patch
8a3c2c816d789639b49d3ae867213393ed7abdff.patch
-------------------------------------------------------------------
Fri Oct 6 07:10:11 UTC 2023 - Matej Cepl <mcepl@cepl.eu>
- Clean up the SPEC file
-------------------------------------------------------------------
Fri Apr 21 12:23:11 UTC 2023 - Dirk Müller <dmueller@suse.com>
@ -12,7 +85,7 @@ Thu Apr 13 22:40:28 UTC 2023 - Matej Cepl <mcepl@suse.com>
Fri Jan 6 08:59:54 UTC 2023 - Dirk Müller <dmueller@suse.com>
- add 8a3c2c816d789639b49d3ae867213393ed7abdff.patch to resolve
testsuite failures with Python 3.11
testsuite failures with Python 3.11
-------------------------------------------------------------------
Mon Dec 5 12:22:40 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>
@ -44,7 +117,7 @@ Sat Nov 6 17:37:42 UTC 2021 - Dirk Müller <dmueller@suse.com>
Fri Jul 16 19:47:06 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 1.14.6:
* Revert "grovel: detect :float and :double in the :auto type"
* Revert "grovel: detect :float and :double in the :auto type"
-------------------------------------------------------------------
Fri Feb 12 20:15:07 UTC 2021 - Dirk Müller <dmueller@suse.com>
@ -56,19 +129,19 @@ Fri Feb 12 20:15:07 UTC 2021 - Dirk Müller <dmueller@suse.com>
Sat Dec 19 10:46:36 UTC 2020 - Dirk Müller <dmueller@suse.com>
- update to 1.14.4:
* no upstream changelog provided
* no upstream changelog provided
-------------------------------------------------------------------
Mon Sep 28 11:23:13 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- update to 1.14.3:
* no upstream changelog provided
* no upstream changelog provided
-------------------------------------------------------------------
Thu Aug 20 12:13:23 UTC 2020 - Ondřej Súkup <mimi.vx@gmail.com>
- update to 1.14.2
* CPython 3 on Windows: we again try to compile with Py_LIMITED_API by default
* CPython 3 on Windows: we again try to compile with Py_LIMITED_API by default
-------------------------------------------------------------------
Mon Aug 10 08:10:36 UTC 2020 - Dirk Mueller <dmueller@suse.com>
@ -240,7 +313,7 @@ Fri Nov 3 15:56:32 UTC 2017 - arun@gmx.de
-------------------------------------------------------------------
Wed Oct 4 11:36:56 UTC 2017 - sean.marlow@suse.com
- Update pytest in spec to add c directory tests in addition to
- Update pytest in spec to add c directory tests in addition to
testing directory.
- Omit test_init_once_multithread tests as they rely on multiple
threads finishing in a given time. Returns sporadic pass/fail
@ -301,7 +374,7 @@ Thu Sep 28 15:00:46 UTC 2017 - sean.marlow@suse.com
I just noticed, but pycparser always supported the preprocessor
directive # 42 "foo.h" to mean “from the next line, were in
file foo.h starting from line 42”, which it puts in the error
messages.
messages.
-------------------------------------------------------------------
Thu Jun 29 16:03:46 UTC 2017 - tbechtold@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package python-cffi
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,22 +16,20 @@
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%{?sle15_python_module_pythons}
Name: python-cffi
Version: 1.15.1
Version: 1.17.1
Release: 0
Summary: Foreign Function Interface for Python calling C code
License: MIT
URL: https://cffi.readthedocs.org
Source0: https://files.pythonhosted.org/packages/source/c/cffi/cffi-%{version}.tar.gz
Source1: python-cffi-rpmlintrc
Patch1: https://foss.heptapod.net/pypy/cffi/-/commit/8a3c2c816d789639b49d3ae867213393ed7abdff.patch
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pycparser}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module py}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: pkgconfig
@ -49,18 +47,20 @@ is to provide a convenient and reliable way of calling C code from Python.
%build
export CFLAGS="%{optflags}"
%python_build
%pyproject_wheel
%install
%python_install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%check
%pytest_arch -W ignore::UserWarning c/ testing/
%pytest_arch -W ignore::UserWarning src/c/ testing/
%files %{python_files}
%license LICENSE
%doc README.md doc/source/*.rst doc/misc/*.rst
%{python_sitearch}/*
%{python_sitearch}/cffi
%{python_sitearch}/_cffi_backend.*.so
%{python_sitearch}/cffi-%{version}*-info
%changelog