From 103656c6a92602cf0aebd1532fa0a64c12a17ab5 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Thu, 16 Jul 2020 17:51:15 +0200 Subject: [PATCH 1/6] wlroots: update to 0.11.0. --- common/shlibs | 2 +- srcpkgs/wlroots/template | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common/shlibs b/common/shlibs index ba4d41130a5..887f160d5fd 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3572,7 +3572,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.5 wlroots-0.10.0_1 +libwlroots.so.6 wlroots-0.11.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 eae5dd60566..5a171277978 100644 --- a/srcpkgs/wlroots/template +++ b/srcpkgs/wlroots/template @@ -1,6 +1,6 @@ # Template file for 'wlroots' pkgname=wlroots -version=0.10.1 +version=0.11.0 revision=1 build_style=meson configure_args="-Dlibcap=enabled -Dlogind=enabled -Dlogind-provider=elogind @@ -13,11 +13,11 @@ makedepends="elogind-devel libcap-devel wayland-devel wayland-protocols xcb-util-keysyms-devel xcb-util-renderutil-devel xcb-util-wm-devel xcb-util-errors-devel xcb-util-xrm-devel" short_desc="Modular Wayland compositor library" -maintainer="Orphaned " +maintainer="Isaac Freund " license="MIT" homepage="https://github.com/swaywm/wlroots" distfiles="https://github.com/swaywm/wlroots/archive/${version}.tar.gz" -checksum=b84baefbaff7bb04b3d2c43cbacef1a433e2cd65111f8fbf4bfc5faaa4b34b08 +checksum=a7645e77229aab4942748c621be8bdb8b073d94f35f3e032b867246862bf2d01 post_install() { vlicense LICENSE From 8691bf7f5aa93a1e43ca3fd12dabdcdd88f55dd3 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Thu, 16 Jul 2020 17:54:09 +0200 Subject: [PATCH 2/6] sway: update to 1.5. --- srcpkgs/sway/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/sway/template b/srcpkgs/sway/template index 49f50cd191a..3835a0c8866 100644 --- a/srcpkgs/sway/template +++ b/srcpkgs/sway/template @@ -1,7 +1,7 @@ # Template file for 'sway' pkgname=sway -version=1.4 -revision=4 +version=1.5 +revision=1 build_style=meson conf_files="/etc/sway/config" hostmakedepends="pkg-config wayland-devel scdoc git" @@ -14,7 +14,7 @@ maintainer="Érico Nogueira " license="MIT" homepage="https://swaywm.org" distfiles="https://github.com/swaywm/${pkgname}/archive/${version}.tar.gz" -checksum=e2805291fc01d49e21dda4b273e38170d1fff4e1757215439729edbed880dfbe +checksum=c80644774d612d7d377093d4990061d36c36673862c06318a7b0e37fa47b0178 build_options="elogind" desc_option_elogind="Uses elogind instead of setuid for privilege escalation" From 524202c643cc18091ce7461ea8ce9ed5f429dfe3 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Thu, 16 Jul 2020 18:03:40 +0200 Subject: [PATCH 3/6] cage: update to 0.1.2.1. --- ...1.1-fix-building-with-wlroots-0.10.0.patch | 41 ------------------- srcpkgs/cage/template | 9 ++-- 2 files changed, 4 insertions(+), 46 deletions(-) delete mode 100644 srcpkgs/cage/patches/cage-0.1.1-fix-building-with-wlroots-0.10.0.patch diff --git a/srcpkgs/cage/patches/cage-0.1.1-fix-building-with-wlroots-0.10.0.patch b/srcpkgs/cage/patches/cage-0.1.1-fix-building-with-wlroots-0.10.0.patch deleted file mode 100644 index 111aa937dfb..00000000000 --- a/srcpkgs/cage/patches/cage-0.1.1-fix-building-with-wlroots-0.10.0.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- output.c -+++ output.c -@@ -386,6 +386,9 @@ - /* Place the cursor in the center of the screen. */ - wlr_cursor_warp(server->seat->cursor, NULL, wlr_output->width / 2, wlr_output->height / 2); - wlr_output_damage_add_whole(server->output->damage); -+ -+ wlr_output_enable(wlr_output, true); -+ wlr_output_commit(wlr_output); - } - - void ---- meson.build -+++ meson.build -@@ -35,7 +35,7 @@ - ) - endif - --wlroots = dependency('wlroots', version: '>= 0.6.0') -+wlroots = dependency('wlroots', version: '>= 0.10.0') - wayland_protos = dependency('wayland-protocols', version: '>=1.14') - wayland_server = dependency('wayland-server') - pixman = dependency('pixman-1') ---- cage.c -+++ cage.c -@@ -374,15 +374,6 @@ - wl_event_source_remove(sigint_source); - wl_event_source_remove(sigterm_source); - seat_destroy(server.seat); -- wlr_server_decoration_manager_destroy(server_decoration_manager); -- wlr_xdg_decoration_manager_v1_destroy(xdg_decoration_manager); -- wlr_xdg_shell_destroy(xdg_shell); -- wlr_idle_inhibit_v1_destroy(server.idle_inhibit_v1); -- if (server.idle) { -- wlr_idle_destroy(server.idle); -- } -- wlr_data_device_manager_destroy(data_device_mgr); -- wlr_compositor_destroy(compositor); - wlr_output_layout_destroy(server.output_layout); - /* This function is not null-safe, but we only ever get here - with a proper wl_display. */ diff --git a/srcpkgs/cage/template b/srcpkgs/cage/template index 49342bf81c7..76ba731cc58 100644 --- a/srcpkgs/cage/template +++ b/srcpkgs/cage/template @@ -1,18 +1,17 @@ # Template file for 'cage' pkgname=cage -version=0.1.1 -revision=2 +version=0.1.2.1 +revision=1 build_style=meson -hostmakedepends="pkg-config wayland-devel" +hostmakedepends="pkg-config wayland-devel scdoc" makedepends="xcb-util-wm-devel xcb-util-errors-devel libxkbcommon-devel pixman-devel wayland-devel wlroots-devel" short_desc="Kiosk compositor for Wayland" maintainer="Illia Shestakov " license="MIT" homepage="https://www.hjdskes.nl/projects/cage/" distfiles="https://github.com/Hjdskes/cage/archive/v${version}.tar.gz" -checksum=63efbe96cf307381f2bedf9b80153343e255970a70d612515da7dc325dd49478 +checksum=38a3e3968f00cc58fe1d9448e972cfac7d1efa30c48699f09032f264101a55ac post_install() { vlicense LICENSE - vdoc README.md } From b575afb320366574a199973de30f86a48a4a304d Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Thu, 16 Jul 2020 18:12:43 +0200 Subject: [PATCH 4/6] hikari: update to 2.0.5. --- srcpkgs/hikari/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/hikari/template b/srcpkgs/hikari/template index 50f1f6fad4e..a2691d87140 100644 --- a/srcpkgs/hikari/template +++ b/srcpkgs/hikari/template @@ -1,7 +1,7 @@ # Template file for 'hikari' pkgname=hikari version=2.0.5 -revision=1 +revision=2 build_style=gnu-makefile make_cmd=bmake make_use_env=yes From fc86a7d06be70f2f463acb5b4181cc0da444c346 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Thu, 16 Jul 2020 22:14:04 +0200 Subject: [PATCH 5/6] wayfire: patch for wlroots 0.11.0 compatibility --- srcpkgs/wayfire/patches/wlroots_0.11.0.patch | 149 +++++++++++++++++++ srcpkgs/wayfire/template | 2 +- 2 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/wayfire/patches/wlroots_0.11.0.patch diff --git a/srcpkgs/wayfire/patches/wlroots_0.11.0.patch b/srcpkgs/wayfire/patches/wlroots_0.11.0.patch new file mode 100644 index 00000000000..d619a785898 --- /dev/null +++ b/srcpkgs/wayfire/patches/wlroots_0.11.0.patch @@ -0,0 +1,149 @@ +Thanks to jbeich and FreeBSD: +https://github.com/freebsd/freebsd-ports/commit/c920e5595b69a5a550bd452015634630a5374822 + +https://github.com/WayfireWM/wayfire/commit/0d6cecd27799 +https://github.com/WayfireWM/wayfire/commit/187b525c16d1 +https://github.com/WayfireWM/wayfire/commit/29dcd1387700 +https://github.com/WayfireWM/wayfire/commit/0e4e29acb3e9 + +--- meson.build.orig 2020-03-21 19:10:27 UTC ++++ meson.build +@@ -29,7 +29,7 @@ libinput = dependency('libinput', version: '>=1. + pixman = dependency('pixman-1') + threads = dependency('threads') + xkbcommon = dependency('xkbcommon') +-wlroots = dependency('wlroots', version: ['>=0.9.0', '<0.11.0'], required: get_option('use_system_wlroots')) ++wlroots = dependency('wlroots', version: ['>=0.11.0', '<0.12.0'], required: get_option('use_system_wlroots')) + wfconfig = dependency('wf-config', version: ['>=0.4.0', '<0.5.0'], required: get_option('use_system_wfconfig')) + + use_system_wlroots = not get_option('use_system_wlroots').disabled() and wlroots.found() +--- src/api/wayfire/core.hpp.orig 2020-03-21 19:10:27 UTC ++++ src/api/wayfire/core.hpp +@@ -226,11 +226,12 @@ class compositor_core_t : public wf::object_base_t + std::string wayland_display; + + /** +- * Return the xwayland display number. ++ * Return the xwayland display name. + * +- * This returns -1 if xwayland is not available ++ * @return The xwayland display name, or empty string if xwayland is not ++ * available. + */ +- virtual int get_xwayland_display() = 0; ++ virtual std::string get_xwayland_display() = 0; + + /** + * Execute the given command in a bash shell. +--- src/core/core-impl.hpp.orig 2020-03-21 19:10:27 UTC ++++ src/core/core-impl.hpp +@@ -75,7 +75,7 @@ class compositor_core_impl_t : public compositor_core_ + int focus_layer(uint32_t layer, int request) override; + void unfocus_layer(int request) override; + uint32_t get_focused_layer() override; +- int get_xwayland_display() override; ++ std::string get_xwayland_display() override; + void run(std::string command) override; + + private: +--- src/core/core.cpp.orig 2020-03-21 19:10:27 UTC ++++ src/core/core.cpp +@@ -548,9 +548,8 @@ void wf::compositor_core_impl_t::run(std::string comma + setenv("_JAVA_AWT_WM_NONREPARENTING", "1", 1); + setenv("WAYLAND_DISPLAY", wayland_display.c_str(), 1); + #if WLR_HAS_XWAYLAND +- if (xwayland_get_display() >= 0) { +- auto xdisp = ":" + std::to_string(xwayland_get_display()); +- setenv("DISPLAY", xdisp.c_str(), 1); ++ if (!xwayland_get_display().empty()) { ++ setenv("DISPLAY", xwayland_get_display().c_str(), 1); + } + #endif + int dev_null = open("/dev/null", O_WRONLY); +@@ -567,7 +566,7 @@ void wf::compositor_core_impl_t::run(std::string comma + } + } + +-int wf::compositor_core_impl_t::get_xwayland_display() ++std::string wf::compositor_core_impl_t::get_xwayland_display() + { + return xwayland_get_display(); + } +--- src/core/seat/keyboard.cpp.orig 2020-03-21 19:10:27 UTC ++++ src/core/seat/keyboard.cpp +@@ -113,15 +113,20 @@ void input_manager::set_keyboard_focus(wayfire_view vi + if (!active_grab) + { + auto kbd = wlr_seat_get_keyboard(seat); +- wlr_seat_keyboard_notify_enter(seat, surface, +- kbd ? kbd->keycodes : NULL, +- kbd ? kbd->num_keycodes : 0, +- kbd ? &kbd->modifiers : NULL); ++ if (surface) ++ { ++ wlr_seat_keyboard_notify_enter(seat, surface, ++ kbd ? kbd->keycodes : NULL, ++ kbd ? kbd->num_keycodes : 0, ++ kbd ? &kbd->modifiers : NULL); ++ } else { ++ wlr_seat_keyboard_clear_focus(seat); ++ } + keyboard_focus = view; + } + else + { +- wlr_seat_keyboard_notify_enter(seat, NULL, NULL, 0, NULL); ++ wlr_seat_keyboard_clear_focus(seat); + keyboard_focus = nullptr; + } + } +--- src/core/seat/pointer.cpp.orig 2020-03-21 19:10:27 UTC ++++ src/core/seat/pointer.cpp +@@ -116,7 +116,7 @@ void wf::LogicalPointer::update_cursor_focus(wf::surfa + + cursor_focus = focus; + wlr_surface *next_focus_wlr_surface = nullptr; +- if (focus && !compositor_surface_from_surface(focus)) ++ if (focus && focus->get_wlr_surface()) + { + next_focus_wlr_surface = focus->get_wlr_surface(); + wlr_seat_pointer_notify_enter(input->seat, next_focus_wlr_surface, +--- src/view/surface.cpp.orig 2020-03-21 19:10:27 UTC ++++ src/view/surface.cpp +@@ -322,7 +322,7 @@ void wf::wlr_surface_base_t::unmap() + wlr_buffer* wf::wlr_surface_base_t::get_buffer() + { + if (surface && wlr_surface_has_buffer(surface)) +- return surface->buffer; ++ return &surface->buffer->base; + + return nullptr; + } +--- src/view/view-impl.hpp.orig 2020-03-21 19:10:27 UTC ++++ src/view/view-impl.hpp +@@ -204,7 +204,7 @@ void init_xwayland(); + void init_layer_shell(); + + void xwayland_set_seat(wlr_seat *seat); +-int xwayland_get_display(); ++std::string xwayland_get_display(); + + void init_desktop_apis(); + } +--- src/view/xwayland.cpp.orig 2020-03-21 19:10:27 UTC ++++ src/view/xwayland.cpp +@@ -567,11 +567,11 @@ void wf::xwayland_set_seat(wlr_seat *seat) + #endif + } + +-int wf::xwayland_get_display() ++std::string wf::xwayland_get_display() + { + #if WLR_HAS_XWAYLAND +- return xwayland_handle ? xwayland_handle->display : -1; ++ return xwayland_handle ? nonull(xwayland_handle->display_name) : ""; + #else +- return -1; ++ return ""; + #endif + } diff --git a/srcpkgs/wayfire/template b/srcpkgs/wayfire/template index 0298848a39e..82c2d338c44 100644 --- a/srcpkgs/wayfire/template +++ b/srcpkgs/wayfire/template @@ -1,7 +1,7 @@ # Template file for 'wayfire' pkgname=wayfire version=0.4.0 -revision=2 +revision=3 build_style=meson hostmakedepends="pkg-config wayland-devel" makedepends="xcb-util-wm-devel xcb-util-errors-devel glm cairo-devel wf-config-devel" From b8c214e3caaacdfbb51dbd191382ccd2f33c33b8 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Thu, 16 Jul 2020 22:29:30 +0200 Subject: [PATCH 6/6] wayfire, wf-config: fix makedepends Some of the makedepends for wayfire were pulled in by wf-config instead. --- srcpkgs/wayfire/template | 3 ++- srcpkgs/wf-config/template | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/wayfire/template b/srcpkgs/wayfire/template index 82c2d338c44..ee4f3199a00 100644 --- a/srcpkgs/wayfire/template +++ b/srcpkgs/wayfire/template @@ -4,7 +4,8 @@ version=0.4.0 revision=3 build_style=meson hostmakedepends="pkg-config wayland-devel" -makedepends="xcb-util-wm-devel xcb-util-errors-devel glm cairo-devel wf-config-devel" +makedepends="xcb-util-wm-devel xcb-util-errors-devel glm cairo-devel + wf-config-devel wlroots-devel" depends="xorg-server-xwayland" short_desc="3D wayland compositor" maintainer="Young Jin Park " diff --git a/srcpkgs/wf-config/template b/srcpkgs/wf-config/template index badf10acffd..a263968417e 100644 --- a/srcpkgs/wf-config/template +++ b/srcpkgs/wf-config/template @@ -4,8 +4,7 @@ version=0.4.0 revision=2 build_style=meson hostmakedepends="pkg-config" -makedepends="glm libevdev-devel wlroots-devel xcb-util-errors-devel - xcb-util-wm-devel libxml2-devel" +makedepends="glm libevdev-devel libxml2-devel" short_desc="Wayfire library for managing configuration files" maintainer="Young Jin Park " license="MIT"