You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This code means that the function won't be executed if wlroots._build can be imported from anywhere, including the previous version installed to the system. So if pywlroots are installed, the following bit won't ever be executed:
with (Path(__file__).parent/"_build.py").open("w") asf:
f.write(f"has_xwayland = {has_xwayland}\n")
and the newly created wheel (or install to --root) won't contain the file. As a result, the Gentoo ebuild produces an install without the file every second run; which in turns breaks building qtile.
Upon further investigation, this cache logic can't ever work properly!
Even if wlroots/_build.py exists in the source, wlroots._build cannot be imported because wlroots requires wlroots._ffi that doesn't exist yet!
python3.11 -c 'import wlroots._build'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/portage/dev-python/pywlroots-0.16.6-r2/work/pywlroots-0.16.6/wlroots/__init__.py", line 8, in <module>from ._ffi import ffi, lib
ModuleNotFoundError: No module named 'wlroots._ffi'
So the only case when "caching" works is when it wrongly imports the earlier version…
pywlroots/wlroots/ffi_build.py
Lines 67 to 70 in 1b39a33
This code means that the function won't be executed if
wlroots._build
can be imported from anywhere, including the previous version installed to the system. So if pywlroots are installed, the following bit won't ever be executed:pywlroots/wlroots/ffi_build.py
Lines 86 to 87 in 1b39a33
and the newly created wheel (or install to
--root
) won't contain the file. As a result, the Gentoo ebuild produces an install without the file every second run; which in turns breaks building qtile.Downstream bug report: https://bugs.gentoo.org/919097
The text was updated successfully, but these errors were encountered: