Update to v1.6.0; update fixes building against gcc >= 6 OBS-URL: https://build.opensuse.org/request/show/398109 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cffi?expand=0&rev=27
261 lines
12 KiB
Plaintext
261 lines
12 KiB
Plaintext
-------------------------------------------------------------------
|
||
Thu May 26 02:33:02 UTC 2016 - badshah400@gmail.com
|
||
|
||
- 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.
|
||
* Yet another attempt at robustness of ffi.def_extern() against
|
||
CPython’s interpreter shutdown logic.
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Apr 11 14:45:11 UTC 2016 - jmatejek@suse.com
|
||
|
||
- update to 1.5.2
|
||
* support for cffi-based embedding
|
||
* more robustness for shutdown logic
|
||
|
||
-------------------------------------------------------------------
|
||
Sat Jan 9 17:18:52 UTC 2016 - michael@stroeder.com
|
||
|
||
- 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!)
|
||
- changes from 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.
|
||
- changes from 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...
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Sep 17 11:28:00 UTC 2015 - p.drouand@gmail.com
|
||
|
||
- Update to version 1.2.1
|
||
* No changes entry for this version
|
||
- 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`__.
|
||
.. __: using.html#callbacks
|
||
.. __: using.html#alternative-allocators
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Jun 1 18:13:10 UTC 2015 - benoit.monin@gmx.fr
|
||
|
||
- update to version 1.1.0 (fate#318838):
|
||
* Out-of-line API mode: we can now declare integer types with
|
||
typedef int... foo_t;. The exact size and signedness 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.
|
||
- additional changes from version 1.0.3:
|
||
* Same as 1.0.2, apart from doc and test fixes on some platforms
|
||
- additional 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!
|
||
- additional 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
|
||
- additional 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
|
||
- add python-cffi-rpmlintrc: cffi specifically installs C headers
|
||
in site-packages
|
||
- add new test dependency gcc-c++
|
||
- skip the tests on SLE11 since they fail on i586
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Apr 23 06:33:12 UTC 2015 - mcihar@suse.cz
|
||
|
||
- Update to 0.9.2
|
||
* No upstream changelog
|
||
See https://bitbucket.org/cffi/cffi/commits/all for a list of
|
||
commits
|
||
|
||
-------------------------------------------------------------------
|
||
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
|
||
|
||
-------------------------------------------------------------------
|
||
Mon May 19 16:35:30 UTC 2014 - jmatejek@suse.com
|
||
|
||
- update to 0.8.2
|
||
* minor bugfixes
|
||
- remove cffi-pytest-integration.patch as it is no longer necessary
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Mar 31 14:18:44 UTC 2014 - speilicke@suse.com
|
||
|
||
- Require libffi43-devel on SLE_11_SP2 instead of using pkg-config to fix build
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Feb 24 12:09:15 UTC 2014 - mvyskocil@suse.com
|
||
|
||
- update to 0.8.1
|
||
* fixes on Python 3 on OS/X, and some FreeBSD fixes (thanks Tobias)
|
||
- added a note wrt disabled tests
|
||
- add cffi-pytest-integration.patch: allowinf call pytest from setup.py
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Nov 18 14:33:39 UTC 2013 - mvyskocil@suse.com
|
||
|
||
- update to 0.8
|
||
* integrated support for C99 variable-sized structures
|
||
* multi-thread safety
|
||
* ffi.getwinerror()
|
||
* a number of small fixes
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Oct 24 10:59:45 UTC 2013 - speilicke@suse.com
|
||
|
||
- Require python-setuptools instead of distribute (upstreams merged)
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Sep 30 07:51:11 UTC 2013 - mvyskocil@suse.com
|
||
|
||
- 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
|
||
|