Subject: CVS commit: pkgsrc/devel/py-cffi
From: Adam Ciarcinski
Date: 2019-02-17 00:37:23
Message id: 20190216233724.04DC9FB16@cvs.NetBSD.org

Log Message:
py-cffi: updated to 1.12.1

v1.12.1
CPython 3 on Windows: we again no longer compile with Py_LIMITED_API by default \ 
because such modules still cannot be used with virtualenv. The problem is that \ 
it doesn’t work in CPython <= 3.4, and for technical reason we can’t \ 
enable this flag automatically based on the version of Python.

Like before, Issue 350 mentions a workaround if you still want the \ 
Py_LIMITED_API flag and either you are not concerned about virtualenv or you are \ 
sure your module will not be used on CPython <= 3.4: pass \ 
define_macros=[("Py_LIMITED_API", None)] to the \ 
ffibuilder.set_source() call.

v1.12
Direct support for pkg-config.
ffi.from_buffer() takes a new optional first argument that gives the array type \ 
of the result. It also takes an optional keyword argument require_writable to \ 
refuse read-only Python buffers.
ffi.new(), ffi.gc() or ffi.from_buffer() cdata objects can now be released at \ 
known times, either by using the with keyword or by calling the new \ 
ffi.release().
Windows, CPython 3.x: cffi modules are linked with python3.dll again. This makes \ 
them independant on the exact CPython version, like they are on other platforms. \ 
It requires virtualenv 16.0.0.
Accept an expression like ffi.new("int[4]", p) if p is itself another \ 
cdata int[4].
CPython 2.x: ffi.dlopen() failed with non-ascii file names on Posix
CPython: if a thread is started from C and then runs Python code (with callbacks \ 
or with the embedding solution), then previous versions of cffi would contain \ 
possible crashes and/or memory leaks. Hopefully, this has been fixed.
Support for ffi.cdef(..., pack=N) where N is a power of two. Means to emulate \ 
#pragma pack(N) on MSVC. Also, the default on Windows is now pack=8, like on \ 
MSVC. This might make a difference in corner cases, although I can’t think of \ 
one in the context of CFFI. The old way ffi.cdef(..., packed=True) remains and \ 
is equivalent to pack=1 (saying e.g. that fields like int should be aligned to 1 \ 
byte instead of 4).

Files:
RevisionActionfile
1.35modifypkgsrc/devel/py-cffi/Makefile
1.8modifypkgsrc/devel/py-cffi/PLIST
1.31modifypkgsrc/devel/py-cffi/distinfo