2016-05-27 13:52:37 +00:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri May 27 13:00:22 UTC 2016 - jmatejek@suse.com
|
|
|
|
|
|
|
|
|
|
- disable "negative left shift" warning in test suite to prevent
|
|
|
|
|
failures with gcc6, until upstream fixes the undefined code
|
|
|
|
|
in question (boo#981848, cffi-1.5.2-wnoerror.patch)
|
|
|
|
|
|
2016-05-27 09:26:18 +00:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
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.
|
|
|
|
|
|
2016-05-19 09:44:00 +00:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
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
|
|
|
|
|
|
2016-01-11 08:06:05 +00:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
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...
|
|
|
|
|
|
2015-06-02 17:47:58 +00:00
|
|
|
|
-------------------------------------------------------------------
|
2015-09-17 11:31:05 +00:00
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
2015-06-02 17:47:58 +00:00
|
|
|
|
Mon Jun 1 18:13:10 UTC 2015 - benoit.monin@gmx.fr
|
|
|
|
|
|
2015-08-27 14:38:33 +00:00
|
|
|
|
- update to version 1.1.0 (fate#318838):
|
2015-06-02 17:47:58 +00:00
|
|
|
|
* 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
|
|
|
|
|
|
2015-04-23 06:53:38 +00:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
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
|
|
|
|
|
|
2014-08-26 12:50:37 +00:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
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
|
|
|
|
|
|
2014-05-28 08:38:49 +00:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
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
|
|
|
|
|
|
2014-03-31 14:19:07 +00:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
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
|
|
|
|
|
|
2014-02-24 15:15:49 +00:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
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
|
|
|
|
|
|
2013-10-24 10:59:46 +00:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Oct 24 10:59:45 UTC 2013 - speilicke@suse.com
|
|
|
|
|
|
|
|
|
|
- Require python-setuptools instead of distribute (upstreams merged)
|
|
|
|
|
|
2013-09-30 08:50:15 +00:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Sep 30 07:51:11 UTC 2013 - mvyskocil@suse.com
|
|
|
|
|
|
|
|
|
|
- use pkgconfig(libffi) to get the most recent ffi
|
|
|
|
|
|
2013-08-22 14:39:36 +00:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
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
|
|
|
|
|
|
2013-02-10 10:02:31 +00:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Feb 10 09:28:56 UTC 2013 - saschpe@suse.de
|
|
|
|
|
|
|
|
|
|
- Initial version
|
|
|
|
|
|