Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] wlroots: update to 0.13.0.
@ 2021-04-07 20:02 ifreund
  2021-04-07 20:07 ` ericonr
                   ` (27 more replies)
  0 siblings, 28 replies; 29+ messages in thread
From: ifreund @ 2021-04-07 20:02 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 880 bytes --]

There is a new pull request by ifreund against master on the void-packages repository

https://github.com/ifreund/void-packages bump-wlroots
https://github.com/void-linux/void-packages/pull/30076

wlroots: update to 0.13.0.
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

This will remain a draft until all reverse dependencies have been bumped as needed.


A patch file from https://github.com/void-linux/void-packages/pull/30076.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bump-wlroots-30076.patch --]
[-- Type: text/x-diff, Size: 2615 bytes --]

From 08015e4aba63ea2514dcf7dbe2a92db84deb7a5e Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Wed, 7 Apr 2021 22:02:02 +0200
Subject: [PATCH] wlroots: update to 0.13.0.

---
 common/shlibs            |  2 +-
 srcpkgs/wlroots/template | 17 +++++++++--------
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 70be7e00c51d..73200d8dac2e 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3470,7 +3470,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..e39abd4f1ea6 100644
--- a/srcpkgs/wlroots/template
+++ b/srcpkgs/wlroots/template
@@ -1,25 +1,26 @@
 # 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"
 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-renderutil-devel xcb-util-xrm-devel
+ xorg-server-xwayland"
 short_desc="Modular Wayland compositor library"
 maintainer="Isaac Freund <ifreund@ifreund.xyz>"
 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
@ 2021-04-07 20:07 ` ericonr
  2021-04-07 20:42 ` [PR PATCH] [Updated] " ifreund
                   ` (26 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ericonr @ 2021-04-07 20:07 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 179 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-815213047

Comment:
Probably makes sense to wait on #29641

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
  2021-04-07 20:07 ` ericonr
@ 2021-04-07 20:42 ` ifreund
  2021-04-07 21:14 ` jbeich
                   ` (25 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ifreund @ 2021-04-07 20:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 885 bytes --]

There is an updated pull request by ifreund against master on the void-packages repository

https://github.com/ifreund/void-packages bump-wlroots
https://github.com/void-linux/void-packages/pull/30076

wlroots: update to 0.13.0.
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

This will remain a draft until all reverse dependencies have been bumped as needed.


A patch file from https://github.com/void-linux/void-packages/pull/30076.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bump-wlroots-30076.patch --]
[-- Type: text/x-diff, Size: 2615 bytes --]

From 08015e4aba63ea2514dcf7dbe2a92db84deb7a5e Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Wed, 7 Apr 2021 22:02:02 +0200
Subject: [PATCH] wlroots: update to 0.13.0.

---
 common/shlibs            |  2 +-
 srcpkgs/wlroots/template | 17 +++++++++--------
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 70be7e00c51d..73200d8dac2e 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3470,7 +3470,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..e39abd4f1ea6 100644
--- a/srcpkgs/wlroots/template
+++ b/srcpkgs/wlroots/template
@@ -1,25 +1,26 @@
 # 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"
 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-renderutil-devel xcb-util-xrm-devel
+ xorg-server-xwayland"
 short_desc="Modular Wayland compositor library"
 maintainer="Isaac Freund <ifreund@ifreund.xyz>"
 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
  2021-04-07 20:07 ` ericonr
  2021-04-07 20:42 ` [PR PATCH] [Updated] " ifreund
@ 2021-04-07 21:14 ` jbeich
  2021-04-07 22:24 ` ifreund
                   ` (24 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: jbeich @ 2021-04-07 21:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 277 bytes --]

New comment by jbeich on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-815268962

Comment:
For wayfire/hikari/etc fixes try extracting from https://github.com/freebsd/freebsd-ports/commit/70148c11889b8de458a1c3ea23c94d05af404296

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (2 preceding siblings ...)
  2021-04-07 21:14 ` jbeich
@ 2021-04-07 22:24 ` ifreund
  2021-04-08  2:28 ` ericonr
                   ` (23 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ifreund @ 2021-04-07 22:24 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 445 bytes --]

New comment by ifreund on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-815301741

Comment:
@jbeich Thanks, I'm amazed by your speed as usual.

