Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unbreak build with wlroots 0.13.0 #174

Merged
merged 10 commits into from
Apr 9, 2021
Merged

Unbreak build with wlroots 0.13.0 #174

merged 10 commits into from
Apr 9, 2021

Conversation

jbeich
Copy link
Contributor

@jbeich jbeich commented Nov 15, 2020

Tested via gtk3-demo and alacritty.

Fixes #171

seat.c:263:56: error: use of undeclared identifier 'WLR_KEY_PRESSED'
        if ((modifiers & WLR_MODIFIER_ALT) && event->state == WLR_KEY_PRESSED) {
                                                              ^

Based on swaywm/sway@bb342ac5e6de
seat.c:453:58: error: incomplete definition of type 'struct wlr_event_touch_down'
        wlr_cursor_absolute_to_layout_coords(seat->cursor, event->device, event->x, event->y, &lx, &ly);
                                                           ~~~~~^
seat.c:450:9: note: forward declaration of 'struct wlr_event_touch_down'
        struct wlr_event_touch_down *event = data;
               ^

Based on swaywm/sway@a56098a24e43
cage.c:307:61: error: too many arguments to function call, expected single argument 'display', have 2 arguments
        server.backend = wlr_backend_autocreate(server.wl_display, NULL);
                         ~~~~~~~~~~~~~~~~~~~~~~                    ^~~~
/usr/include/sys/_null.h:34:14: note: expanded from macro 'NULL'
 #define NULL    ((void *)0)
                 ^~~~~~~~~~~
/usr/local/include/wlr/backend.h:36:21: note: 'wlr_backend_autocreate' declared here
struct wlr_backend *wlr_backend_autocreate(struct wl_display *display);
                    ^

Based on swaywm/sway@53f5197c26f1
xdg_shell.c:230:2: warning: implicit declaration of function 'wlr_xdg_surface_for_each_popup' is invalid in C99 [-Wimplicit-function-declaration]
        wlr_xdg_surface_for_each_popup(xdg_shell_view->xdg_surface, iterator, data);
        ^
ld: error: undefined symbol: wlr_xdg_surface_for_each_popup
>>> referenced by xdg_shell.c:230 (../xdg_shell.c:230)
>>>               cage.p/xdg_shell.c.o:(for_each_popup)

Based on swaywm/sway@5438cc158a1b
output.c:456:36: error: no member named 'transform' in 'struct wlr_output::(anonymous at /usr/local/include/wlr/types/wlr_output.h:154:2)'
        wl_signal_add(&wlr_output->events.transform, &output->transform);
                       ~~~~~~~~~~~~~~~~~~ ^

Based on swaywm/sway@2c76923282b1
cage.c:307:59: error: too few arguments to function call, expected 2, have 1
        server.backend = wlr_backend_autocreate(server.wl_display);
                         ~~~~~~~~~~~~~~~~~~~~~~                  ^
subprojects/wlroots/include/wlr/backend.h:43:21: note: 'wlr_backend_autocreate' declared here
struct wlr_backend *wlr_backend_autocreate(struct wl_display *display,
                    ^
@yorickvP
Copy link

@Hjdskes ping!

@jbeich jbeich changed the title Unbreak build with wlroots 0.13.0 (master snapshot) Unbreak build with wlroots 0.13.0 Apr 7, 2021
@jubalh
Copy link
Contributor

jubalh commented Apr 8, 2021

wlroots 0.13.0 was released now. Some distros probably would prefer having this PR merged and a new cage release made too. Otherwise they'll have to patch their packages.

@Hjdskes
Copy link
Collaborator

Hjdskes commented Apr 8, 2021

Sorry for my absence. I'll get around to this, this weekend at the latest.

meson.build:70:4: ERROR: Problem encountered: Cannot build Cage with XWayland support: wlroots has been built without it
Run-time dependency xcb-icccm found: NO (tried pkgconfig and cmake)
Message: Required for Xwayland support.
meson.build:102:0: ERROR: Dependency "egl" not found, tried pkgconfig
@LyesSaadi
Copy link

LyesSaadi commented Apr 9, 2021

Hello! I'm the Fedora maintainer and since we're getting wlroots updated, I've decided to patch cage to work with wlroots 0.13 in rawhide (the development version of Fedora) and soon Fedora 34 (since wlroots will also be updated there). I've done some testing to ensure it works, and it does with:

  • gedit
  • firefox-nightly (with sound and video)
  • komikku (flatpak)
  • gnome-text-editor (flatpak + gtk4)
  • alacritty (non-gtk apps)

Some were tested on a virtual machine with the latest rawhide, others with my own computer on Fedora 34.

Hope this helps :)!

Note: wlroots and cage will only be updated in rawhide in a week or so, as we're waiting for other packages to also update and ensure it works properly ;). Furthermore, some issues seems to have been spotted with the phoc package and the new wlroots DRM backend, so it might take some more time :'(!

@Hjdskes
Copy link
Collaborator

Hjdskes commented Apr 9, 2021

This looks great @jbeich! Thanks for keeping up with the changes in wlroots, and sorry for taking so long to review this.

@Hjdskes Hjdskes merged commit 0891f4b into cage-kiosk:master Apr 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Broken with latest wlroots
5 participants