pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/py-cffi py-cffi: updated to 1.14.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/51f0029e65b6
branches:  trunk
changeset: 424083:51f0029e65b6
user:      adam <adam%pkgsrc.org@localhost>
date:      Wed Mar 04 18:27:28 2020 +0000

description:
py-cffi: updated to 1.14.0

v1.14

ffi.dlopen() can now be called with a handle (as a void *) to an already-opened C library.
CPython only: fixed a stack overflow issue for calls like lib.myfunc([large list]). If the function is declared as taking a float * argument, for example, then the array is temporarily converted into 
a C array of floats?however, the code used to use alloca() for this temporary storage, no matter how large. This is now fixed.

The fix concerns all modes: in-line/out-of-line API/ABI. Also note that your API-mode C extension modules need to be regenerated with cffi 1.14 in order to get the fix; i.e. for API mode, the fix is 
in the generated C sources. (The C sources generated from cffi 1.14 should also work when running in a different environment in which we have an older version of cffi. Also, this change makes no 
difference on PyPy.)

As a workaround that works on all versions of cffi, you can write lib.myfunc(ffi.new("float[]", [large list])), which is equivalent but explicity builds the intermediate array as a regular Python 
object on the heap.
fixed a memory leak inside ffi.getwinerror() on CPython 3.x.

diffstat:

 devel/py-cffi/Makefile |   4 ++--
 devel/py-cffi/distinfo |  10 +++++-----
 2 files changed, 7 insertions(+), 7 deletions(-)

diffs (29 lines):

diff -r 1df2642a3053 -r 51f0029e65b6 devel/py-cffi/Makefile
--- a/devel/py-cffi/Makefile    Wed Mar 04 18:24:55 2020 +0000
+++ b/devel/py-cffi/Makefile    Wed Mar 04 18:27:28 2020 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.41 2019/11/06 17:24:50 adam Exp $
+# $NetBSD: Makefile,v 1.42 2020/03/04 18:27:28 adam Exp $
 
-DISTNAME=      cffi-1.13.2
+DISTNAME=      cffi-1.14.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    devel python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=c/cffi/}
diff -r 1df2642a3053 -r 51f0029e65b6 devel/py-cffi/distinfo
--- a/devel/py-cffi/distinfo    Wed Mar 04 18:24:55 2020 +0000
+++ b/devel/py-cffi/distinfo    Wed Mar 04 18:27:28 2020 +0000
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.36 2019/11/06 17:24:50 adam Exp $
+$NetBSD: distinfo,v 1.37 2020/03/04 18:27:28 adam Exp $
 
-SHA1 (cffi-1.13.2.tar.gz) = ad94c1b64570ec3016a945d4b226d527de81f9b9
-RMD160 (cffi-1.13.2.tar.gz) = 3d91aa9a982c25f76ce2afec0e7f3a89a9846160
-SHA512 (cffi-1.13.2.tar.gz) = 2c57d9c06c39e95498a54408dc39940427190f3c03e1b8f1a3584140db08a5775dd12e6e67b03093429c130af579d01519b0fc868b99ba7a530068ed22d38522
-Size (cffi-1.13.2.tar.gz) = 460243 bytes
+SHA1 (cffi-1.14.0.tar.gz) = 2a8f05a7d51d77ef1e641cb359a54e4d8fa019cb
+RMD160 (cffi-1.14.0.tar.gz) = b1066beff2bfde3a90e2487fea2ab5f4b3186e83
+SHA512 (cffi-1.14.0.tar.gz) = 4c5451eeede1d48a8f4b40e25b845ad1863b8bf3bd39624e6c693c2800d89a13efedc4c43b37e317a035613bffc2e3fd5f7e583c46cb283cb5cb930356f86253
+Size (cffi-1.14.0.tar.gz) = 463065 bytes
 SHA1 (patch-testing_cffi0_test__verify.py) = 91e903aa6aa89f997aba1578cb9452e6ac160f50
 SHA1 (patch-testing_cffi1_test__verify1.py) = 72d564ff8422bc1c8ed8b7058fb95ca669b69529



Home | Main Index | Thread Index | Old Index