Looks like you've even patched my own river and zig-wlroots for wlroots 0.13.0 before I finished doing the same thing... If you give me a couple more hours next time it could save some duplicated effort :P Very cool to see river packaged for FreeBSD!

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (3 preceding siblings ...)
  2021-04-07 22:24 ` ifreund
@ 2021-04-08  2:28 ` ericonr
  2021-04-09 18:44 ` st3r4g
                   ` (22 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ericonr @ 2021-04-08  2:28 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 220 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-815399814

Comment:
Btw, I think we can remove all the `INSTALL.msg`s from wlroots compositors now.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (4 preceding siblings ...)
  2021-04-08  2:28 ` ericonr
@ 2021-04-09 18:44 ` st3r4g
  2021-04-10 17:56 ` [PR PATCH] [Updated] " ifreund
                   ` (21 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: st3r4g @ 2021-04-09 18:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 357 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-816885645

Comment:
for me wlroots 0.13 broke screen sharing on an Intel Broadwell GPU: it was really a xdg-desktop-portal-wlr bug (triggered by the wlroots update), now fixed in master, but it seems they haven't cut a point release yet.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (5 preceding siblings ...)
  2021-04-09 18:44 ` st3r4g
@ 2021-04-10 17:56 ` ifreund
  2021-04-18 10:18 ` ifreund
                   ` (20 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ifreund @ 2021-04-10 17:56 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 885 bytes --]

There is an updated pull request by ifreund against master on the void-packages repository

https://github.com/ifreund/void-packages bump-wlroots
https://github.com/void-linux/void-packages/pull/30076

wlroots: update to 0.13.0.
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

This will remain a draft until all reverse dependencies have been bumped as needed.


A patch file from https://github.com/void-linux/void-packages/pull/30076.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bump-wlroots-30076.patch --]
[-- Type: text/x-diff, Size: 10694 bytes --]

From bc1a2add7e18bfa05b1439a5fd02a0e7d8990fe7 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Wed, 7 Apr 2021 22:02:02 +0200
Subject: [PATCH 1/3] 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 8d3c87b4d34e..fc74a72fe1b7 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3467,7 +3467,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 <ifreund@ifreund.xyz>"
 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 276e01022079e9544e4e5a10eaa132cb760a9667 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Wed, 7 Apr 2021 22:42:06 +0200
Subject: [PATCH 2/3] sway: update to 1.6.

---
 srcpkgs/sway/patches/6046.patch | 133 --------------------------------
 srcpkgs/sway/template           |  12 +--
 2 files changed, 4 insertions(+), 141 deletions(-)
 delete mode 100644 srcpkgs/sway/patches/6046.patch

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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <olafm@p-value.net>"
 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 b0e32ad546652665750586474a596600411f7610 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sat, 10 Apr 2021 19:46:49 +0200
Subject: [PATCH 3/3] hikari: update to 2.3.0.

---
 srcpkgs/hikari/template | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

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
 }

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (6 preceding siblings ...)
  2021-04-10 17:56 ` [PR PATCH] [Updated] " ifreund
@ 2021-04-18 10:18 ` ifreund
  2021-04-18 10:32 ` ifreund
                   ` (19 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ifreund @ 2021-04-18 10:18 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 885 bytes --]

There is an updated pull request by ifreund against master on the void-packages repository

https://github.com/ifreund/void-packages bump-wlroots
https://github.com/void-linux/void-packages/pull/30076

wlroots: update to 0.13.0.
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

This will remain a draft until all reverse dependencies have been bumped as needed.


A patch file from https://github.com/void-linux/void-packages/pull/30076.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bump-wlroots-30076.patch --]
[-- Type: text/x-diff, Size: 20396 bytes --]

From 60e7f030a4b86ab3727b82aca5a8a3019f74bbbd Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Wed, 7 Apr 2021 22:02:02 +0200
Subject: [PATCH 1/5] 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 <ifreund@ifreund.xyz>"
 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 bdfdf55381f4708f66d0854d5bfd49f6a3b45f6a Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Wed, 7 Apr 2021 22:42:06 +0200
Subject: [PATCH 2/5] sway: update to 1.6.

---
 srcpkgs/sway/patches/6046.patch | 133 --------------------------------
 srcpkgs/sway/template           |  12 +--
 2 files changed, 4 insertions(+), 141 deletions(-)
 delete mode 100644 srcpkgs/sway/patches/6046.patch

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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <olafm@p-value.net>"
 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 5bb72d4bb3c0873617c1c0fafafefdc26b1c58c9 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sat, 10 Apr 2021 19:46:49 +0200
Subject: [PATCH 3/5] hikari: update to 2.3.0.

---
 srcpkgs/hikari/template | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

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 663b8a0942edffdec0e24745543aab7cce5928e2 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sun, 18 Apr 2021 11:25:11 +0200
Subject: [PATCH 4/5] cage: update to 0.1.3.

---
 srcpkgs/cage/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

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 <ishestakov@airmail.cc>"
 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 691379e6eaf93d110de7f2805c04ff0f4147c080 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sun, 18 Apr 2021 12:18:32 +0200
Subject: [PATCH 5/5] wayfire: update to 0.7.0.

---
 srcpkgs/wayfire/patches/wlroots13.patch | 189 ++++++++++++++++++++++++
 srcpkgs/wayfire/template                |   3 +-
 2 files changed, 191 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/wayfire/patches/wlroots13.patch

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 <wayfire/nonstd/wlroots-full.hpp>
+ #include <wayfire/plugin.hpp>
+ #include <wayfire/output.hpp>
+ #include <wayfire/core.hpp>
+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 <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/types/wlr_idle.h>
+ #include <wlr/interfaces/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
++#include <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/xcursor.h>
+ #include <wlr/types/wlr_data_control_v1.h>
+ #include <wlr/types/wlr_virtual_keyboard_v1.h>
+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 <wlr/types/wlr_input_device.h>
++#include <wlr/types/wlr_pointer.h>
++#include <wlr/types/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
+ #include <wlr/types/wlr_output.h>
+ #include <wlr/types/wlr_box.h>
+ #include <wlr/util/edges.h>
++#include <wayland-server.h>
++
++    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"

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (7 preceding siblings ...)
  2021-04-18 10:18 ` ifreund
@ 2021-04-18 10:32 ` ifreund
  2021-04-18 11:01 ` ifreund
                   ` (18 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ifreund @ 2021-04-18 10:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 885 bytes --]

There is an updated pull request by ifreund against master on the void-packages repository

https://github.com/ifreund/void-packages bump-wlroots
https://github.com/void-linux/void-packages/pull/30076

wlroots: update to 0.13.0.
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

This will remain a draft until all reverse dependencies have been bumped as needed.


A patch file from https://github.com/void-linux/void-packages/pull/30076.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bump-wlroots-30076.patch --]
[-- Type: text/x-diff, Size: 21178 bytes --]

From 60e7f030a4b86ab3727b82aca5a8a3019f74bbbd Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Wed, 7 Apr 2021 22:02:02 +0200
Subject: [PATCH 1/6] 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 <ifreund@ifreund.xyz>"
 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 bdfdf55381f4708f66d0854d5bfd49f6a3b45f6a Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Wed, 7 Apr 2021 22:42:06 +0200
Subject: [PATCH 2/6] sway: update to 1.6.

---
 srcpkgs/sway/patches/6046.patch | 133 --------------------------------
 srcpkgs/sway/template           |  12 +--
 2 files changed, 4 insertions(+), 141 deletions(-)
 delete mode 100644 srcpkgs/sway/patches/6046.patch

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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <olafm@p-value.net>"
 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 5bb72d4bb3c0873617c1c0fafafefdc26b1c58c9 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sat, 10 Apr 2021 19:46:49 +0200
Subject: [PATCH 3/6] hikari: update to 2.3.0.

---
 srcpkgs/hikari/template | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

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 663b8a0942edffdec0e24745543aab7cce5928e2 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sun, 18 Apr 2021 11:25:11 +0200
Subject: [PATCH 4/6] cage: update to 0.1.3.

---
 srcpkgs/cage/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

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 <ishestakov@airmail.cc>"
 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 691379e6eaf93d110de7f2805c04ff0f4147c080 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sun, 18 Apr 2021 12:18:32 +0200
Subject: [PATCH 5/6] wayfire: update to 0.7.0.

---
 srcpkgs/wayfire/patches/wlroots13.patch | 189 ++++++++++++++++++++++++
 srcpkgs/wayfire/template                |   3 +-
 2 files changed, 191 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/wayfire/patches/wlroots13.patch

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 <wayfire/nonstd/wlroots-full.hpp>
+ #include <wayfire/plugin.hpp>
+ #include <wayfire/output.hpp>
+ #include <wayfire/core.hpp>
+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 <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/types/wlr_idle.h>
+ #include <wlr/interfaces/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
++#include <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/xcursor.h>
+ #include <wlr/types/wlr_data_control_v1.h>
+ #include <wlr/types/wlr_virtual_keyboard_v1.h>
+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 <wlr/types/wlr_input_device.h>
++#include <wlr/types/wlr_pointer.h>
++#include <wlr/types/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
+ #include <wlr/types/wlr_output.h>
+ #include <wlr/types/wlr_box.h>
+ #include <wlr/util/edges.h>
++#include <wayland-server.h>
++
++    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 e58582baa1d012e2832c6084edbadcbb9c6bdf96 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sun, 18 Apr 2021 12:31:27 +0200
Subject: [PATCH 6/6] 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"

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (8 preceding siblings ...)
  2021-04-18 10:32 ` ifreund
@ 2021-04-18 11:01 ` ifreund
  2021-04-18 15:31 ` st3r4g
                   ` (17 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ifreund @ 2021-04-18 11:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 885 bytes --]

There is an updated pull request by ifreund against master on the void-packages repository

https://github.com/ifreund/void-packages bump-wlroots
https://github.com/void-linux/void-packages/pull/30076

wlroots: update to 0.13.0.
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

This will remain a draft until all reverse dependencies have been bumped as needed.


A patch file from https://github.com/void-linux/void-packages/pull/30076.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bump-wlroots-30076.patch --]
[-- Type: text/x-diff, Size: 23647 bytes --]

From 60e7f030a4b86ab3727b82aca5a8a3019f74bbbd Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Wed, 7 Apr 2021 22:02:02 +0200
Subject: [PATCH 1/6] 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 <ifreund@ifreund.xyz>"
 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 <ifreund@ifreund.xyz>
Date: Wed, 7 Apr 2021 22:42:06 +0200
Subject: [PATCH 2/6] 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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <olafm@p-value.net>"
 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 <ifreund@ifreund.xyz>
Date: Sat, 10 Apr 2021 19:46:49 +0200
Subject: [PATCH 3/6] 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 <ifreund@ifreund.xyz>
Date: Sun, 18 Apr 2021 11:25:11 +0200
Subject: [PATCH 4/6] 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 <ishestakov@airmail.cc>"
 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 <ifreund@ifreund.xyz>
Date: Sun, 18 Apr 2021 12:18:32 +0200
Subject: [PATCH 5/6] 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 <wayfire/nonstd/wlroots-full.hpp>
+ #include <wayfire/plugin.hpp>
+ #include <wayfire/output.hpp>
+ #include <wayfire/core.hpp>
+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 <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/types/wlr_idle.h>
+ #include <wlr/interfaces/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
++#include <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/xcursor.h>
+ #include <wlr/types/wlr_data_control_v1.h>
+ #include <wlr/types/wlr_virtual_keyboard_v1.h>
+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 <wlr/types/wlr_input_device.h>
++#include <wlr/types/wlr_pointer.h>
++#include <wlr/types/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
+ #include <wlr/types/wlr_output.h>
+ #include <wlr/types/wlr_box.h>
+ #include <wlr/util/edges.h>
++#include <wayland-server.h>
++
++    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 <ifreund@ifreund.xyz>
Date: Sun, 18 Apr 2021 12:31:27 +0200
Subject: [PATCH 6/6] 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"

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (9 preceding siblings ...)
  2021-04-18 11:01 ` ifreund
@ 2021-04-18 15:31 ` st3r4g
  2021-04-18 15:45 ` st3r4g
                   ` (16 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: st3r4g @ 2021-04-18 15:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 216 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-822010209

Comment:
could you add xdg-desktop-portal-wlr-0.3 here too? It has just been released

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (10 preceding siblings ...)
  2021-04-18 15:31 ` st3r4g
@ 2021-04-18 15:45 ` st3r4g
  2021-04-18 15:48 ` st3r4g
                   ` (15 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: st3r4g @ 2021-04-18 15:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 264 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-822010209

Comment:
could you add xdg-desktop-portal-wlr-0.3 here too? It has just been released.
Looks like it runtime depends on `slurp` now.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (11 preceding siblings ...)
  2021-04-18 15:45 ` st3r4g
@ 2021-04-18 15:48 ` st3r4g
  2021-04-18 16:22 ` st3r4g
                   ` (14 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: st3r4g @ 2021-04-18 15:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 449 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-822010209

Comment:
could you add xdg-desktop-portal-wlr-0.3 here too? It has just been released.
Looks like it runtime depends on `slurp` now. EDIT: ok maybe not:
> and will fallback to an arbitrary output if none of those were found.

That didn't quite work for me:
`2021/04/18 17:38:26 [ERROR] - wlroots: no output found`

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (12 preceding siblings ...)
  2021-04-18 15:48 ` st3r4g
@ 2021-04-18 16:22 ` st3r4g
  2021-04-18 16:24 ` st3r4g
                   ` (13 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: st3r4g @ 2021-04-18 16:22 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 631 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-822010209

Comment:
could you add xdg-desktop-portal-wlr-0.3 here too? It has just been released.
Looks like it runtime depends on `slurp` now. EDIT: ok maybe not:
> - default: xdpw will try to use the first chooser found in the list of hardcoded choosers
(slurp, wofi, bemenu) and will fallback to an arbitrary output if none of those were found.

That didn't quite work for me:
`2021/04/18 17:38:26 [ERROR] - wlroots: no output found`
Also, I have `bemenu` installed, so it should have selected that...

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (13 preceding siblings ...)
  2021-04-18 16:22 ` st3r4g
@ 2021-04-18 16:24 ` st3r4g
  2021-04-18 16:42 ` st3r4g
                   ` (12 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: st3r4g @ 2021-04-18 16:24 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1058 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-822010209

Comment:
could you add xdg-desktop-portal-wlr-0.3 here too? It has just been released.
Looks like it runtime depends on `slurp` now. EDIT: ok maybe not:
> - default: xdpw will try to use the first chooser found in the list of hardcoded choosers
(slurp, wofi, bemenu) and will fallback to an arbitrary output if none of those were found.

That didn't quite work for me:
```
2021/04/18 18:15:24 [INFO] - wlroots: capturable output: Unknown model: 0x05DF: id: 39 name: eDP-1
2021/04/18 18:15:24 [INFO] - wlroots: capturable output: Samsung Electric Company model: S22F350: id: 40 name: HDMI-A-2
2021/04/18 18:15:24 [DEBUG] - wlroots: output chooser called
2021/04/18 18:15:24 [DEBUG] - wlroots: output chooser called
/bin/sh: 1: slurp: not found
[DEBUG] - wlroots: output chooser canceled
2021/04/18 18:15:24 [ERROR] - wlroots: no output found
```
Also, I have `bemenu` installed, so it should have selected that...

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (14 preceding siblings ...)
  2021-04-18 16:24 ` st3r4g
@ 2021-04-18 16:42 ` st3r4g
  2021-04-18 17:47 ` st3r4g
                   ` (11 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: st3r4g @ 2021-04-18 16:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1142 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-822010209

Comment:
could you add xdg-desktop-portal-wlr-0.3 here too? It has just been released.
Looks like it runtime depends on `slurp` now. EDIT: ok maybe not:
> - default: xdpw will try to use the first chooser found in the list of hardcoded choosers
(slurp, wofi, bemenu) and will fallback to an arbitrary output if none of those were found.

That didn't quite work for me:
```
2021/04/18 18:15:24 [INFO] - wlroots: capturable output: Unknown model: 0x05DF: id: 39 name: eDP-1
2021/04/18 18:15:24 [INFO] - wlroots: capturable output: Samsung Electric Company model: S22F350: id: 40 name: HDMI-A-2
2021/04/18 18:15:24 [DEBUG] - wlroots: output chooser called
2021/04/18 18:15:24 [DEBUG] - wlroots: output chooser called
/bin/sh: 1: slurp: not found
[DEBUG] - wlroots: output chooser canceled
2021/04/18 18:15:24 [ERROR] - wlroots: no output found
```
Also, I have `bemenu` installed, so it should have selected that...
Yeah looks like something is off in the logic that finds if one command succeeded.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (15 preceding siblings ...)
  2021-04-18 16:42 ` st3r4g
@ 2021-04-18 17:47 ` st3r4g
  2021-04-18 19:01 ` st3r4g
                   ` (10 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: st3r4g @ 2021-04-18 17:47 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1672 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-822010209

Comment:
could you add xdg-desktop-portal-wlr-0.3 here too? It has just been released.
Looks like it runtime depends on `slurp` now. EDIT: ok maybe not:
> - default: xdpw will try to use the first chooser found in the list of hardcoded choosers
(slurp, wofi, bemenu) and will fallback to an arbitrary output if none of those were found.

That didn't quite work for me:
```
2021/04/18 18:15:24 [INFO] - wlroots: capturable output: Unknown model: 0x05DF: id: 39 name: eDP-1
2021/04/18 18:15:24 [INFO] - wlroots: capturable output: Samsung Electric Company model: S22F350: id: 40 name: HDMI-A-2
2021/04/18 18:15:24 [DEBUG] - wlroots: output chooser called
2021/04/18 18:15:24 [DEBUG] - wlroots: output chooser called
/bin/sh: 1: slurp: not found
[DEBUG] - wlroots: output chooser canceled
2021/04/18 18:15:24 [ERROR] - wlroots: no output found
```
Also, I have `bemenu` installed, so it should have selected that...
Yeah looks like something is off in the logic that finds if one command succeeded.
This seems to fix it:
```
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");
```
I'll tell upstream.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (16 preceding siblings ...)
  2021-04-18 17:47 ` st3r4g
@ 2021-04-18 19:01 ` st3r4g
  2021-04-18 22:07 ` [PR PATCH] [Updated] " ifreund
                   ` (9 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: st3r4g @ 2021-04-18 19:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1676 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-822010209

Comment:
could you add xdg-desktop-portal-wlr-0.3 here too? It has just been released.
~~Looks like it runtime depends on `slurp` now.~~ EDIT: ok maybe not:
> - default: xdpw will try to use the first chooser found in the list of hardcoded choosers
(slurp, wofi, bemenu) and will fallback to an arbitrary output if none of those were found.

That didn't quite work for me:
```
2021/04/18 18:15:24 [INFO] - wlroots: capturable output: Unknown model: 0x05DF: id: 39 name: eDP-1
2021/04/18 18:15:24 [INFO] - wlroots: capturable output: Samsung Electric Company model: S22F350: id: 40 name: HDMI-A-2
2021/04/18 18:15:24 [DEBUG] - wlroots: output chooser called
2021/04/18 18:15:24 [DEBUG] - wlroots: output chooser called
/bin/sh: 1: slurp: not found
[DEBUG] - wlroots: output chooser canceled
2021/04/18 18:15:24 [ERROR] - wlroots: no output found
```
Also, I have `bemenu` installed, so it should have selected that...
Yeah looks like something is off in the logic that finds if one command succeeded.
This seems to fix it:
```
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");
```
I'll tell upstream.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (17 preceding siblings ...)
  2021-04-18 19:01 ` st3r4g
@ 2021-04-18 22:07 ` ifreund
  2021-04-18 22:08 ` ifreund
                   ` (8 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ifreund @ 2021-04-18 22:07 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 885 bytes --]

There is an updated pull request by ifreund against master on the void-packages repository

https://github.com/ifreund/void-packages bump-wlroots
https://github.com/void-linux/void-packages/pull/30076

wlroots: update to 0.13.0.
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

This will remain a draft until all reverse dependencies have been bumped as needed.


A patch file from https://github.com/void-linux/void-packages/pull/30076.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bump-wlroots-30076.patch --]
[-- Type: text/x-diff, Size: 26295 bytes --]

From 60e7f030a4b86ab3727b82aca5a8a3019f74bbbd Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <ifreund@ifreund.xyz>"
 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 <ifreund@ifreund.xyz>
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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <olafm@p-value.net>"
 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 <ifreund@ifreund.xyz>
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 <ifreund@ifreund.xyz>
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 <ishestakov@airmail.cc>"
 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 <ifreund@ifreund.xyz>
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 <wayfire/nonstd/wlroots-full.hpp>
+ #include <wayfire/plugin.hpp>
+ #include <wayfire/output.hpp>
+ #include <wayfire/core.hpp>
+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 <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/types/wlr_idle.h>
+ #include <wlr/interfaces/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
++#include <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/xcursor.h>
+ #include <wlr/types/wlr_data_control_v1.h>
+ #include <wlr/types/wlr_virtual_keyboard_v1.h>
+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 <wlr/types/wlr_input_device.h>
++#include <wlr/types/wlr_pointer.h>
++#include <wlr/types/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
+ #include <wlr/types/wlr_output.h>
+ #include <wlr/types/wlr_box.h>
+ #include <wlr/util/edges.h>
++#include <wayland-server.h>
++
++    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 <ifreund@ifreund.xyz>
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 097abcff9acd722383deb3453219f8963fbb1f8b Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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       |  8 ++++---
 2 files changed, 27 insertions(+), 3 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 <stefano.ragni@outlook.com>
+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..d4ee4d8c56c4 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"
+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 <ifreund@ifreund.xyz>"
 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (18 preceding siblings ...)
  2021-04-18 22:07 ` [PR PATCH] [Updated] " ifreund
@ 2021-04-18 22:08 ` ifreund
  2021-04-18 22:11 ` st3r4g
                   ` (7 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ifreund @ 2021-04-18 22:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 231 bytes --]

New comment by ifreund on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-822069951

Comment:
@st3r4g Done, and I added your patch as that logic is obviously wrong and it works for me.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (19 preceding siblings ...)
  2021-04-18 22:08 ` ifreund
@ 2021-04-18 22:11 ` st3r4g
  2021-04-18 22:12 ` [PR PATCH] [Updated] " ifreund
                   ` (6 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: st3r4g @ 2021-04-18 22:11 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 168 bytes --]

New comment by st3r4g on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-822070336

Comment:
already merged upstream too.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (20 preceding siblings ...)
  2021-04-18 22:11 ` st3r4g
@ 2021-04-18 22:12 ` ifreund
  2021-04-18 22:49 ` ifreund
                   ` (5 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ifreund @ 2021-04-18 22:12 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 885 bytes --]

There is an updated pull request by ifreund against master on the void-packages repository

https://github.com/ifreund/void-packages bump-wlroots
https://github.com/void-linux/void-packages/pull/30076

wlroots: update to 0.13.0.
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

This will remain a draft until all reverse dependencies have been bumped as needed.


A patch file from https://github.com/void-linux/void-packages/pull/30076.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bump-wlroots-30076.patch --]
[-- Type: text/x-diff, Size: 26347 bytes --]

From 60e7f030a4b86ab3727b82aca5a8a3019f74bbbd Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <ifreund@ifreund.xyz>"
 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 <ifreund@ifreund.xyz>
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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <olafm@p-value.net>"
 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 <ifreund@ifreund.xyz>
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 <ifreund@ifreund.xyz>
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 <ishestakov@airmail.cc>"
 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 <ifreund@ifreund.xyz>
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 <wayfire/nonstd/wlroots-full.hpp>
+ #include <wayfire/plugin.hpp>
+ #include <wayfire/output.hpp>
+ #include <wayfire/core.hpp>
+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 <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/types/wlr_idle.h>
+ #include <wlr/interfaces/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
++#include <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/xcursor.h>
+ #include <wlr/types/wlr_data_control_v1.h>
+ #include <wlr/types/wlr_virtual_keyboard_v1.h>
+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 <wlr/types/wlr_input_device.h>
++#include <wlr/types/wlr_pointer.h>
++#include <wlr/types/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
+ #include <wlr/types/wlr_output.h>
+ #include <wlr/types/wlr_box.h>
+ #include <wlr/util/edges.h>
++#include <wayland-server.h>
++
++    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 <ifreund@ifreund.xyz>
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 <ifreund@ifreund.xyz>
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 <stefano.ragni@outlook.com>
+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 <ifreund@ifreund.xyz>"
 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (21 preceding siblings ...)
  2021-04-18 22:12 ` [PR PATCH] [Updated] " ifreund
@ 2021-04-18 22:49 ` ifreund
  2021-04-18 22:53 ` ifreund
                   ` (4 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ifreund @ 2021-04-18 22:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 885 bytes --]

There is an updated pull request by ifreund against master on the void-packages repository

https://github.com/ifreund/void-packages bump-wlroots
https://github.com/void-linux/void-packages/pull/30076

wlroots: update to 0.13.0.
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

This will remain a draft until all reverse dependencies have been bumped as needed.


A patch file from https://github.com/void-linux/void-packages/pull/30076.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bump-wlroots-30076.patch --]
[-- Type: text/x-diff, Size: 26358 bytes --]

From 96c7910f3e69ff48af41f33f17f4a34f84e08f4d Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <ifreund@ifreund.xyz>"
 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 781eb52f784134a8db7a67ffb36e326427ff697d Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <olafm@p-value.net>"
 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 dfdb5c3cdec50624ea11fb9b55b7e337a468196d Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 a3de951e75a44e24d896ea99f24c37da195432f6 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <ishestakov@airmail.cc>"
 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 2553f0b9fbbfec14cb702a011fdd6ecb8a72f506 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sun, 18 Apr 2021 12:18:32 +0200
Subject: [PATCH 5/7] wayfire: revbump for wlroots 0.13.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 <wayfire/nonstd/wlroots-full.hpp>
+ #include <wayfire/plugin.hpp>
+ #include <wayfire/output.hpp>
+ #include <wayfire/core.hpp>
+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 <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/types/wlr_idle.h>
+ #include <wlr/interfaces/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
++#include <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/xcursor.h>
+ #include <wlr/types/wlr_data_control_v1.h>
+ #include <wlr/types/wlr_virtual_keyboard_v1.h>
+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 <wlr/types/wlr_input_device.h>
++#include <wlr/types/wlr_pointer.h>
++#include <wlr/types/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
+ #include <wlr/types/wlr_output.h>
+ #include <wlr/types/wlr_box.h>
+ #include <wlr/util/edges.h>
++#include <wayland-server.h>
++
++    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 f3fb28aa8a177bd457a1c59aedfe41050213fd5f Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 2bf2c864c5fa4a17ddf4f25f5f7112311a3aa96b Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <stefano.ragni@outlook.com>
+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 <ifreund@ifreund.xyz>"
 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (22 preceding siblings ...)
  2021-04-18 22:49 ` ifreund
@ 2021-04-18 22:53 ` ifreund
  2021-04-18 23:23 ` ifreund
                   ` (3 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ifreund @ 2021-04-18 22:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 885 bytes --]

There is an updated pull request by ifreund against master on the void-packages repository

https://github.com/ifreund/void-packages bump-wlroots
https://github.com/void-linux/void-packages/pull/30076

wlroots: update to 0.13.0.
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

This will remain a draft until all reverse dependencies have been bumped as needed.


A patch file from https://github.com/void-linux/void-packages/pull/30076.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bump-wlroots-30076.patch --]
[-- Type: text/x-diff, Size: 26123 bytes --]

From 96c7910f3e69ff48af41f33f17f4a34f84e08f4d Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <ifreund@ifreund.xyz>"
 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 781eb52f784134a8db7a67ffb36e326427ff697d Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <olafm@p-value.net>"
 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 dfdb5c3cdec50624ea11fb9b55b7e337a468196d Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 a3de951e75a44e24d896ea99f24c37da195432f6 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <ishestakov@airmail.cc>"
 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 01d1ca52cbe965e8c39325555062d4414ba37cf6 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sun, 18 Apr 2021 12:18:32 +0200
Subject: [PATCH 5/7] wayfire: revbump for wlroots 0.13.0.

---
 srcpkgs/wayfire/INSTALL.msg             |   6 -
 srcpkgs/wayfire/patches/wlroots13.patch | 189 ++++++++++++++++++++++++
 srcpkgs/wayfire/template                |   1 +
 3 files changed, 190 insertions(+), 6 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 <wayfire/nonstd/wlroots-full.hpp>
+ #include <wayfire/plugin.hpp>
+ #include <wayfire/output.hpp>
+ #include <wayfire/core.hpp>
+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 <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/types/wlr_idle.h>
+ #include <wlr/interfaces/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
++#include <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/xcursor.h>
+ #include <wlr/types/wlr_data_control_v1.h>
+ #include <wlr/types/wlr_virtual_keyboard_v1.h>
+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 <wlr/types/wlr_input_device.h>
++#include <wlr/types/wlr_pointer.h>
++#include <wlr/types/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
+ #include <wlr/types/wlr_output.h>
+ #include <wlr/types/wlr_box.h>
+ #include <wlr/util/edges.h>
++#include <wayland-server.h>
++
++    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..1e3921c5fb8e 100644
--- a/srcpkgs/wayfire/template
+++ b/srcpkgs/wayfire/template
@@ -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 e651eb7695cdf49f63772f521e75c00cd976898e Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 0598e9d7a807e5c1c880bb34d6330b278b3465cc Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <stefano.ragni@outlook.com>
+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 <ifreund@ifreund.xyz>"
 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (23 preceding siblings ...)
  2021-04-18 22:53 ` ifreund
@ 2021-04-18 23:23 ` ifreund
  2021-04-20  4:27 ` ericonr
                   ` (2 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ifreund @ 2021-04-18 23:23 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 885 bytes --]

There is an updated pull request by ifreund against master on the void-packages repository

https://github.com/ifreund/void-packages bump-wlroots
https://github.com/void-linux/void-packages/pull/30076

wlroots: update to 0.13.0.
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

This will remain a draft until all reverse dependencies have been bumped as needed.


A patch file from https://github.com/void-linux/void-packages/pull/30076.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bump-wlroots-30076.patch --]
[-- Type: text/x-diff, Size: 26358 bytes --]

From 96c7910f3e69ff48af41f33f17f4a34f84e08f4d Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <ifreund@ifreund.xyz>"
 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 781eb52f784134a8db7a67ffb36e326427ff697d Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <olafm@p-value.net>"
 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 dfdb5c3cdec50624ea11fb9b55b7e337a468196d Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 a3de951e75a44e24d896ea99f24c37da195432f6 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <ishestakov@airmail.cc>"
 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 44d95d2602f6aa1960c3b4d2891e6b12122077ab Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sun, 18 Apr 2021 12:18:32 +0200
Subject: [PATCH 5/7] wayfire: revbump for wlroots 0.13.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 <wayfire/nonstd/wlroots-full.hpp>
+ #include <wayfire/plugin.hpp>
+ #include <wayfire/output.hpp>
+ #include <wayfire/core.hpp>
+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 <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/types/wlr_idle.h>
+ #include <wlr/interfaces/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
++#include <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/xcursor.h>
+ #include <wlr/types/wlr_data_control_v1.h>
+ #include <wlr/types/wlr_virtual_keyboard_v1.h>
+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 <wlr/types/wlr_input_device.h>
++#include <wlr/types/wlr_pointer.h>
++#include <wlr/types/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
+ #include <wlr/types/wlr_output.h>
+ #include <wlr/types/wlr_box.h>
+ #include <wlr/util/edges.h>
++#include <wayland-server.h>
++
++    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..a7e80c4239e3 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=3
 _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 5ba5e0e21409cb56c4cca34558648a45e6fe731c Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 5ffd669afd89dabcfdd189ecd01c23e9ddc2a81a Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <stefano.ragni@outlook.com>
+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 <ifreund@ifreund.xyz>"
 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (24 preceding siblings ...)
  2021-04-18 23:23 ` ifreund
@ 2021-04-20  4:27 ` ericonr
  2021-04-20  4:28 ` ericonr
  2021-04-20  4:28 ` [PR PATCH] [Merged]: " ericonr
  27 siblings, 0 replies; 29+ messages in thread
From: ericonr @ 2021-04-20  4:27 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 885 bytes --]

There is an updated pull request by ericonr against master on the void-packages repository

https://github.com/ifreund/void-packages bump-wlroots
https://github.com/void-linux/void-packages/pull/30076

wlroots: update to 0.13.0.
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

This will remain a draft until all reverse dependencies have been bumped as needed.


A patch file from https://github.com/void-linux/void-packages/pull/30076.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bump-wlroots-30076.patch --]
[-- Type: text/x-diff, Size: 26550 bytes --]

From 075d97815a891aadb80130e7775fb28a797a666a Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <ifreund@ifreund.xyz>"
 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 d6be2be52618eb3b3d67b55e60d93165e8eb9c5c Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Wed, 7 Apr 2021 22:42:06 +0200
Subject: [PATCH 2/7] sway: update to 1.6.

Use configure args recommended by upstream:
- new warnings shouldn't break building the package
- assertions are used only for supposedly unreachable code
and should be kept (our build style sets b_ndebug=true)
---
 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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <kl@kl.wtf>
-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 <olafm@p-value.net>"
 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 5c6c4d32548a80992c10fd1d102097eae414f243 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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    | 9 ++++++---
 2 files changed, 6 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..4d189cf0ae3e 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,8 +16,11 @@ 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"
+# 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.
+make_check=no
 
 pre_build() {
 	# The hikari Makefile appends to the CFLAGS and LDFLAGS variables;
@@ -25,7 +28,7 @@ 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

From d563a6e57513cf3eee002edd630dc203422f51ab Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <ishestakov@airmail.cc>"
 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 2065f0a561df1cfb198821966d9b87d95aeddeaa Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sun, 18 Apr 2021 12:18:32 +0200
Subject: [PATCH 5/7] wayfire: revbump for wlroots 0.13.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 <wayfire/nonstd/wlroots-full.hpp>
+ #include <wayfire/plugin.hpp>
+ #include <wayfire/output.hpp>
+ #include <wayfire/core.hpp>
+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 <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/types/wlr_idle.h>
+ #include <wlr/interfaces/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
++#include <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/xcursor.h>
+ #include <wlr/types/wlr_data_control_v1.h>
+ #include <wlr/types/wlr_virtual_keyboard_v1.h>
+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 <wlr/types/wlr_input_device.h>
++#include <wlr/types/wlr_pointer.h>
++#include <wlr/types/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
+ #include <wlr/types/wlr_output.h>
+ #include <wlr/types/wlr_box.h>
+ #include <wlr/util/edges.h>
++#include <wayland-server.h>
++
++    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..a7e80c4239e3 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=3
 _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 3bebdced0d3a23b61da3411cf825cdef60679f22 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 ae0e333251499577b77809e7a1ef87b53a0e0a84 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
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 <stefano.ragni@outlook.com>
+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 <ifreund@ifreund.xyz>"
 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (25 preceding siblings ...)
  2021-04-20  4:27 ` ericonr
@ 2021-04-20  4:28 ` ericonr
  2021-04-20  4:28 ` [PR PATCH] [Merged]: " ericonr
  27 siblings, 0 replies; 29+ messages in thread
From: ericonr @ 2021-04-20  4:28 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 179 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/30076#issuecomment-822964808

Comment:
Updated the commit message for sway :)

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Merged]: wlroots: update to 0.13.0.
  2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
                   ` (26 preceding siblings ...)
  2021-04-20  4:28 ` ericonr
@ 2021-04-20  4:28 ` ericonr
  27 siblings, 0 replies; 29+ messages in thread
From: ericonr @ 2021-04-20  4:28 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 724 bytes --]

There's a merged pull request on the void-packages repository

wlroots: update to 0.13.0.
https://github.com/void-linux/void-packages/pull/30076

Description:
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

This will remain a draft until all reverse dependencies have been bumped as needed.


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2021-04-20  4:28 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-07 20:02 [PR PATCH] wlroots: update to 0.13.0 ifreund
2021-04-07 20:07 ` ericonr
2021-04-07 20:42 ` [PR PATCH] [Updated] " ifreund
2021-04-07 21:14 ` jbeich
2021-04-07 22:24 ` ifreund
2021-04-08  2:28 ` ericonr
2021-04-09 18:44 ` st3r4g
2021-04-10 17:56 ` [PR PATCH] [Updated] " ifreund
2021-04-18 10:18 ` ifreund
2021-04-18 10:32 ` ifreund
2021-04-18 11:01 ` ifreund
2021-04-18 15:31 ` st3r4g
2021-04-18 15:45 ` st3r4g
2021-04-18 15:48 ` st3r4g
2021-04-18 16:22 ` st3r4g
2021-04-18 16:24 ` st3r4g
2021-04-18 16:42 ` st3r4g
2021-04-18 17:47 ` st3r4g
2021-04-18 19:01 ` st3r4g
2021-04-18 22:07 ` [PR PATCH] [Updated] " ifreund
2021-04-18 22:08 ` ifreund
2021-04-18 22:11 ` st3r4g
2021-04-18 22:12 ` [PR PATCH] [Updated] " ifreund
2021-04-18 22:49 ` ifreund
2021-04-18 22:53 ` ifreund
2021-04-18 23:23 ` ifreund
2021-04-20  4:27 ` ericonr
2021-04-20  4:28 ` ericonr
2021-04-20  4:28 ` [PR PATCH] [Merged]: " ericonr

Github messages for voidlinux

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.vuxu.org/voidlinux-github

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 voidlinux-github voidlinux-github/ http://inbox.vuxu.org/voidlinux-github \
		voidlinux-github@inbox.vuxu.org
	public-inbox-index voidlinux-github

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.github.voidlinux


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git