From 60e7f030a4b86ab3727b82aca5a8a3019f74bbbd Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Wed, 7 Apr 2021 22:02:02 +0200 Subject: [PATCH 1/7] wlroots: update to 0.13.0. --- common/shlibs | 2 +- srcpkgs/wlroots/template | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/common/shlibs b/common/shlibs index 001fcd56590d..5f51c81f52b9 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3461,7 +3461,7 @@ libcodecore.so.0 libio.elementary.code-3.0_1 libio.elementary.music-core.so.0 libio.elementary.music-5.0_1 libpantheon-files-core.so.4 libio.elementary.files-4.1.4_1 libpantheon-files-widgets.so.4 libio.elementary.files-4.1.4_1 -libwlroots.so.7 wlroots-0.12.0_1 +libwlroots.so.8 wlroots-0.13.0_1 libbaseencode.so.1 libbaseencode-1.0.9_1 libcotp.so.12 libcotp-1.2.1_1 libunarr.so.1 libunarr-1.0.1_1 diff --git a/srcpkgs/wlroots/template b/srcpkgs/wlroots/template index c4d3bad99c6b..fd3a4b0b5aae 100644 --- a/srcpkgs/wlroots/template +++ b/srcpkgs/wlroots/template @@ -1,25 +1,25 @@ # Template file for 'wlroots' pkgname=wlroots -version=0.12.0 -revision=2 +version=0.13.0 +revision=1 build_style=meson -# enable assertions - upstream uses them only for unreachable situations -configure_args="-Dlogind=disabled -Dlibseat=enabled - -Dxcb-errors=enabled -Dxcb-icccm=enabled -Dxwayland=enabled - -Dx11-backend=enabled -Dexamples=false -Dwerror=false -Db_ndebug=false" +# Follow upstream packaging recommendations: +# https://github.com/swaywm/wlroots/wiki/Packaging-recommendations +configure_args="--auto-features=enabled -Dlogind=disabled + -Dexamples=false -Dwerror=false -Db_ndebug=false" hostmakedepends="pkg-config wayland-devel" _devel_depends="MesaLib-devel libseat-devel eudev-libudev-devel libdrm-devel libinput-devel libxkbcommon-devel pixman-devel wayland-devel wayland-protocols - xcb-util-errors-devel xcb-util-wm-devel" + xcb-util-errors-devel xcb-util-wm-devel xcb-util-renderutil-devel" makedepends="${_devel_depends} libxcb-devel xcb-util-cursor-devel xcb-util-devel xcb-util-image-devel - xcb-util-keysyms-devel xcb-util-renderutil-devel xcb-util-xrm-devel" + xcb-util-keysyms-devel xcb-util-xrm-devel xorg-server-xwayland" short_desc="Modular Wayland compositor library" maintainer="Isaac Freund " license="MIT" homepage="https://github.com/swaywm/wlroots" distfiles="https://github.com/swaywm/wlroots/archive/${version}.tar.gz" -checksum=c9e9f4f6d2f526d0b2886daf3ec37e64831773059aa669fb98a88522a1626bdb +checksum=f6bea37fd4a6f5e5f552b83d61adae8c73e64b0bcb9ae0ab464ebcd9309d3cf3 post_install() { vlicense LICENSE From 820275c556f69f82aa53f131647131a98a79205a Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Wed, 7 Apr 2021 22:42:06 +0200 Subject: [PATCH 2/7] sway: update to 1.6. --- srcpkgs/sway/INSTALL.msg | 6 -- srcpkgs/sway/patches/6046.patch | 133 -------------------------------- srcpkgs/sway/template | 12 +-- 3 files changed, 4 insertions(+), 147 deletions(-) delete mode 100644 srcpkgs/sway/INSTALL.msg delete mode 100644 srcpkgs/sway/patches/6046.patch diff --git a/srcpkgs/sway/INSTALL.msg b/srcpkgs/sway/INSTALL.msg deleted file mode 100644 index 05274ffcc3aa..000000000000 --- a/srcpkgs/sway/INSTALL.msg +++ /dev/null @@ -1,6 +0,0 @@ -Setting the SUID bit after install has been retired for all Wayland -compositors. It is recommended that users use a session management daemon -such as elogind or seatd and do not rely on compositors dropping privileges. - -All users who require this functionality will need to set the SUID bit manually -after each update going forward. diff --git a/srcpkgs/sway/patches/6046.patch b/srcpkgs/sway/patches/6046.patch deleted file mode 100644 index 34845cd99b59..000000000000 --- a/srcpkgs/sway/patches/6046.patch +++ /dev/null @@ -1,133 +0,0 @@ -Upstream: yes -Source: https://github.com/swaywm/sway/pull/6046 -Reason: Popup menu flickers on Firefox -(https://bugzilla.mozilla.org/show_bug.cgi?id=1696662) - -From cf03185561e919f1c337f087194fec150425eef5 Mon Sep 17 00:00:00 2001 -From: Kenny Levinsen -Date: Fri, 19 Feb 2021 18:39:54 +0100 -Subject: [PATCH 1/3] view: Recursively check mapped of view_child tree - -A subsurface may be set to mapped without its parent. ---- - sway/tree/view.c | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/sway/tree/view.c b/sway/tree/view.c -index ad79b2294..c8a4ea6b6 100644 ---- a/sway/tree/view.c -+++ b/sway/tree/view.c -@@ -982,8 +982,18 @@ static void view_child_subsurface_create(struct sway_view_child *child, - view_child_damage(&subsurface->child, true); - } - -+static bool view_child_is_mapped(struct sway_view_child *child) { -+ while (child) { -+ if (!child->mapped) { -+ return false; -+ } -+ child = child->parent; -+ } -+ return true; -+} -+ - static void view_child_damage(struct sway_view_child *child, bool whole) { -- if (!child || !child->mapped || !child->view || !child->view->container) { -+ if (!child || !view_child_is_mapped(child) || !child->view || !child->view->container) { - return; - } - int sx, sy; -@@ -1082,7 +1092,7 @@ void view_child_init(struct sway_view_child *child, - } - - void view_child_destroy(struct sway_view_child *child) { -- if (child->mapped && child->view->container != NULL) { -+ if (view_child_is_mapped(child) && child->view->container != NULL) { - view_child_damage(child, true); - } - - -From e2ec65d0a32797edd0846758bc24cf685e2d19d5 Mon Sep 17 00:00:00 2001 -From: Kenny Levinsen -Date: Fri, 19 Feb 2021 18:41:04 +0100 -Subject: [PATCH 2/3] view: Mark subchildren as unmapped in view_child_destroy - -The subchildren lose their parent association at this point, so they -will not be able to see that the parent is unmapped. - -Instead, just set the subchildren to be unmapped directly. ---- - sway/tree/view.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/sway/tree/view.c b/sway/tree/view.c -index c8a4ea6b6..978271c24 100644 ---- a/sway/tree/view.c -+++ b/sway/tree/view.c -@@ -1105,6 +1105,9 @@ void view_child_destroy(struct sway_view_child *child) { - wl_list_for_each_safe(subchild, tmpchild, &child->children, link) { - wl_list_remove(&subchild->link); - subchild->parent = NULL; -+ // The subchild lost its parent link, so it cannot see that the parent -+ // is unmapped. Unmap it directly. -+ subchild->mapped = false; - } - - wl_list_remove(&child->surface_commit.link); - -From c06a926e0d89e952e5a3892b63f07d5b802b34ef Mon Sep 17 00:00:00 2001 -From: Kenny Levinsen -Date: Fri, 19 Feb 2021 18:33:20 +0100 -Subject: [PATCH 3/3] view: Set parent for view_child subsurfaces on init - -view_child_init was calling view_init_subsurfaces, which did not set the -parent attribute for the subchildren. This lead to the subchildren -acting as standalone children. If the parent was an xdg_popup, this -would make the subchild unaware of the popup position. - -Introduce view_child_init_subsurfaces for view_child_init to use -instead. - -Closes: https://github.com/swaywm/sway/issues/6038 ---- - sway/tree/view.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/sway/tree/view.c b/sway/tree/view.c -index 978271c24..8a2a8178d 100644 ---- a/sway/tree/view.c -+++ b/sway/tree/view.c -@@ -465,6 +465,9 @@ static void view_subsurface_create(struct sway_view *view, - static void view_init_subsurfaces(struct sway_view *view, - struct wlr_surface *surface); - -+static void view_child_init_subsurfaces(struct sway_view_child *view_child, -+ struct wlr_surface *surface); -+ - static void view_handle_surface_new_subsurface(struct wl_listener *listener, - void *data) { - struct sway_view *view = -@@ -1033,6 +1036,14 @@ static void view_init_subsurfaces(struct sway_view *view, - } - } - -+static void view_child_init_subsurfaces(struct sway_view_child *view_child, -+ struct wlr_surface *surface) { -+ struct wlr_subsurface *subsurface; -+ wl_list_for_each(subsurface, &surface->subsurfaces, parent_link) { -+ view_child_subsurface_create(view_child, subsurface); -+ } -+} -+ - static void view_child_handle_surface_map(struct wl_listener *listener, - void *data) { - struct sway_view_child *child = -@@ -1088,7 +1099,7 @@ void view_child_init(struct sway_view_child *child, - wlr_surface_send_enter(child->surface, workspace->output->wlr_output); - } - -- view_init_subsurfaces(child->view, surface); -+ view_child_init_subsurfaces(child, surface); - } - - void view_child_destroy(struct sway_view_child *child) { diff --git a/srcpkgs/sway/template b/srcpkgs/sway/template index 2858c7026b56..3297f668adf4 100644 --- a/srcpkgs/sway/template +++ b/srcpkgs/sway/template @@ -1,8 +1,9 @@ # Template file for 'sway' pkgname=sway -version=1.5.1 -revision=2 +version=1.6 +revision=1 build_style=meson +configure_args="-Dwerror=false -Db_ndebug=false" conf_files="/etc/sway/config" hostmakedepends="pkg-config wayland-devel scdoc git" makedepends="wlroots-devel pcre-devel json-c-devel pango-devel cairo-devel @@ -13,12 +14,7 @@ maintainer="Olaf Mersmann " license="MIT" homepage="https://swaywm.org" distfiles="https://github.com/swaywm/${pkgname}/archive/${version}.tar.gz" -checksum=095f983c9a5f80d761bc2fb19df8166839b9290124ccd47f3e74119a1335490f -patch_args="-Np1" - -post_patch() { - vsed -e 's/werror=true/werror=false/g' -i meson.build -} +checksum=9ecfd2f38239f7e90922a13cd348fc95fc059e8fa0e4b75b8ffcc7b61685a5fb post_install() { vlicense LICENSE From f2d26813c274db2f0cc119b31605b621c3dbb0fb Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Sat, 10 Apr 2021 19:46:49 +0200 Subject: [PATCH 3/7] hikari: update to 2.3.0. --- srcpkgs/hikari/INSTALL.msg | 6 ------ srcpkgs/hikari/template | 12 +++++++++--- 2 files changed, 9 insertions(+), 9 deletions(-) delete mode 100644 srcpkgs/hikari/INSTALL.msg diff --git a/srcpkgs/hikari/INSTALL.msg b/srcpkgs/hikari/INSTALL.msg deleted file mode 100644 index 05274ffcc3aa..000000000000 --- a/srcpkgs/hikari/INSTALL.msg +++ /dev/null @@ -1,6 +0,0 @@ -Setting the SUID bit after install has been retired for all Wayland -compositors. It is recommended that users use a session management daemon -such as elogind or seatd and do not rely on compositors dropping privileges. - -All users who require this functionality will need to set the SUID bit manually -after each update going forward. diff --git a/srcpkgs/hikari/template b/srcpkgs/hikari/template index 093d55610b0b..598a87de6179 100644 --- a/srcpkgs/hikari/template +++ b/srcpkgs/hikari/template @@ -1,6 +1,6 @@ # Template file for 'hikari' pkgname=hikari -version=2.2.3 +version=2.3.0 revision=1 build_style=gnu-makefile make_cmd=bmake @@ -16,7 +16,7 @@ license="BSD-2-Clause" homepage="https://hikari.acmelabs.space" changelog="https://hub.darcs.net/raichoo/hikari/browse/CHANGELOG.md" distfiles="${homepage}/releases/${pkgname}-${version}.tar.gz" -checksum=0727d8652e6debea52a9d975bd656cb573556e0e14184b069925c40f2f1b02b4 +checksum=8577ea568d2a41b0dc7b2fae784446778e3ddd5b9563576c9756dfbf7b9435d2 conf_files="/etc/pam.d/hikari-unlocker /etc/hikari/hikari.conf" pre_build() { @@ -25,13 +25,19 @@ pre_build() { # command line (i.e., when make_use_env is undefined), but it ignores # the values in the environment when make_use_env=yes. The _EXTRA # variables provided in the Makefile allow us to force the right flags. - export CFLAGS_EXTRA="${CFLAGS}" + export CFLAGS_EXTRA="${CFLAGS} -Wno-error" export LDFLAGS_EXTRA="${LDFLAGS}" # bmake tends to ignore CC in the environment make_build_args+=" CC=$CC" } +# bmake's -q flag seems to differ in behavior from gnu make which causes the +# build style's handling of the check target not existing to fail. +do_check() { + : +} + post_install() { vlicense LICENSE } From ff623dfd70d17da75e7973d483634683f2a6408d Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Sun, 18 Apr 2021 11:25:11 +0200 Subject: [PATCH 4/7] cage: update to 0.1.3. --- srcpkgs/cage/INSTALL.msg | 6 ------ srcpkgs/cage/template | 6 +++--- 2 files changed, 3 insertions(+), 9 deletions(-) delete mode 100644 srcpkgs/cage/INSTALL.msg diff --git a/srcpkgs/cage/INSTALL.msg b/srcpkgs/cage/INSTALL.msg deleted file mode 100644 index 05274ffcc3aa..000000000000 --- a/srcpkgs/cage/INSTALL.msg +++ /dev/null @@ -1,6 +0,0 @@ -Setting the SUID bit after install has been retired for all Wayland -compositors. It is recommended that users use a session management daemon -such as elogind or seatd and do not rely on compositors dropping privileges. - -All users who require this functionality will need to set the SUID bit manually -after each update going forward. diff --git a/srcpkgs/cage/template b/srcpkgs/cage/template index 960ccfac2156..1b447bcf2ba1 100644 --- a/srcpkgs/cage/template +++ b/srcpkgs/cage/template @@ -1,7 +1,7 @@ # Template file for 'cage' pkgname=cage -version=0.1.2.1 -revision=3 +version=0.1.3 +revision=1 build_style=meson configure_args="$(vopt_bool xwayland xwayland)" hostmakedepends="pkg-config wayland-devel scdoc" @@ -12,7 +12,7 @@ maintainer="Illia Shestakov " license="MIT" homepage="https://www.hjdskes.nl/projects/cage/" distfiles="https://github.com/Hjdskes/cage/archive/v${version}.tar.gz" -checksum=38a3e3968f00cc58fe1d9448e972cfac7d1efa30c48699f09032f264101a55ac +checksum=c28aa8230f937c89b564967748451c1eb15d8633a71a1ed6e22d532afa15462e build_options="xwayland" build_options_default="xwayland" From c34e57e4421bc67fe9348613c5815ad18f84a678 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Sun, 18 Apr 2021 12:18:32 +0200 Subject: [PATCH 5/7] wayfire: update to 0.7.0. --- srcpkgs/wayfire/INSTALL.msg | 6 - srcpkgs/wayfire/patches/wlroots13.patch | 189 ++++++++++++++++++++++++ srcpkgs/wayfire/template | 3 +- 3 files changed, 191 insertions(+), 7 deletions(-) delete mode 100644 srcpkgs/wayfire/INSTALL.msg create mode 100644 srcpkgs/wayfire/patches/wlroots13.patch diff --git a/srcpkgs/wayfire/INSTALL.msg b/srcpkgs/wayfire/INSTALL.msg deleted file mode 100644 index 05274ffcc3aa..000000000000 --- a/srcpkgs/wayfire/INSTALL.msg +++ /dev/null @@ -1,6 +0,0 @@ -Setting the SUID bit after install has been retired for all Wayland -compositors. It is recommended that users use a session management daemon -such as elogind or seatd and do not rely on compositors dropping privileges. - -All users who require this functionality will need to set the SUID bit manually -after each update going forward. diff --git a/srcpkgs/wayfire/patches/wlroots13.patch b/srcpkgs/wayfire/patches/wlroots13.patch new file mode 100644 index 000000000000..d42dbc425a3a --- /dev/null +++ b/srcpkgs/wayfire/patches/wlroots13.patch @@ -0,0 +1,189 @@ +diff --git a/meson.build b/meson.build +index 4a8992cb..117f928c 100644 +--- a/meson.build ++++ b/meson.build +@@ -28,7 +28,7 @@ libinput = dependency('libinput', version: '>=1.7.0') + pixman = dependency('pixman-1') + threads = dependency('threads') + xkbcommon = dependency('xkbcommon') +-wlroots = dependency('wlroots', version: ['>=0.12.0', '<0.13.0'], required: get_option('use_system_wlroots')) ++wlroots = dependency('wlroots', version: ['>=0.13.0', '<0.14.0'], required: get_option('use_system_wlroots')) + wfconfig = dependency('wf-config', version: ['>=0.7.0', '<0.8.0'], required: get_option('use_system_wfconfig')) + + use_system_wlroots = not get_option('use_system_wlroots').disabled() and wlroots.found() +diff --git a/plugins/single_plugins/vswipe.cpp b/plugins/single_plugins/vswipe.cpp +index da37448c..26c8f399 100644 +--- a/plugins/single_plugins/vswipe.cpp ++++ b/plugins/single_plugins/vswipe.cpp +@@ -1,3 +1,4 @@ ++#include + #include + #include + #include +diff --git a/src/api/wayfire/nonstd/wlroots-full.hpp b/src/api/wayfire/nonstd/wlroots-full.hpp +index 77a12c70..4a24f1a1 100644 +--- a/src/api/wayfire/nonstd/wlroots-full.hpp ++++ b/src/api/wayfire/nonstd/wlroots-full.hpp +@@ -112,6 +112,8 @@ extern "C" + #include + #include + #include ++#include ++#include + #include + #include + #include +diff --git a/src/api/wayfire/nonstd/wlroots.hpp b/src/api/wayfire/nonstd/wlroots.hpp +index 4686d14f..402ab3cd 100644 +--- a/src/api/wayfire/nonstd/wlroots.hpp ++++ b/src/api/wayfire/nonstd/wlroots.hpp +@@ -43,7 +43,14 @@ extern "C" + struct wlr_viewporter; + + #include ++#include ++#include ++#include + #include + #include + #include ++#include ++ ++ static constexpr uint32_t WLR_KEY_PRESSED = WL_KEYBOARD_KEY_STATE_PRESSED; ++ static constexpr uint32_t WLR_KEY_RELEASED = WL_KEYBOARD_KEY_STATE_RELEASED; + } +diff --git a/src/core/opengl.cpp b/src/core/opengl.cpp +index 09022930..aacb0800 100644 +--- a/src/core/opengl.cpp ++++ b/src/core/opengl.cpp +@@ -227,25 +227,27 @@ void render_rectangle(wf::geometry_t geometry, wf::color_t color, + + void render_begin() + { +- /* No real reason for 10, 10, 0 but it doesn't matter */ +- render_begin(10, 10, 0); ++ if (!wlr_egl_is_current(wf::get_core_impl().egl)) ++ { ++ wlr_egl_make_current(wf::get_core_impl().egl); ++ } ++ ++ GL_CALL(glEnable(GL_BLEND)); ++ GL_CALL(glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)); + } + + void render_begin(const wf::framebuffer_base_t& fb) + { +- render_begin(fb.viewport_width, fb.viewport_height, fb.fb); ++ render_begin(); ++ fb.bind(); + } + +-void render_begin(int32_t viewport_width, int32_t viewport_height, uint32_t fb) ++void render_begin(int32_t width, int32_t height, uint32_t fb) + { +- if (!wlr_egl_is_current(wf::get_core_impl().egl)) +- { +- wlr_egl_make_current(wf::get_core_impl().egl, EGL_NO_SURFACE, NULL); +- } ++ render_begin(); + +- wlr_renderer_begin(wf::get_core_impl().renderer, +- viewport_width, viewport_height); +- GL_CALL(glBindFramebuffer(GL_FRAMEBUFFER, fb)); ++ GL_CALL(glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fb)); ++ GL_CALL(glViewport(0, 0, width, height)); + } + + void clear(wf::color_t col, uint32_t mask) +@@ -257,8 +259,7 @@ void clear(wf::color_t col, uint32_t mask) + void render_end() + { + GL_CALL(glBindFramebuffer(GL_FRAMEBUFFER, current_output_fb)); +- wlr_renderer_scissor(wf::get_core().renderer, NULL); +- wlr_renderer_end(wf::get_core().renderer); ++ GL_CALL(glDisable(GL_SCISSOR_TEST)); + } + } + +diff --git a/src/core/seat/cursor.cpp b/src/core/seat/cursor.cpp +index 7ba23b06..d6006f17 100644 +--- a/src/core/seat/cursor.cpp ++++ b/src/core/seat/cursor.cpp +@@ -160,7 +160,10 @@ void wf::cursor_t::set_cursor(std::string name) + name = "left_ptr"; + } + +- wlr_xcursor_manager_set_cursor_image(xcursor, name.c_str(), cursor); ++ idle_set_cursor.run_once([name, this] () ++ { ++ wlr_xcursor_manager_set_cursor_image(xcursor, name.c_str(), cursor); ++ }); + } + + void wf::cursor_t::unhide_cursor() +@@ -175,6 +178,7 @@ void wf::cursor_t::unhide_cursor() + + void wf::cursor_t::hide_cursor() + { ++ idle_set_cursor.disconnect(); + wlr_cursor_set_surface(cursor, NULL, 0, 0); + this->hide_ref_counter++; + } +diff --git a/src/core/seat/cursor.hpp b/src/core/seat/cursor.hpp +index 0c4ab8fe..aec8f1aa 100644 +--- a/src/core/seat/cursor.hpp ++++ b/src/core/seat/cursor.hpp +@@ -3,6 +3,7 @@ + + #include "seat.hpp" + #include "wayfire/plugin.hpp" ++#include "wayfire/util.hpp" + + namespace wf + { +@@ -28,6 +29,13 @@ struct cursor_t + void hide_cursor(); + int hide_ref_counter = 0; + ++ /** ++ * Delay setting the cursor, in order to avoid setting the cursor ++ * multiple times in a single frame and to avoid setting it in the middle ++ * of the repaint loop (not allowed by wlroots). ++ */ ++ wf::wl_idle_call idle_set_cursor; ++ + /** + * Start/stop touchscreen mode, which means the cursor will be hidden. + * It will be shown again once a pointer or tablet event happens. +diff --git a/src/main.cpp b/src/main.cpp +index bd07d618..0c5e97e7 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -260,7 +260,7 @@ int main(int argc, char *argv[]) + /** TODO: move this to core_impl constructor */ + core.display = display; + core.ev_loop = wl_display_get_event_loop(core.display); +- core.backend = wlr_backend_autocreate(core.display, NULL); ++ core.backend = wlr_backend_autocreate(core.display); + core.renderer = wlr_backend_get_renderer(core.backend); + core.egl = wlr_gles2_renderer_get_egl(core.renderer); + assert(core.egl); +diff --git a/src/output/render-manager.cpp b/src/output/render-manager.cpp +index 2039333c..cb2a38bf 100644 +--- a/src/output/render-manager.cpp ++++ b/src/output/render-manager.cpp +@@ -1019,8 +1019,12 @@ class wf::render_manager::impl + swap_damage |= output_damage->get_wlr_damage_box(); + } + +- OpenGL::render_begin(postprocessing->get_target_framebuffer()); +- wlr_output_render_software_cursors(output->handle, swap_damage.to_pixman()); ++ OpenGL::render_begin(); ++ wlr_renderer_begin(wf::get_core().renderer, ++ output->handle->width, output->handle->height); ++ wlr_output_render_software_cursors(output->handle, ++ swap_damage.to_pixman()); ++ wlr_renderer_end(wf::get_core().renderer); + OpenGL::render_end(); + + /* Part 4: postprocessing effects */ diff --git a/srcpkgs/wayfire/template b/srcpkgs/wayfire/template index ab6136b72473..1b94e4d7f0a2 100644 --- a/srcpkgs/wayfire/template +++ b/srcpkgs/wayfire/template @@ -1,7 +1,7 @@ # Template file for 'wayfire' pkgname=wayfire version=0.7.0 -revision=2 +revision=1 _utils_commit=f45641beef46babdc8f1b8d18a924e72beaf8ee6 _touch_commit=b1075c54a280f913edc26b9757262f4f9d6b62b0 build_style=meson @@ -19,6 +19,7 @@ distfiles="https://github.com/WayfireWM/wayfire/archive/v${version}.tar.gz checksum="b1a94ad2843db19e78cbd361ceebaade4507647ad893d5b5117a9fc7724ce41c d172f8c21e0bac01e4116cd957fb0159c5cb39ddfdce897beb0d9c753796d5f1 2b22e03d3a522baeff5798f630ffe5aa95899fd3233b291527503af5fd3e30be" +patch_args=-Np1 # Optimization for nested STL calls CXXFLAGS="-O3" From f27140eef04e598a9c833d6a6734f618113454d4 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Sun, 18 Apr 2021 12:31:27 +0200 Subject: [PATCH 6/7] wayfire-plugins-extra: revbump for wlroots 0.13.0. --- srcpkgs/wayfire-plugins-extra/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/wayfire-plugins-extra/template b/srcpkgs/wayfire-plugins-extra/template index 60fd9784e783..320429eb61d1 100644 --- a/srcpkgs/wayfire-plugins-extra/template +++ b/srcpkgs/wayfire-plugins-extra/template @@ -1,7 +1,7 @@ # Template file for 'wayfire-plugins-extra' pkgname=wayfire-plugins-extra version=0.7.0 -revision=1 +revision=2 build_style=meson hostmakedepends="pkg-config wayland-devel" makedepends="wayfire-devel glibmm-devel" From 3362982941be891bce846d0ba69649543d26211a Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Mon, 19 Apr 2021 00:07:05 +0200 Subject: [PATCH 7/7] xdg-desktop-portal-wlr: update to 0.3.0. --- .../fix-return-value-on-cmd-failure.patch | 22 +++++++++++++++++++ srcpkgs/xdg-desktop-portal-wlr/template | 10 +++++---- 2 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 srcpkgs/xdg-desktop-portal-wlr/patches/fix-return-value-on-cmd-failure.patch diff --git a/srcpkgs/xdg-desktop-portal-wlr/patches/fix-return-value-on-cmd-failure.patch b/srcpkgs/xdg-desktop-portal-wlr/patches/fix-return-value-on-cmd-failure.patch new file mode 100644 index 000000000000..40b7a809516c --- /dev/null +++ b/srcpkgs/xdg-desktop-portal-wlr/patches/fix-return-value-on-cmd-failure.patch @@ -0,0 +1,22 @@ +From ebb50839a560134d44d7a7512faae15deae9c0fb Mon Sep 17 00:00:00 2001 +From: Stefano Ragni +Date: Sun, 18 Apr 2021 19:55:19 +0200 +Subject: [PATCH] wlr_screencast: fix return value on cmd failure + +--- + src/screencast/wlr_screencast.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/screencast/wlr_screencast.c b/src/screencast/wlr_screencast.c +index 45bea73..a3b0637 100644 +--- a/src/screencast/wlr_screencast.c ++++ b/src/screencast/wlr_screencast.c +@@ -406,7 +406,7 @@ static bool wlr_output_chooser(struct xdpw_output_chooser *chooser, + + if (!wait_chooser(pid)) { + close(chooser_out[0]); +- goto end; ++ return false; + } + + FILE *f = fdopen(chooser_out[0], "r"); diff --git a/srcpkgs/xdg-desktop-portal-wlr/template b/srcpkgs/xdg-desktop-portal-wlr/template index 3392d274358e..2854b7e0de27 100644 --- a/srcpkgs/xdg-desktop-portal-wlr/template +++ b/srcpkgs/xdg-desktop-portal-wlr/template @@ -1,17 +1,19 @@ # Template file for 'xdg-desktop-portal-wlr' pkgname=xdg-desktop-portal-wlr -version=0.2.0 +version=0.3.0 revision=1 build_style=meson -hostmakedepends="pkg-config wayland-devel" -makedepends="wayland-devel wayland-protocols elogind-devel pipewire-devel" +hostmakedepends="pkg-config wayland-devel scdoc" +makedepends="wayland-devel wayland-protocols elogind-devel pipewire-devel + iniparser-devel" depends="xdg-desktop-portal" short_desc="Backend of xdg-desktop-portal for wlroots" maintainer="Isaac Freund " license="MIT" homepage="https://github.com/emersion/xdg-desktop-portal-wlr" distfiles="${homepage}/archive/v${version}.tar.gz" -checksum=316f5df3a70331c2fa5476e33acf92349e56eb0514d245b942fcf3122ba32df6 +checksum=5c80469b04c4e5d22689f755d61adcf92758bc1c85f0747ae1f586b4bcd7873c +patch_args=-Np1 post_install() { vlicense LICENSE