diff --git a/4985.patch b/4985.patch deleted file mode 100644 index 96e4955..0000000 --- a/4985.patch +++ /dev/null @@ -1,38 +0,0 @@ -From d9818603142c42eea7d10fb656aaca857a179cf0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Guido=20G=C3=BCnther?= -Date: Mon, 27 Jan 2025 17:48:39 +0100 -Subject: [PATCH] seat: Don't forget to destroy touch points on touch up -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Otherwise the number of touch points goes up constantly and d'n'd via -touch can't work as validation always fails. - -Fixes 75ecba44 ("seat: add serials to touch up events") - -Signed-off-by: Guido Günther -(cherry picked from commit fef4f3637a5dfb7022887dfb36ccdd69932d2753) ---- - types/seat/wlr_seat_touch.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/types/seat/wlr_seat_touch.c b/types/seat/wlr_seat_touch.c -index 09f33d667..cc5b7c826 100644 ---- a/types/seat/wlr_seat_touch.c -+++ b/types/seat/wlr_seat_touch.c -@@ -214,9 +214,10 @@ uint32_t wlr_seat_touch_notify_up(struct wlr_seat *seat, uint32_t time, - return 0; - } - -- return grab->interface->up(grab, time, point); -+ uint32_t serial = grab->interface->up(grab, time, point); - - touch_point_destroy(point); -+ return serial; - } - - void wlr_seat_touch_notify_motion(struct wlr_seat *seat, uint32_t time, --- -GitLab - diff --git a/Revert-layer-shell-error-on-0-dimension-without-anch.patch b/Revert-layer-shell-error-on-0-dimension-without-anch.patch index 4df421b..a9112d9 100644 --- a/Revert-layer-shell-error-on-0-dimension-without-anch.patch +++ b/Revert-layer-shell-error-on-0-dimension-without-anch.patch @@ -1,44 +1,33 @@ -From ed19a7f8b2fb32e1919d7910041dac5f07fca75e Mon Sep 17 00:00:00 2001 +From e021326f7de0505fcae85f5732885848b21edf9c Mon Sep 17 00:00:00 2001 From: Aleksei Bavshin Date: Sat, 25 Jun 2022 21:22:08 -0700 Subject: [PATCH] Revert "layer-shell: error on 0 dimension without anchors" This reverts commit 8dec751a6d84335fb04288b8efab6dd5c90288d3. --- - types/wlr_layer_shell_v1.c | 20 -------------------- - 1 file changed, 20 deletions(-) + types/wlr_layer_shell_v1.c | 2 ++ + 1 file changed, 2 insertions(+) diff --git a/types/wlr_layer_shell_v1.c b/types/wlr_layer_shell_v1.c -index a59f1104..75a19314 100644 +index 2d838498..c3c50d78 100644 --- a/types/wlr_layer_shell_v1.c +++ b/types/wlr_layer_shell_v1.c -@@ -335,26 +335,6 @@ static void layer_surface_role_client_commit(struct wlr_surface *wlr_surface) { - "layer_surface has never been configured"); +@@ -358,6 +358,7 @@ static void layer_surface_role_client_commit(struct wlr_surface *wlr_surface) { + + uint32_t anchor = surface->pending.anchor; + ++#if 0 + const uint32_t horiz = ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT | + ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; + if (surface->pending.desired_width == 0 && (anchor & horiz) != horiz) { +@@ -375,6 +376,7 @@ static void layer_surface_role_client_commit(struct wlr_surface *wlr_surface) { + "height 0 requested without setting top and bottom anchors"); return; } -- -- const uint32_t horiz = ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT | -- ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; -- if (surface->pending.desired_width == 0 && -- (surface->pending.anchor & horiz) != horiz) { -- wlr_surface_reject_pending(wlr_surface, surface->resource, -- ZWLR_LAYER_SURFACE_V1_ERROR_INVALID_SIZE, -- "width 0 requested without setting left and right anchors"); -- return; -- } -- -- const uint32_t vert = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP | -- ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM; -- if (surface->pending.desired_height == 0 && -- (surface->pending.anchor & vert) != vert) { -- wlr_surface_reject_pending(wlr_surface, surface->resource, -- ZWLR_LAYER_SURFACE_V1_ERROR_INVALID_SIZE, -- "height 0 requested without setting top and bottom anchors"); -- return; -- } - } ++#endif - static void layer_surface_role_commit(struct wlr_surface *wlr_surface) { + if ((anchor & surface->pending.exclusive_edge) != surface->pending.exclusive_edge) { + wlr_surface_reject_pending(wlr_surface, surface->resource, -- -2.45.2 +2.49.0 diff --git a/examples.meson.build b/examples.meson.build index 4f3156e..b738157 100644 --- a/examples.meson.build +++ b/examples.meson.build @@ -1,18 +1,28 @@ # Client examples are now available from a separate repository, # https://gitlab.freedesktop.org/wlroots/wlr-clients project( - 'wlroots-examples', - 'c', - meson_version: '>=0.58.0', - default_options: [ - 'c_std=c11', - 'warning_level=2', - 'werror=false', - ], + 'wlroots-examples', + 'c', + meson_version: '>=0.58.0', + default_options: [ + 'c_std=c11', + 'warning_level=2', + 'werror=false', + ], ) +add_project_arguments([ + '-D_POSIX_C_SOURCE=200809L', + '-DWLR_USE_UNSTABLE', +], language: 'c') + cc = meson.get_compiler('c') -add_global_arguments('-DWLR_USE_UNSTABLE', language : 'c') + +add_project_arguments(cc.get_supported_arguments([ + '-Wno-missing-braces', + '-Wno-missing-field-initializers', + '-Wno-unused-parameter' +]), language: 'c') cairo = dependency('cairo') drm = dependency('libdrm') @@ -29,7 +39,7 @@ wayland_scanner = find_program( native: true, ) wayland_server = dependency('wayland-server') -wlroots = dependency('wlroots-0.18') +wlroots = dependency('wlroots-0.20') xkbcommon = dependency('xkbcommon') wl_protocol_dir = wayland_protos.get_variable('pkgdatadir') @@ -37,9 +47,6 @@ wl_protocol_dir = wayland_protos.get_variable('pkgdatadir') protocols = { # Stable upstream protocols 'xdg-shell': wl_protocol_dir / 'stable/xdg-shell/xdg-shell.xml', - - # Unstable upstream protocols - 'fullscreen-shell-unstable-v1': wl_protocol_dir / 'unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml', } protocols_code = {} @@ -94,10 +101,6 @@ compositors = { 'output-layout': { 'src': ['output-layout.c', 'cat.c'], }, - 'fullscreen-shell': { - 'src': 'fullscreen-shell.c', - 'proto': ['fullscreen-shell-unstable-v1'], - }, 'scene-graph': { 'src': 'scene-graph.c', 'proto': ['xdg-shell'], diff --git a/sources b/sources index 7ed4928..c7cac09 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (wlroots-0.18.2.tar.gz) = a03826f51dbca287ecbb217aadc361a1dedbbe5e225ee7b9ca22779456156c1035acaea7301ca509c410bfef9d0c33cf94cba140bba25d979608b14a99be8c8a -SHA512 (wlroots-0.18.2.tar.gz.sig) = 93716a0347eafa65675c257080152b0adb2f8145c63f4c1ee55ab3f3972f943dc9b103788cb19905536d7b9c7ff91be7826d82bde9c98666f48ee8fbcb70939b +SHA512 (wlroots-0.20.2.tar.gz) = 634345e23d0b6c28cb501c0dd0ef9c50d529a92ae5c8455e99e876f3f37ee244ac19dd097f76416b2ae4fd7c3f02e39a92a9322cf5a0caf8da21c31cd900e508 +SHA512 (wlroots-0.20.2.tar.gz.sig) = e74dc0abfabed7f40ba4f0e5edfc30ef92b95ebcf4a6aca3b2a605b04b5f2345a6a842cdf56819ce1f050c6181b646eae19dbef835354df7b09562cebbdaa474 diff --git a/wlroots.spec b/wlroots.spec index 917bad3..0ce3b16 100644 --- a/wlroots.spec +++ b/wlroots.spec @@ -1,13 +1,15 @@ # Version of the .so library -%global abi_ver 0.18 +%global abi_ver 0.20 # libliftoff does not bump soname on API changes -%global liftoff_ver %[0%{?fedora} >= 41 ? "0.5.0" : "0.4.1" ] +%global liftoff_ver 0.5.0 Name: wlroots -Version: 0.18.2 -Release: 4%{?dist} +Version: 0.20.2 +Release: 2%{?dist} Summary: A modular Wayland compositor library +%global tag %{gsub %{version} ~ -} + # Source files/overall project licensed as MIT, but # - HPND-sell-variant # * protocol/drm.xml @@ -25,8 +27,8 @@ Summary: A modular Wayland compositor library # the underlying licenses. License: MIT URL: https://gitlab.freedesktop.org/wlroots/wlroots -Source0: %{url}/-/releases/%{version}/downloads/%{name}-%{version}.tar.gz -Source1: %{url}/-/releases/%{version}/downloads/%{name}-%{version}.tar.gz.sig +Source0: %{url}/-/releases/%{tag}/downloads/%{name}-%{tag}.tar.gz +Source1: %{url}/-/releases/%{tag}/downloads/%{name}-%{tag}.tar.gz.sig # 0FDE7BE0E88F5E48: emersion Source2: https://emersion.fr/.well-known/openpgpkey/hu/dj3498u4hyyarh35rkjfnghbjxug6b19#/gpgkey-0FDE7BE0E88F5E48.gpg @@ -40,31 +42,29 @@ Source3: examples.meson.build # Fedora patches # Following patch is required for phoc. Patch: Revert-layer-shell-error-on-0-dimension-without-anch.patch -# Needed by phoc 0.45.0+, can be dropped in wlroots 0.18.3 -Patch: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4985.patch BuildRequires: gcc BuildRequires: glslang BuildRequires: gnupg2 -BuildRequires: meson >= 0.59.0 +BuildRequires: meson >= 1.3 -BuildRequires: (pkgconfig(libdisplay-info) >= 0.1.1 with pkgconfig(libdisplay-info) < 0.3) BuildRequires: (pkgconfig(libliftoff) >= %{liftoff_ver} with pkgconfig(libliftoff) < 0.6) BuildRequires: pkgconfig(egl) -BuildRequires: pkgconfig(gbm) >= 17.1.0 +BuildRequires: pkgconfig(gbm) >= 21.1 BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(hwdata) BuildRequires: pkgconfig(lcms2) -BuildRequires: pkgconfig(libdrm) >= 2.4.122 +BuildRequires: pkgconfig(libdisplay-info) >= 0.2.0 +BuildRequires: pkgconfig(libdrm) >= 2.4.129 BuildRequires: pkgconfig(libinput) >= 1.21.0 BuildRequires: pkgconfig(libseat) BuildRequires: pkgconfig(libudev) -BuildRequires: pkgconfig(pixman-1) >= 0.42.0 +BuildRequires: pkgconfig(pixman-1) >= 0.46.0 BuildRequires: pkgconfig(vulkan) >= 1.2.182 BuildRequires: pkgconfig(wayland-client) -BuildRequires: pkgconfig(wayland-protocols) >= 1.35 +BuildRequires: pkgconfig(wayland-protocols) >= 1.47 BuildRequires: pkgconfig(wayland-scanner) -BuildRequires: pkgconfig(wayland-server) >= 1.23 +BuildRequires: pkgconfig(wayland-server) >= 1.24.0 BuildRequires: pkgconfig(x11-xcb) BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xcb-composite) @@ -77,9 +77,9 @@ BuildRequires: pkgconfig(xcb-render) BuildRequires: pkgconfig(xcb-renderutil) BuildRequires: pkgconfig(xcb-res) BuildRequires: pkgconfig(xcb-shm) -BuildRequires: pkgconfig(xcb-xfixes) +BuildRequires: pkgconfig(xcb-xfixes) >= 1.15 BuildRequires: pkgconfig(xcb-xinput) -BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(xkbcommon) >= 1.8.0 BuildRequires: pkgconfig(xwayland) # libliftoff does not bump soname on API changes Requires: libliftoff%{?_isa} >= %{liftoff_ver} @@ -104,7 +104,7 @@ Development files for %{name}. %prep %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' -%autosetup -N +%autosetup -N -n %{name}-%{tag} # apply unconditional patches (0..99) %autopatch -p1 -M99 # apply conditional patches (100..) @@ -122,6 +122,7 @@ MESON_OPTIONS=( %install %{meson_install} +install -pm0644 -Dt '%{buildroot}/%{_pkgdocdir}/examples' examples/*.[ch] install -pm0644 -D '%{SOURCE3}' '%{buildroot}/%{_pkgdocdir}/examples/meson.build' @@ -142,6 +143,48 @@ install -pm0644 -D '%{SOURCE3}' '%{buildroot}/%{_pkgdocdir}/examples/meson.build %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 0.20.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Tue Jul 07 2026 Aleksei Bavshin - 0.20.2-1 +- Update to 0.20.2 (#2497891) + +* Tue May 19 2026 Aleksei Bavshin - 0.20.1-1 +- Update to 0.20.1 (#2480014) + +* Thu Mar 26 2026 Aleksei Bavshin - 0.20.0-1 +- Update to 0.20.0 (#2435845) + +* Thu Mar 19 2026 Aleksei Bavshin - 0.20.0~rc5-1 +- Update to 0.20.0-rc5 + +* Sat Feb 14 2026 Aleksei Bavshin - 0.20.0~rc2-1 +- Update to 0.20.0-rc2 + +* Thu Feb 12 2026 Aleksei Bavshin - 0.19.2-4 +- Apply upstream patch for libinput 1.31 compatibility + +* Sat Jan 24 2026 Aleksei Bavshin - 0.19.2-3 +- Rebuild for libdisplay-info 0.3.0 + +* Sat Jan 17 2026 Fedora Release Engineering - 0.19.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Tue Oct 21 2025 Aleksei Bavshin - 0.19.2-1 +- Update to 0.19.2 (#2405567) + +* Sun Sep 28 2025 Aleksei Bavshin - 0.19.1-2 +- Apply upstream patch for crash on disabling outputs + +* Sun Sep 21 2025 Aleksei Bavshin - 0.19.1-1 +- Update to 0.19.1 (#2397203) + +* Fri Jul 25 2025 Fedora Release Engineering - 0.19.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri May 16 2025 Aleksei Bavshin - 0.19.0-1 +- Update to 0.19.0 (#2359256) + * Sat Feb 15 2025 Sam Day - 0.18.2-4 - Add wlroots!4985 patch needed by phoc 0.45.0