diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-10-28 22:35:05 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-10-28 22:35:05 +0100 |
commit | 5c0cc325922d72d6e614def2a9b36ee95a46d2c1 (patch) | |
tree | 2734b6847fc660dd18cfcf5f839e14aad0188ad0 /dev-python/cffi | |
parent | 35a2663a10c1124ae2951397ed2a4435dc5808e5 (diff) |
gentoo auto-resync : 28:10:2023 - 22:35:05
Diffstat (limited to 'dev-python/cffi')
-rw-r--r-- | dev-python/cffi/Manifest | 10 | ||||
-rw-r--r-- | dev-python/cffi/cffi-1.15.1-r3.ebuild | 84 | ||||
-rw-r--r-- | dev-python/cffi/cffi-1.16.0.ebuild | 2 | ||||
-rw-r--r-- | dev-python/cffi/cffi-1.16.0_rc2.ebuild | 72 | ||||
-rw-r--r-- | dev-python/cffi/files/cffi-1.15.1-hppa.patch | 59 | ||||
-rw-r--r-- | dev-python/cffi/files/cffi-1.15.1-py312.patch | 247 | ||||
-rw-r--r-- | dev-python/cffi/files/cffi-1.15.1-python3.11-tests.patch | 90 |
7 files changed, 2 insertions, 562 deletions
diff --git a/dev-python/cffi/Manifest b/dev-python/cffi/Manifest index 774da2233df4..8d3ae8f1784d 100644 --- a/dev-python/cffi/Manifest +++ b/dev-python/cffi/Manifest @@ -1,12 +1,4 @@ AUX cffi-1.14.0-darwin-no-brew.patch 568 BLAKE2B 43afdb086a0385e913f287bc5c1534df1b881058cf7efdfdecd9df063c27ebd26683edad43e3010e1c01d9d93c5d98785ffbe65a5e3317d96ebb6a3132aecdab SHA512 75335871b8f98223e0247defc3d08f1c10ebed58c79790826c4e39057e6757b8bdc07e2773ad25482ed17c13480b3e72b3667e48697a456ed0cc4a39e7d91b79 -AUX cffi-1.15.1-hppa.patch 2097 BLAKE2B 2cd3a1b155b71bcb3d70e3659950c45c36959f0c2090fe560d47bf60e53aa8a2df50dc3b713602c589e6bccecdef27230ee6cb800259bf275dbd052beff03da3 SHA512 ba320e8cb56b58066a44162c8a176d167b4a05a760451a0e0821969cd2ad8fff50e54d54ec8f8c4f93ee1a2e3e71467c7c2d6d94c593ec21892e7d03fdf7c50d -AUX cffi-1.15.1-py312.patch 9546 BLAKE2B 877a82b69ff99a523ff1b392b52d1d115643a320558233cb6cd95fefb3b3dfcd0ad4dfa593c4425ad35eeec4fdedc81f5fa2f125748542263ab7933a492fa2f0 SHA512 0f472dcb4c7d51edfa168546ed17b45c68eb113071f20e536afca66ed675df4d7e8558f5912663dfe3ad65d415a9f302576b52f0d19d9399223b58768fff37ae -AUX cffi-1.15.1-python3.11-tests.patch 3023 BLAKE2B e25bd9d22b81187b0eab65073930980a2975eec3086462396cfc4796fd5273edab9af2324884c2e55880825ddd046b7ebc5054adfe57574ee691f0fa2145dcd2 SHA512 4d202f8c943bf33ea359f47aa3e53e007bc3dbeb3320a6efa302b1b1ec309b2dde72f6cfe1a591c594f3321ed5c65d61e9f79a03ba3107cd7008699686719497 -DIST cffi-1.15.1-drop-deprecated-py.patch.xz 31244 BLAKE2B 7c8a6ca1166335fbd385de35ebb636f21049a4dd9c52171ec58da08a61dc64c271b4afa2d69bf8b877a8c9747dfae6a8529615bbed69f5a8ab30ba5fc99c61f4 SHA512 9aba4b172b070a1a1719de2c35667abe4c7b27208b8ca3ecbf90bf168ed694f4524154e69fada5ff6f141a94b8a438db16239ba353fa9914b318b77e41dfd920 -DIST cffi-1.15.1.tar.gz 508501 BLAKE2B accc317385d9af7dbed3397afde63fbab63bfc935376d951802055c63796863ed102a940f192789924480b9b16751c8cf3d21caf9b262c479c61ffc977aac83c SHA512 e99cafcb029076abc29e435b490fa0573ee2856f4051b7ca8a5b38cd125d56dd9dae8b189f59ceb3d728a675da8ee83239e09e19f8b0feeddea4b186ab5173a5 DIST cffi-1.16.0.tar.gz 512873 BLAKE2B 9e8d107b3124a072e559c4a536b54a172e90f9fe51d8184dacc2914a8ffa84f2682eee9c90401325dfb0f36f3f8ea0456afc93e2b85a4fef5f07ae4475e0a76b SHA512 fd2588115092202aa9289c9d4e0a0b3e264b5e9ec1dc192950f31aeb412fd9f9d4e5c96a3f9c6762987b58ccc1e229f2012ddda89211797104df672d8ed51152 -DIST cffi-1.16.0rc2.tar.gz 512927 BLAKE2B 5bb3f9728971a113d0c939bf4127bf541eaed3730486e9b4ba57432fa8c626d7688166f431db090a1248c2d3ddeaeee18fdf940dc08d7a4d3b7fda18d2d99861 SHA512 39d0a13a1f05b8f7f2d697e2324396f34588eabf226f6de5bf50a4931671827148ed25cb2f8003d0d3f4882580d71e6e1f485a63b964dd85e17c9e8b268213e6 -EBUILD cffi-1.15.1-r3.ebuild 2132 BLAKE2B 702a49e286d5d7ff6f2dc8a7791482ec3adad7b28018c33b4194521ee9f755dff5a152c9d8b8d03dc7bc6e7df86a9146af21c13cb01efeb101bb6239ab61ba79 SHA512 591922229d5babcd4710cd7f7a97d6788e6000a6b7be51a347dec4ea807f58b70f5c4ae5a934e41b7d35684e63d21853c0663195ce85dc6104f8ea7f647c4b56 -EBUILD cffi-1.16.0.ebuild 1739 BLAKE2B 8c3c08cf4fb2df7de7007ba3d7f43110ab4075bdda015fb354c0ea89698f413f4d1d393a362863d5deafebe387461367e601dcf10cb49a3a0ed61047e19429f6 SHA512 1b8db258cc48752cec074de34dc6a33160b1e271f9c38cef4733f161ddc3cc3ccee3257d1de3da413920216ba0eae320969ba5f24686d87634487ac08f18d0fa -EBUILD cffi-1.16.0_rc2.ebuild 1746 BLAKE2B 2bbca063c022adcddd61da7ed5f654c15092a2d0b28c84711d2fa93a08ebb127911dc8701ba8766eed189b59341881525640e03d81ba8c00aee327ae4f82f8a6 SHA512 84773c8764bec9b3fef2a6ac0f41576e00f07e2491be762904d16219a20c92ab09121682c2d1a97fcb650abf9b18d5e95cdccc98e9858ccc4d388fa0883ee356 +EBUILD cffi-1.16.0.ebuild 1738 BLAKE2B 403b4dc5bb47dec2abbc30c21a894685c329214fa943bc7fab68260d2ab921cf5bd1a16832bae8e244124ad8d8af34d0f94fdadde981a514a862905c1fccb1c3 SHA512 3bb914dae82263f729baa2e0bb50ebd14697c6efe52404328c969301be9a83ab659df460aac5764ad9035fcb24bfc10d5bf4fde714597ee57d359c246d63cda1 MISC metadata.xml 376 BLAKE2B 869698c9756447929b5607d37c334442d76fef960c109ebe3b807de5019339de4ce19009d70b2eba506ee2608db9454c277cfb07ea025a39be6ea65b2ed93f74 SHA512 84c109a295e6f272c03107b69431f213dff9042a7e5c784dc725728aeb3a60dbf9c860551aae6260e5fc2dadeaa6eb27488186abe1d108bb21145d736de7e5b6 diff --git a/dev-python/cffi/cffi-1.15.1-r3.ebuild b/dev-python/cffi/cffi-1.15.1-r3.ebuild deleted file mode 100644 index 84db58f7f227..000000000000 --- a/dev-python/cffi/cffi-1.15.1-r3.ebuild +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# please keep this ebuild at EAPI 8 -- sys-apps/portage dep -EAPI=8 - -# py3.12 support is experimental, expect problems in revdeps -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -# DO NOT ADD pypy to PYTHON_COMPAT -# pypy bundles a modified version of cffi. Use python_gen_cond_dep instead. -PYTHON_COMPAT=( python3_{10..12} ) - -inherit distutils-r1 toolchain-funcs pypi - -DESCRIPTION="Foreign Function Interface for Python calling C code" -HOMEPAGE=" - https://cffi.readthedocs.io/ - https://pypi.org/project/cffi/ -" -SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-drop-deprecated-py.patch.xz" - -LICENSE="MIT" -SLOT="0/${PV}" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - -# Needs recent libffi for HPPA fixes -DEPEND=" - >=dev-libs/libffi-3.4.4-r1:= -" -# setuptools as a modern distutils provider -RDEPEND=" - ${DEPEND} - dev-python/pycparser[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] -" -BDEPEND=" - ${RDEPEND} - virtual/pkgconfig - test? ( - dev-python/py[${PYTHON_USEDEP}] - ) -" - -distutils_enable_sphinx doc/source -distutils_enable_tests pytest - -PATCHES=( - "${FILESDIR}"/cffi-1.14.0-darwin-no-brew.patch - "${FILESDIR}"/${P}-hppa.patch - "${FILESDIR}"/${P}-python3.11-tests.patch - "${WORKDIR}"/${P}-drop-deprecated-py.patch - "${FILESDIR}"/${P}-py312.patch -) - -src_prepare() { - if [[ ${CHOST} == *darwin* ]] ; then - # Don't obsessively try to find libffi - sed -i -e "s/.*\-iwithsysroot\/usr\/include\/ffi.*/\tpass/" setup.py || die - fi - distutils-r1_src_prepare -} - -src_configure() { - tc-export PKG_CONFIG -} - -python_test() { - local EPYTEST_IGNORE=( - # these tests call pip - testing/cffi0/test_zintegration.py - ) - local EPYTEST_DESELECT=() - if [[ ${EPYTHON} == python3.12 ]]; then - EPYTEST_DESELECT+=( - # TODO: these tests hang - testing/embedding - ) - fi - - "${EPYTHON}" -c "import _cffi_backend as backend" || die - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest c testing -} diff --git a/dev-python/cffi/cffi-1.16.0.ebuild b/dev-python/cffi/cffi-1.16.0.ebuild index b830f7bb63a1..a44630dcd7d5 100644 --- a/dev-python/cffi/cffi-1.16.0.ebuild +++ b/dev-python/cffi/cffi-1.16.0.ebuild @@ -21,7 +21,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0/${PV}" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" # Needs recent libffi for HPPA fixes DEPEND=" diff --git a/dev-python/cffi/cffi-1.16.0_rc2.ebuild b/dev-python/cffi/cffi-1.16.0_rc2.ebuild deleted file mode 100644 index 8269ab390919..000000000000 --- a/dev-python/cffi/cffi-1.16.0_rc2.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# please keep this ebuild at EAPI 8 -- sys-apps/portage dep -EAPI=8 - -# py3.12 support is experimental, expect problems in revdeps -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -# DO NOT ADD pypy to PYTHON_COMPAT -# pypy bundles a modified version of cffi. Use python_gen_cond_dep instead. -PYTHON_COMPAT=( python3_{10..12} ) - -inherit distutils-r1 toolchain-funcs pypi - -DESCRIPTION="Foreign Function Interface for Python calling C code" -HOMEPAGE=" - https://cffi.readthedocs.io/ - https://pypi.org/project/cffi/ -" - -LICENSE="MIT" -SLOT="0/${PV}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - -# Needs recent libffi for HPPA fixes -DEPEND=" - >=dev-libs/libffi-3.4.4-r1:= -" -# setuptools as a modern distutils provider -RDEPEND=" - ${DEPEND} - dev-python/pycparser[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] -" -BDEPEND=" - ${RDEPEND} - virtual/pkgconfig - test? ( - dev-python/py[${PYTHON_USEDEP}] - ) -" - -distutils_enable_sphinx doc/source -distutils_enable_tests pytest - -PATCHES=( - "${FILESDIR}"/cffi-1.14.0-darwin-no-brew.patch -) - -src_prepare() { - if [[ ${CHOST} == *darwin* ]] ; then - # Don't obsessively try to find libffi - sed -i -e "s/.*\-iwithsysroot\/usr\/include\/ffi.*/\tpass/" setup.py || die - fi - distutils-r1_src_prepare -} - -src_configure() { - tc-export PKG_CONFIG -} - -python_test() { - local EPYTEST_IGNORE=( - # these tests call pip - testing/cffi0/test_zintegration.py - ) - - "${EPYTHON}" -c "import _cffi_backend as backend" || die - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest src/c testing -} 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 |