Merge pull request #263113 from mweinelt/cffi-1.16.0

python311Packages.cffi: 1.15.1 -> 1.16.0
This commit is contained in:
Martin Weinelt 2023-10-24 16:23:24 +02:00 committed by GitHub
commit 9dab6af966
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 45 deletions

View file

@ -1,7 +1,8 @@
diff -r bac92fcfe4d7 c/_cffi_backend.c
--- a/c/_cffi_backend.c Mon Jul 18 15:58:34 2022 +0200
+++ b/c/_cffi_backend.c Sat Aug 20 12:38:31 2022 -0700
@@ -96,7 +96,7 @@
diff --git a/src/c/_cffi_backend.c b/src/c/_cffi_backend.c
index 537271f..9c3bf94 100644
--- a/src/c/_cffi_backend.c
+++ b/src/c/_cffi_backend.c
@@ -103,7 +103,7 @@
# define CFFI_CHECK_FFI_PREP_CIF_VAR 0
# define CFFI_CHECK_FFI_PREP_CIF_VAR_MAYBE 0
@ -10,7 +11,7 @@ diff -r bac92fcfe4d7 c/_cffi_backend.c
# define CFFI_CHECK_FFI_CLOSURE_ALLOC __builtin_available(macos 10.15, ios 13, watchos 6, tvos 13, *)
# define CFFI_CHECK_FFI_CLOSURE_ALLOC_MAYBE 1
@@ -6413,7 +6413,7 @@
@@ -6422,7 +6422,7 @@ static PyObject *b_callback(PyObject *self, PyObject *args)
else
#endif
{

View file

@ -3,7 +3,7 @@
, buildPythonPackage
, isPyPy
, fetchPypi
, fetchpatch
, setuptools
, pytestCheckHook
, libffi
, pkg-config
@ -13,11 +13,12 @@
if isPyPy then null else buildPythonPackage rec {
pname = "cffi";
version = "1.15.1";
version = "1.16.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-1AC/uaN7E1ElPLQCZxzqfom97MKU6AFqcH9tHYrJNPk=";
hash = "sha256-vLPvQ+WGZbvaL7GYaY/K5ndkg+DEpjGqVkeAbCXgLMA=";
};
patches = [
@ -32,38 +33,12 @@ if isPyPy then null else buildPythonPackage rec {
# deemed safe to trust in cffi.
#
./darwin-use-libffi-closures.diff
(fetchpatch {
# Drop py.code usage from tests, no longer depend on the deprecated py package
url = "https://foss.heptapod.net/pypy/cffi/-/commit/9c7d865e17ec16a847090a3e0d1498b698b99756.patch";
excludes = [
"README.md"
"requirements.txt"
];
hash = "sha256-HSuLLIYXXGGCPccMNLV7o1G3ppn2P0FGCrPjqDv2e7k=";
})
(fetchpatch {
# Replace py.test usage with pytest
url = "https://foss.heptapod.net/pypy/cffi/-/commit/bd02e1b122612baa74a126e428bacebc7889e897.patch";
excludes = [
"README.md"
"requirements.txt"
];
hash = "sha256-+2daRTvxtyrCPimOEAmVbiVm1Bso9hxGbaAbd03E+ws=";
})
] ++ lib.optionals (stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion stdenv.cc) "13") [
# -Wnull-pointer-subtraction is enabled with -Wextra. Suppress it to allow the following tests
# to run and pass when cffi is built with newer versions of clang:
# - testing/cffi1/test_verify1.py::test_enum_usage
# - testing/cffi1/test_verify1.py::test_named_pointer_as_argument
./clang-pointer-substraction-warning.diff
] ++ lib.optionals (pythonAtLeast "3.11") [
# Fix test that failed because python seems to have changed the exception format in the
# final release. This patch should be included in the next version and can be removed when
# it is released.
(fetchpatch {
url = "https://foss.heptapod.net/pypy/cffi/-/commit/8a3c2c816d789639b49d3ae867213393ed7abdff.diff";
hash = "sha256-3wpZeBqN4D8IP+47QDGK7qh/9Z0Ag4lAe+H0R5xCb1E=";
})
];
postPatch = lib.optionalString stdenv.isDarwin ''
@ -74,11 +49,18 @@ if isPyPy then null else buildPythonPackage rec {
--replace '/usr/include/libffi' '${lib.getDev libffi}/include'
'';
buildInputs = [ libffi ];
nativeBuildInputs = [
pkg-config
setuptools
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libffi
];
propagatedBuildInputs = [ pycparser ];
propagatedBuildInputs = [
pycparser
];
# The tests use -Werror but with python3.6 clang detects some unreachable code.
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang
@ -86,18 +68,16 @@ if isPyPy then null else buildPythonPackage rec {
doCheck = !stdenv.hostPlatform.isMusl;
nativeCheckInputs = [ pytestCheckHook ];
disabledTests = lib.optionals stdenv.isDarwin [
# AssertionError: cannot seem to get an int[10] not completely cleared
# https://foss.heptapod.net/pypy/cffi/-/issues/556
"test_ffi_new_allocator_1"
nativeCheckInputs = [
pytestCheckHook
];
meta = with lib; {
maintainers = with maintainers; [ domenkozar lnl7 ];
changelog = "https://github.com/python-cffi/cffi/releases/tag/v${version}";
description = "Foreign Function Interface for Python calling C code";
downloadPage = "https://github.com/python-cffi/cffi";
homepage = "https://cffi.readthedocs.org/";
license = licenses.mit;
description = "Foreign Function Interface for Python calling C code";
maintainers = teams.python.members;
};
}