flacjacket / pywlroots

Python binding to the wlroots library using cffi
University of Illinois/NCSA Open Source License
53 stars 15 forks source link

Package installed from pypi no longer has XWayland parts of `lib` built into package #112

Closed m-col closed 1 year ago

m-col commented 1 year ago

Installing a fresh pywlroots==0.16 and using wlroots.lib, none of the C structs, enums or functions appended to the CDEF in ffi_build.py conditionally upon if has_xwayland() can be accessed:

>>> wlroots.lib.WLR_XWAYLAND_SURFACE_DECORATIONS_ALL
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: cffi library 'wlroots._ffi' has no function, constant or global variable named 'WLR_XWAYLAND_SURFACE_DECORATIONS_ALL'

I can successfully access non-XWayland things that were added very recently (i.e. the last addition was buffer_iterator_callback which can be accessed), ruling out that it was an older cached lib being used either on my machine or uploaded to pypi.

This wasn't an issue on the last release, so I suspect it was one of the changes in .github, or a change in wlroots.