summaryrefslogtreecommitdiff
path: root/dev-python/cffi/files
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/cffi/files')
-rw-r--r--dev-python/cffi/files/cffi-1.15.1-hppa.patch59
-rw-r--r--dev-python/cffi/files/cffi-1.15.1-py312.patch247
-rw-r--r--dev-python/cffi/files/cffi-1.15.1-python3.11-tests.patch90
3 files changed, 0 insertions, 396 deletions
diff --git a/dev-python/cffi/files/cffi-1.15.1-hppa.patch b/dev-python/cffi/files/cffi-1.15.1-hppa.patch
deleted file mode 100644
index e185e7b93929..000000000000
--- a/dev-python/cffi/files/cffi-1.15.1-hppa.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-https://foss.heptapod.net/pypy/cffi/-/commit/ab11bfa551697cd2b61fdaa571c7975c06e6912c
-
-From ab11bfa551697cd2b61fdaa571c7975c06e6912c Mon Sep 17 00:00:00 2001
-From: John David Anglin <dave.anglin@bell.net>
-Date: Sun, 18 Dec 2022 14:52:04 -0500
-Subject: [PATCH] Fix the test failures on hppa
-
-A couple of years ago the libffi port for hppa-linux was changed from using a
-trampoline executed on the stack to the function descriptor technique used by
-ia64. This doesn't require an executable stack and is simpler. However,
-function pointers need to have the PLABEL bit set in the pointer. As a result,
-a simple cast can't be used to convert closure pointers to function pointers.
-
-python-cffi uses its own closure allocation so the problem can't be fixed in
-libffi.
-
-I added a macro CFFI_FN to do the conversion. It shouldn't affect other
-architectures. There is a similar define in libffi.
-
-Fixes: https://bugs.debian.org/1024271
-
---HG--
-branch : hppa
---- a/c/_cffi_backend.c
-+++ b/c/_cffi_backend.c
-@@ -60,6 +60,13 @@
- # endif
- #endif
-
-+/* Convert from closure pointer to function pointer. */
-+#if defined(__hppa__) && !defined(__LP64__)
-+#define CFFI_FN(f) ((void (*)(void))((unsigned int)(f) | 2))
-+#else
-+#define CFFI_FN(f) ((void (*)(void))f)
-+#endif
-+
-
- /* Define the following macro ONLY if you trust libffi's version of
- * ffi_closure_alloc() more than the code in malloc_closure.h.
-@@ -3191,7 +3198,7 @@ cdata_call(CDataObject *cd, PyObject *args, PyObject *kwds)
-
- Py_BEGIN_ALLOW_THREADS
- restore_errno();
-- ffi_call(&cif_descr->cif, (void (*)(void))(cd->c_data),
-+ ffi_call(&cif_descr->cif, (void (*)(void)) CFFI_FN(cd->c_data),
- resultdata, buffer_array);
- save_errno();
- Py_END_ALLOW_THREADS
-@@ -6394,7 +6401,7 @@ static PyObject *b_callback(PyObject *self, PyObject *args)
- goto error;
- Py_INCREF(ct);
- cd->head.c_type = ct;
-- cd->head.c_data = (char *)closure_exec;
-+ cd->head.c_data = (char *)CFFI_FN(closure_exec);
- cd->head.c_weakreflist = NULL;
- closure->user_data = NULL;
- cd->closure = closure;
---
-GitLab
diff --git a/dev-python/cffi/files/cffi-1.15.1-py312.patch b/dev-python/cffi/files/cffi-1.15.1-py312.patch
deleted file mode 100644
index a5477d686dd7..000000000000
--- a/dev-python/cffi/files/cffi-1.15.1-py312.patch
+++ /dev/null
@@ -1,247 +0,0 @@
-diff -r 79b97f01064f cffi/vengine_cpy.py
---- a/cffi/vengine_cpy.py Thu Feb 23 05:42:01 2023 +0100
-+++ b/cffi/vengine_cpy.py Sat May 27 11:03:01 2023 +0200
-@@ -1,10 +1,16 @@
- #
- # DEPRECATED: implementation for ffi.verify()
- #
--import sys, imp
-+import sys
- from . import model
- from .error import VerificationError
-
-+if sys.version_info >= (3, 12):
-+ import importlib.machinery
-+ import importlib.util
-+else:
-+ import imp
-+
-
- class VCPythonEngine(object):
- _class_key = 'x'
-@@ -20,16 +26,22 @@
- pass
-
- def find_module(self, module_name, path, so_suffixes):
-- try:
-- f, filename, descr = imp.find_module(module_name, path)
-- except ImportError:
-- return None
-- if f is not None:
-- f.close()
-+ if sys.version_info >= (3, 12):
-+ spec = importlib.machinery.PathFinder.find_spec(module_name, path)
-+ if spec is None:
-+ return None
-+ filename = spec.origin
-+ else:
-+ try:
-+ f, filename, descr = imp.find_module(module_name, path)
-+ except ImportError:
-+ return None
-+ if f is not None:
-+ f.close()
- # Note that after a setuptools installation, there are both .py
- # and .so files with the same basename. The code here relies on
- # imp.find_module() locating the .so in priority.
-- if descr[0] not in so_suffixes:
-+ if not filename.endswith(tuple(so_suffixes)):
- return None
- return filename
-
-@@ -145,15 +157,23 @@
- def load_library(self, flags=None):
- # XXX review all usages of 'self' here!
- # import it as a new extension module
-- imp.acquire_lock()
-+ if sys.version_info < (3, 12):
-+ imp.acquire_lock()
- try:
- if hasattr(sys, "getdlopenflags"):
- previous_flags = sys.getdlopenflags()
- try:
- if hasattr(sys, "setdlopenflags") and flags is not None:
- sys.setdlopenflags(flags)
-- module = imp.load_dynamic(self.verifier.get_module_name(),
-- self.verifier.modulefilename)
-+ if sys.version_info >= (3, 12):
-+ spec = importlib.util.spec_from_file_location(
-+ self.verifier.get_module_name(),
-+ self.verifier.modulefilename)
-+ module = importlib.util.module_from_spec(spec)
-+ spec.loader.exec_module(module)
-+ else:
-+ module = imp.load_dynamic(self.verifier.get_module_name(),
-+ self.verifier.modulefilename)
- except ImportError as e:
- error = "importing %r: %s" % (self.verifier.modulefilename, e)
- raise VerificationError(error)
-@@ -161,7 +181,8 @@
- if hasattr(sys, "setdlopenflags"):
- sys.setdlopenflags(previous_flags)
- finally:
-- imp.release_lock()
-+ if sys.version_info < (3, 12):
-+ imp.release_lock()
- #
- # call loading_cpy_struct() to get the struct layout inferred by
- # the C compiler
-diff -r 79b97f01064f testing/cffi0/test_verify.py
---- a/testing/cffi0/test_verify.py Thu Feb 23 05:42:01 2023 +0100
-+++ b/testing/cffi0/test_verify.py Sat May 27 11:03:01 2023 +0200
-@@ -1575,10 +1575,16 @@
- def test_callback_in_thread():
- if sys.platform == 'win32':
- pytest.skip("pthread only")
-- import os, subprocess, imp
-+ import os, subprocess
- arg = os.path.join(os.path.dirname(__file__), 'callback_in_thread.py')
-- g = subprocess.Popen([sys.executable, arg,
-- os.path.dirname(imp.find_module('cffi')[1])])
-+ if sys.version_info >= (3, 12):
-+ import importlib.util
-+ spec = importlib.util.find_spec('cffi')
-+ cffi_path = os.path.dirname(spec.origin)
-+ else:
-+ import imp
-+ cffi_path = imp.find_module('cffi')[1]
-+ g = subprocess.Popen([sys.executable, arg, os.path.dirname(cffi_path)])
- result = g.wait()
- assert result == 0
-
-diff -r 79b97f01064f testing/cffi0/test_zdistutils.py
---- a/testing/cffi0/test_zdistutils.py Thu Feb 23 05:42:01 2023 +0100
-+++ b/testing/cffi0/test_zdistutils.py Sat May 27 11:03:01 2023 +0200
-@@ -1,8 +1,9 @@
--import sys, os, imp, math, shutil
-+import sys, os, math, shutil
- import pytest
- from cffi import FFI, FFIError
- from cffi.verifier import Verifier, _locate_engine_class, _get_so_suffixes
- from cffi.ffiplatform import maybe_relative_path
-+from testing.support import load_dynamic
- from testing.udir import udir
-
-
-@@ -80,7 +81,7 @@
- v.compile_module()
- assert v.get_module_name().startswith('_cffi_')
- if v.generates_python_module():
-- mod = imp.load_dynamic(v.get_module_name(), v.modulefilename)
-+ mod = load_dynamic(v.get_module_name(), v.modulefilename)
- assert hasattr(mod, '_cffi_setup')
-
- def test_compile_module_explicit_filename(self):
-@@ -95,7 +96,7 @@
- assert filename == v.modulefilename
- assert v.get_module_name() == basename
- if v.generates_python_module():
-- mod = imp.load_dynamic(v.get_module_name(), v.modulefilename)
-+ mod = load_dynamic(v.get_module_name(), v.modulefilename)
- assert hasattr(mod, '_cffi_setup')
-
- def test_name_from_checksum_of_cdef(self):
-diff -r 79b97f01064f testing/cffi1/test_new_ffi_1.py
---- a/testing/cffi1/test_new_ffi_1.py Thu Feb 23 05:42:01 2023 +0100
-+++ b/testing/cffi1/test_new_ffi_1.py Sat May 27 11:03:01 2023 +0200
-@@ -1,5 +1,5 @@
- import pytest
--import platform, imp
-+import platform
- import sys, os, ctypes
- import cffi
- from testing.udir import udir
-@@ -91,7 +91,7 @@
-
- outputfilename = recompile(ffi1, "test_new_ffi_1", CCODE,
- tmpdir=str(udir))
-- module = imp.load_dynamic("test_new_ffi_1", outputfilename)
-+ module = load_dynamic("test_new_ffi_1", outputfilename)
- ffi = module.ffi
- construction_params = (ffi1, CCODE)
-
-@@ -1619,8 +1619,8 @@
- ffi2 = cffi.FFI(); ffi2.cdef(CDEF2)
- outputfilename = recompile(ffi2, "test_multiple_independent_structs",
- CDEF2, tmpdir=str(udir))
-- module = imp.load_dynamic("test_multiple_independent_structs",
-- outputfilename)
-+ module = load_dynamic("test_multiple_independent_structs",
-+ outputfilename)
- ffi1 = module.ffi
- foo1 = ffi1.new("struct ab *", [10])
- foo2 = ffi .new("struct ab *", [20, 30])
-@@ -1635,8 +1635,8 @@
- outputfilename = recompile(ffi2,
- "test_include_struct_union_enum_typedef",
- CCODE, tmpdir=str(udir))
-- module = imp.load_dynamic("test_include_struct_union_enum_typedef",
-- outputfilename)
-+ module = load_dynamic("test_include_struct_union_enum_typedef",
-+ outputfilename)
- ffi2 = module.ffi
- #
- p = ffi2.new("struct nonpacked *", [b'A', -43141])
-@@ -1783,7 +1783,7 @@
- "int myfunc(int x) { return x + 1; }\n"
- "int myvar = -5;\n"
- "#define MYFOO 42", tmpdir=str(udir))
-- imp.load_dynamic("_test_import_from_lib", outputfilename)
-+ load_dynamic("_test_import_from_lib", outputfilename)
- from _test_import_from_lib.lib import myfunc, myvar, MYFOO
- assert MYFOO == 42
- assert myfunc(43) == 44
-diff -r 79b97f01064f testing/support.py
---- a/testing/support.py Thu Feb 23 05:42:01 2023 +0100
-+++ b/testing/support.py Sat May 27 11:03:01 2023 +0200
-@@ -1,5 +1,11 @@
- import sys, os
-
-+if sys.version_info >= (3, 12):
-+ import importlib.util
-+else:
-+ import imp
-+
-+
- if sys.version_info < (3,):
- __all__ = ['u', 'arraytostring']
-
-@@ -16,7 +22,7 @@
- return a.tostring()
-
- else:
-- __all__ = ['u', 'unicode', 'long', 'arraytostring']
-+ __all__ = ['u', 'unicode', 'long', 'arraytostring', 'load_dynamic']
- u = ""
- unicode = str
- long = int
-@@ -71,15 +77,27 @@
- def getvalue(self):
- return self._value
-
-+
-+def load_dynamic(module_name, outputfilename):
-+ if sys.version_info >= (3, 12):
-+ import importlib.util
-+ spec = importlib.util.spec_from_file_location(module_name,
-+ outputfilename)
-+ module = importlib.util.module_from_spec(spec)
-+ spec.loader.exec_module(module)
-+ return module
-+ else:
-+ return imp.load_dynamic(module_name, outputfilename)
-+
-+
- def _verify(ffi, module_name, preamble, *args, **kwds):
-- import imp
- from cffi.recompiler import recompile
- from .udir import udir
- assert module_name not in sys.modules, "module name conflict: %r" % (
- module_name,)
- kwds.setdefault('tmpdir', str(udir))
- outputfilename = recompile(ffi, module_name, preamble, *args, **kwds)
-- module = imp.load_dynamic(module_name, outputfilename)
-+ module = load_dynamic(module_name, outputfilename)
- #
- # hack hack hack: copy all *bound methods* from module.ffi back to the
- # ffi instance. Then calls like ffi.new() will invoke module.ffi.new().
diff --git a/dev-python/cffi/files/cffi-1.15.1-python3.11-tests.patch b/dev-python/cffi/files/cffi-1.15.1-python3.11-tests.patch
deleted file mode 100644
index e3be1c247877..000000000000
--- a/dev-python/cffi/files/cffi-1.15.1-python3.11-tests.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-https://foss.heptapod.net/pypy/cffi/-/commit/8a3c2c816d789639b49d3ae867213393ed7abdff
-
-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
---- 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