File python3-cffi.changes of Package python3-cffi
-------------------------------------------------------------------
Sun May 8 06:59:05 UTC 2016 - arun@gmx.de
- specfile:
* changed to https for source url
* updated source url to files.pythonhosted.org
-------------------------------------------------------------------
Sat Apr 23 16:14:54 UTC 2016 - arun@gmx.de
- update to version 1.6.0:
* ffi.list_types()
* ffi.unpack()
* extern “Python+C”
* in API mode, lib.foo.__doc__ contains the C signature now. On
CPython you can say help(lib.foo), but for some reason help(lib)
(or help(lib.foo) on PyPy) is still useless; I haven’t yet figured
out the hacks needed to convince pydoc to show more. (You can use
dir(lib) but it is not most helpful.)
* Yet another attempt at robustness of ffi.def_extern() against
CPython’s interpreter shutdown logic.
- changes from version 1.5.2:
* Fix 1.5.1 for Python 2.6.
-------------------------------------------------------------------
Sun Feb 14 02:03:18 UTC 2016 - arun@gmx.de
- update to version 1.5.2:
* Fix 1.5.1 for Python 2.6.
- changes from version 1.5.1:
* A few installation-time tweaks (thanks Stefano!)
* Issue #245: Win32: __stdcall was never generated for extern
"Python" functions
* Issue #246: trying to be more robust against CPython’s fragile
interpreter shutdown logic
-------------------------------------------------------------------
Sun Jan 17 20:48:16 UTC 2016 - arun@gmx.de
- specfile:
* update copyright year
- update to version 1.5.0:
* Support for using CFFI for embedding.
-------------------------------------------------------------------
Wed Dec 30 18:36:16 UTC 2015 - arun@gmx.de
- update to version 1.4.2:
* Nothing changed from v1.4.1.
- changes from version 1.4.1:
* Fix the compilation failure of cffi on CPython 3.5.0. (3.5.1
works; some detail changed that makes some underscore-starting
macros disappear from view of extension modules, and I worked
around it, thinking it changed in all 3.5 versions—but no: it was
only in 3.5.1.)
- changes from version 1.4.0:
* A better way to do callbacks has been added (faster and more
portable, and usually cleaner). It is a mechanism for the
out-of-line API mode that replaces the dynamic creation of
callback objects (i.e. C functions that invoke Python) with the
static declaration in cdef() of which callbacks are needed. This
is more C-like, in that you have to structure your code around the
idea that you get a fixed number of function pointers, instead of
creating them on-the-fly.
* ffi.compile() now takes an optional verbose argument. When True,
distutils prints the calls to the compiler.
* ffi.compile() used to fail if given sources with a path that
includes "..". Fixed.
* ffi.init_once() added. See docs.
* dir(lib) now works on libs returned by ffi.dlopen() too.
* Cleaned up and modernized the content of the demo subdirectory in
the sources (thanks matti!).
* ffi.new_handle() is now guaranteed to return unique void * values,
even if called twice on the same object. Previously, in that case,
CPython would return two cdata objects with the same void *
value. This change is useful to add and remove handles from a
global dict (or set) without worrying about duplicates. It already
used to work like that on PyPy. This change can break code that
used to work on CPython by relying on the object to be kept alive
by other means than keeping the result of ffi.new_handle()
alive. (The corresponding warning in the docs of ffi.new_handle()
has been here since v0.8!)
-------------------------------------------------------------------
Sun Nov 22 00:47:16 UTC 2015 - arun@gmx.de
- update to version 1.3.1:
* The optional typedefs (bool, FILE and all Windows types) were not
always available from out-of-line FFI objects.
* Opaque enums are phased out from the cdefs: they now give a
warning, instead of (possibly wrongly) being assumed equal to
unsigned int. Please report if you get a reasonable use case for
them.
* Some parsing details, notably volatile is passed along like const
and restrict. Also, older versions of pycparser mis-parse some
pointer-to-pointer types like char * const *: the “const” ends up
at the wrong place. Added a workaround.
-------------------------------------------------------------------
Sun Nov 1 19:29:10 UTC 2015 - arun@gmx.de
- update to version 1.3.0:
* Added ffi.memmove().
* Pull request #64: out-of-line API mode: we can now declare
floating-point types with typedef float... foo_t;. This only works
if foo_t is a float or a double, not long double.
* Issue #217: fix possible unaligned pointer manipulation, which
crashes on some architectures (64-bit, non-x86).
* Issues #64 and #126: when using set_source() or verify(), the
const and restrict keywords are copied from the cdef to the
generated C code; this fixes warnings by the C compiler. It also
fixes corner cases like typedef const int T; T a; which would
previously not consider a as a constant. (The cdata objects
themselves are never const.)
* Win32: support for __stdcall. For callbacks and function pointers;
regular C functions still don’t need to have their calling
convention declared.
* Windows: CPython 2.7 distutils doesn’t work with Microsoft’s
official Visual Studio for Python, and I’m told this is not a
bug. For ffi.compile(), we removed a workaround that was inside
cffi but which had unwanted side-effects. Try saying import
setuptools first, which patches distutils...
- changes from version 1.2.1:
* Nothing changed from v1.2.0.
- changes from version 1.2.0:
* Out-of-line mode: int a[][...]; can be used to declare a structure
field or global variable which is, simultaneously, of total length
unknown to the C compiler (the a[] part) and each element is
itself an array of N integers, where the value of N is known to
the C compiler (the int and [...] parts around it). Similarly, int
a[5][...]; is supported (but probably less useful: remember that
in C it means int (a[5])[...];).
* PyPy: the lib.some_function objects were missing the attributes
__name__, __module__ and __doc__ that are expected e.g. by some
decorators-management functions from functools.
* Out-of-line API mode: you can now do from _example.lib import x to
import the name x from _example.lib, even though the lib object is
not a standard module object. (Also works in from _example.lib
import *, but this is even more of a hack and will fail if lib
happens to declare a name called __all__. Note that * excludes the
global variables; only the functions and constants make sense to
import like this.)
* lib.__dict__ works again and gives you a copy of the dict—assuming
that lib has got no symbol called precisely __dict__. (In general,
it is safer to use dir(lib).)
* Out-of-line API mode: global variables are now fetched on demand
at every access. It fixes issue #212 (Windows DLL variables), and
also allows variables that are defined as dynamic macros (like
errno) or __thread -local variables. (This change might also
tighten the C compiler’s check on the variables’ type.)
* Issue #209: dereferencing NULL pointers now raises RuntimeError
instead of segfaulting. Meant as a debugging aid. The check is
only for NULL: if you dereference random or dead pointers you
might still get segfaults.
* Issue #152: callbacks: added an argument ffi.callback(...,
onerror=...). If the main callback function raises an exception
and onerror is provided, then onerror(exception, exc_value,
traceback) is called. This is similar to writing a try: except: in
the main callback function, but in some cases (e.g. a signal) an
exception can occur at the very start of the callback
function—before it had time to enter the try: except: block.
* Issue #115: added ffi.new_allocator(), which officializes support
for alternative allocators.
-------------------------------------------------------------------
Mon Jun 15 02:13:07 UTC 2015 - arun@gmx.de
- update to version 1.1.2:
* ffi.gc(): fixed a race condition in multithreaded programs
introduced in 1.1.1
- changes from version 1.1.1:
* Out-of-line mode: ffi.string(), ffi.buffer() and ffi.getwinerror()
didn't accept their arguments as keyword arguments, unlike their
in-line mode equivalent. (It worked in PyPy.)
* Out-of-line ABI mode: documented a restriction of ffi.dlopen()
when compared to the in-line mode.
* ffi.gc(): when called several times with equal pointers, it was
accidentally registering only the last destructor, or even none at
all depending on details. (It was correctly registering all of
them only in PyPy, and only with the out-of-line FFIs.)
-------------------------------------------------------------------
Sun May 31 16:34:10 UTC 2015 - arun@gmx.de
- update to version 1.1.0:
* Out-of-line API mode: we can now declare integer types with
typedef int... foo_t;. The exact size and signness of foo_t is
figured out by the compiler.
* Out-of-line API mode: we can now declare multidimensional arrays
(as fields or as globals) with int n[...][...]. Before, only the
outermost dimension would support the ... syntax.
* Out-of-line ABI mode: we now support any constant declaration,
instead of only integers whose value is given in the cdef. Such
“new” constants, i.e. either non-integers or without a value given
in the cdef, must correspond to actual symbols in the lib. At
runtime they are looked up the first time we access them. This is
useful if the library defines extern const sometype somename;.
* ffi.addressof(lib, "func_name") now returns a regular cdata object
of type “pointer to function”. You can use it on any function from
a library in API mode (in ABI mode, all functions are already
regular cdata objects). To support this, you need to recompile
your cffi modules.
* Issue #198: in API mode, if you declare constants of a struct
type, what you saw from lib.CONSTANT was corrupted.
* Issue #196: ffi.set_source("package._ffi", None) would incorrectly
generate the Python source to package._ffi.py instead of
package/_ffi.py. Also fixed: in some cases, if the C file was in
build/foo.c, the .o file would be put in build/build/foo.o.
-------------------------------------------------------------------
Sat May 30 03:24:13 UTC 2015 - arun@gmx.de
- specfile:
* tests need c++ compiler
- update to version 1.0.3:
* Same as 1.0.2, apart from doc and test fixes on some platforms.
- changes from version 1.0.2:
* Variadic C functions (ending in a ”...” argument) were not
supported in the out-of-line ABI mode. This was a bug—there was
even a (non-working) example doing exactly that!
- changes from version 1.0.1:
* ffi.set_source() crashed if passed a sources=[..] argument. Fixed
by chrippa on pull request #60.
* Issue #193: if we use a struct between the first cdef() where it
is declared and another cdef() where its fields are defined, then
this definition was ignored.
* Enums were buggy if you used too many ”...” in their definition.
- changes from version 1.0.0:
* The main news item is out-of-line module generation:
+ for ABI level, with ffi.dlopen()
+ for API level, which used to be with ffi.verify(), now deprecated
-------------------------------------------------------------------
Sat Mar 14 01:12:49 UTC 2015 - arun@gmx.de
- update to version 0.9.2:
* skip zintegration on win32, adjust zdistutils for setuptools
* Test and fix for from_buffer() receiving read-only buffer objects
* Py3 syntax
-------------------------------------------------------------------
Sun Mar 8 17:29:09 UTC 2015 - arun@gmx.de
- update to version 0.9.1:
* Add the MD5/SHA
* gcc complains if given the obscure flag
"-Werror=declaration-after-statement"
-------------------------------------------------------------------
Tue Mar 3 16:49:29 UTC 2015 - arun@gmx.de
- specfile:
* update copyright year
* run test via py.test -c x testing
- update to version 0.9.0:
* the types TBYTE TCHAR LPCTSTR PCTSTR LPTSTR PTSTR PTBYTE PTCHAR
are no longer automatically defined; see ffi.set_unicode() below.
* the other standard integer types from stdint.h, as long as they
map to integers of 1, 2, 4 or 8 bytes. Larger integers are not
supported.
* You can give C++ source code in ffi.verify()
* The optional flags argument has been added, see man dlopen
(ignored on Windows). It defaults to ffi.RTLD_NOW.
* The optional relative_to argument is useful if you need to list
local files passed to the C compiler
* You can give several field names in case of nested structures.
* You can give several field names in case of nested structures, and
you can give numeric values for array items.
-------------------------------------------------------------------
Thu Sep 4 08:47:45 UTC 2014 - toddrme2178@gmail.com
- Fix typo in source line
-------------------------------------------------------------------
Wed Aug 27 12:31:07 UTC 2014 - toddrme2178@gmail.com
- Re-enable unit tests
-------------------------------------------------------------------
Tue Aug 26 12:40:34 UTC 2014 - toddrme2178@gmail.com
- Update to 0.8.6
* No upstream changelog
See https://bitbucket.org/cffi/cffi/commits/all for a list of
commits
- update to 0.8.2
* minor bugfixes
- remove cffi-pytest-integration.patch as it is no longer necessary
-------------------------------------------------------------------
Mon Feb 24 13:21:26 UTC 2014 - mvyskocil@suse.com
- update to 0.8.1
* fixes on Python 3 on OS/X, and some FreeBSD fixes (thanks Tobias)
0.8:
* integrated support for C99 variable-sized structures
* multi-thread safety
* ffi.getwinerror()
* a number of small fixes
- added a note wrt disabled tests
- add cffi-pytest-integration.patch: allowinf call pytest from setup.py
-------------------------------------------------------------------
Tue Oct 1 07:35:33 UTC 2013 - mvyskocil@suse.com
- Use python3-setuptools instead of distribute
-------------------------------------------------------------------
Mon Sep 30 07:42:27 UTC 2013 - mvyskocil@suse.com
- port to python3
- use pkgconfig(libffi) to get the most recent ffi
-------------------------------------------------------------------
Mon Aug 19 13:27:16 UTC 2013 - mvyskocil@suse.com
- Update to 0.7.2
* add implicit bool
* standard names are handled as defaults in cdef declarations
* enum types follow GCC rules and not just int
* supports simple slices x[start:stop]
* enums are handled like ints
* new ffi.new_handle(python_object)
* and various bugfixes
-------------------------------------------------------------------
Sun Feb 10 09:28:56 UTC 2013 - saschpe@suse.de
- Initial version