- update to 1.17.0:
* Add support for Python 3.13.
* In API mode, when you get a function from a C library by writing
`fn = lib.myfunc`, you get an object of a special type for
performance reasons, instead of a `<cdata 'C-function-type'>`.
Before version 1.17 you could only call such objects.
You could write `ffi.addressof(lib, "myfunc")` in order to get
a real `<cdata>` object, based on the idea that in these cases
in C you'd usually write `&myfunc` instead of `myfunc`. In
version 1.17, the special object `lib.myfunc` can now be passed
in many places where CFFI expects
a regular `<cdata>` object. For example, you can now pass
it as a callback to a C function call, or write it inside a C
structure field of the correct pointer-to-function type, or use
`ffi.cast()` or `ffi.typeof()` on it.
- drop py313-compat.patch, py313-use-format-unraisable.patch,
py313-use-hashpointer.patch (upstream)
OBS-URL: https://build.opensuse.org/request/show/1198079
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cffi?expand=0&rev=45
* Add support for Python 3.13.
* In API mode, when you get a function from a C library by writing
`fn = lib.myfunc`, you get an object of a special type for
performance reasons, instead of a `<cdata 'C-function-type'>`.
Before version 1.17 you could only call such objects.
You could write `ffi.addressof(lib, "myfunc")` in order to get
a real `<cdata>` object, based on the idea that in these cases
in C you'd usually write `&myfunc` instead of `myfunc`. In
version 1.17, the special object `lib.myfunc` can now be passed
in many places where CFFI expects
a regular `<cdata>` object. For example, you can now pass
it as a callback to a C function call, or write it inside a C
structure field of the correct pointer-to-function type, or use
`ffi.cast()` or `ffi.typeof()` on it.
- drop py313-compat.patch, py313-use-format-unraisable.patch,
py313-use-hashpointer.patch (upstream)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cffi?expand=0&rev=99
py313-use-format-unraisable.patch
py313-use-hashpointer.patch: add upstream patches for py3.13
support
testsuite failures with Python 3.11
* Revert "grovel: detect :float and :double in the :auto type"
* no upstream changelog provided
* no upstream changelog provided
* CPython 3 on Windows: we again try to compile with Py_LIMITED_API by default
- Update pytest in spec to add c directory tests in addition to
messages.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cffi?expand=0&rev=97
- Add support for Python 3.12. With the removal of distutils
from Python 3.12, projects using CFFI features that depend on
distutils at runtime must add a dependency on setuptools to
function under Python 3.12+. CFFI does not declare a runtime
setuptools requirement to avoid an unnecessary dependency for
projects that do not require it.
- Drop support for end-of-life Python versions (2.7, 3.6, 3.7).
- Move project source under src/; a more standard layout that
also enables CI to more easily catch packaging errors.
- Move project home to python-cffi/cffi on GitHub.
- Add support for PEP517 builds; setuptools is now a required
build dependency.
- Declare python_requires metadata for Python 3.8+. This allows
unsupported Pythons to continue using previously released
sdists and wheels.
- Add missing calls to PyObject_GC_UnTrack to avoid
ResourceWarning 15c4b71
- Remove upstreamed patch
8a3c2c816d789639b49d3ae867213393ed7abdff.patch
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cffi?expand=0&rev=92
- update to 1.15.0:
* Fixed MANIFEST.in to include missing file for Windows arm64 support
* Fixed Linux wheel build to use gcc default ISA for libffi
* Updated setup.py Python trove specifiers to currently-tested Python versions
* CPython 3.10 support (including wheels)
* MacOS arm64 support (including wheels)
* Initial Windows arm64 support
* Misc. doc and test updates
OBS-URL: https://build.opensuse.org/request/show/929906
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cffi?expand=0&rev=37
* Fixed MANIFEST.in to include missing file for Windows arm64 support
* Fixed Linux wheel build to use gcc default ISA for libffi
* Updated setup.py Python trove specifiers to currently-tested Python versions
* CPython 3.10 support (including wheels)
* MacOS arm64 support (including wheels)
* Initial Windows arm64 support
* Misc. doc and test updates
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cffi?expand=0&rev=82
* CFFI source code is now hosted on Heptapod.
* Improved support for typedef int my_array_t[...]; with an explicit dot-dot-dot in API mode (issue #453)
* Windows (32 and 64 bits): multiple fixes for ABI-mode call to functions that return a structure.
* Experimental support for MacOS 11 on aarch64.
* and a few other minor changes and bug fixes.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cffi?expand=0&rev=71
- update to 1.12.3
- drop patches: 3184b0a675fc425b821b528d7fdf744b2f08dadf.patch
7a76a381534012af4790e815140d1538510b7d93.patch
e2e324a2f13e3a646de6f6ff03e90ed7d37e2636.patch
* 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().
* 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.
* Support for ffi.cdef(..., pack=N) where N is a power of two.
OBS-URL: https://build.opensuse.org/request/show/680758
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cffi?expand=0&rev=25
- drop patches: 3184b0a675fc425b821b528d7fdf744b2f08dadf.patch
7a76a381534012af4790e815140d1538510b7d93.patch
e2e324a2f13e3a646de6f6ff03e90ed7d37e2636.patch
* 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().
* 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.
* Support for ffi.cdef(..., pack=N) where N is a power of two.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cffi?expand=0&rev=59