This cherrypicks an upstream-but-unreleased commit for the following
build failure. Strangely, this warning is not emittted on x86_64.
FAILED: libwlroots.so.11.p/render_egl.c.o
gcc -Ilibwlroots.so.11.p -I. -I.. -Iinclude -I../include -Iprotocol -I../protocol -Irender/gles2/shaders -Irender/vulkan/shade
../render/egl.c: In function 'egl_init_display':
../render/egl.c:179:17: error: 'external_only' may be used uninitialized in this function [-Werror=maybe-uninitialized]
179 | free(external_only);
| ^~~~~~~~~~~~~~~~~~~
../render/egl.c:128:29: note: 'external_only' was declared here
128 | EGLBoolean *external_only;
| ^~~~~~~~~~~~~
../render/egl.c:178:17: error: 'modifiers' may be used uninitialized in this function [-Werror=maybe-uninitialized]
178 | free(modifiers);
| ^~~~~~~~~~~~~~~
../render/egl.c:127:27: note: 'modifiers' was declared here
127 | uint64_t *modifiers;
| ^~~~~~~~~
cc1: all warnings being treated as errors
This adds a very minimalistic (in terms of functionality and
dependencies) test for wlroots, Wayland, and related packages.
The Sway test covers more functionality and packages (e.g. XWayland) but
this test has tree advantages:
- Less dependencies: Much fewer rebuilds are required when testing core
changes that need to go through staging.
- Testing wlroots updates: The Sway package isn't immediately updated
after a new wlroots version is released and a lot of other packages
depend on wlroots as well.
- Determining whether a bug only affects Sway or wlroots/TinyWL as well.
0.14.nix is an exact copy of default.nix. This no-op change is made in
preparation of introducing wlroots 0.15.0 which would break most
reverse-dependencies.
The new release comes with breaking changes so we temporarily introduce
wlroots_0_13 for packages that don't yet support wlroots 0.14.
For the rest of the packages the required upstream patches for this new
wlroots release are fetched (if feasible).
Uses the old wlroots in places where the new one isn't yet compatible.
Co-authored-by: Alyssa Ross <hi@alyssa.is>
Co-authored-by: Michael Weiss <dev.primeos@gmail.com>
Another advantage is that we can now use the wayland-scanner alias for
nativeBuildInputs (which is less confusing than adding "wayland" to both
nativeBuildInputs and buildInputs).