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 b6bd5ce..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 05cd68c9eee28c2223cc192b9744cff493f940cc 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 37256db6..77dbad94 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_commit(struct wlr_surface *wlr_surface) { +@@ -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; } ++#endif -- 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) { -- wl_resource_post_error(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) { -- wl_resource_post_error(surface->resource, -- ZWLR_LAYER_SURFACE_V1_ERROR_INVALID_SIZE, -- "height 0 requested without setting top and bottom anchors"); -- return; -- } -- - if (surface->surface->unmap_commit) { - layer_surface_reset(surface); - + if ((anchor & surface->pending.exclusive_edge) != surface->pending.exclusive_edge) { + wlr_surface_reject_pending(wlr_surface, surface->resource, -- -2.41.0 +2.49.0 diff --git a/examples.meson.build b/examples.meson.build index 1e78006..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', version: ['>=0.17.0', '<0.18.0']) +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 e2c8469..c7cac09 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (wlroots-0.17.4.tar.gz) = 35803df9fe68cadb0b9b5e522863535407ba2354ed1ca8f824a9c40b64698a97c579fec0afeb444b05d429adc1e3dfc45b20c3a1b7a2004e4f5a10d2305c9116 -SHA512 (wlroots-0.17.4.tar.gz.sig) = 9639a10f9dffbed3ffd2cb579aafe8092c5c3ad0d96a3f550c103d5b0339ba10a8824e5209ef616587ced3a994b4a768d99f0e742af103e6967c944b010d053c +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 1de4055..0ce3b16 100644 --- a/wlroots.spec +++ b/wlroots.spec @@ -1,13 +1,15 @@ # Version of the .so library -%global abi_ver 12 +%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.17.4 -Release: 1%{?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 @@ -44,30 +46,40 @@ Patch: Revert-layer-shell-error-on-0-dimension-without-anch.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(libdrm) >= 2.4.114 +BuildRequires: pkgconfig(lcms2) +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(vulkan) +BuildRequires: pkgconfig(pixman-1) >= 0.46.0 +BuildRequires: pkgconfig(vulkan) >= 1.2.182 BuildRequires: pkgconfig(wayland-client) -BuildRequires: pkgconfig(wayland-protocols) >= 1.32 +BuildRequires: pkgconfig(wayland-protocols) >= 1.47 BuildRequires: pkgconfig(wayland-scanner) -BuildRequires: pkgconfig(wayland-server) >= 1.22 +BuildRequires: pkgconfig(wayland-server) >= 1.24.0 BuildRequires: pkgconfig(x11-xcb) BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xcb-composite) +BuildRequires: pkgconfig(xcb-dri3) BuildRequires: pkgconfig(xcb-errors) +BuildRequires: pkgconfig(xcb-ewmh) BuildRequires: pkgconfig(xcb-icccm) +BuildRequires: pkgconfig(xcb-present) +BuildRequires: pkgconfig(xcb-render) BuildRequires: pkgconfig(xcb-renderutil) -BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(xcb-res) +BuildRequires: pkgconfig(xcb-shm) +BuildRequires: pkgconfig(xcb-xfixes) >= 1.15 +BuildRequires: pkgconfig(xcb-xinput) +BuildRequires: pkgconfig(xkbcommon) >= 1.8.0 BuildRequires: pkgconfig(xwayland) # libliftoff does not bump soname on API changes Requires: libliftoff%{?_isa} >= %{liftoff_ver} @@ -92,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..) @@ -110,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' @@ -120,17 +133,79 @@ install -pm0644 -D '%{SOURCE3}' '%{buildroot}/%{_pkgdocdir}/examples/meson.build %files %license LICENSE %doc README.md -%{_libdir}/lib%{name}.so.%{abi_ver}{,.*} +%{_libdir}/libwlroots-%{abi_ver}.so %files devel %doc %{_pkgdocdir}/examples -%{_includedir}/wlr -%{_libdir}/lib%{name}.so -%{_libdir}/pkgconfig/%{name}.pc +%{_includedir}/wlroots-%{abi_ver}/wlr +%{_libdir}/pkgconfig/wlroots-%{abi_ver}.pc %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 + +* Mon Feb 10 2025 Neal Gompa - 0.18.2-3 +- Rebuild for libdisplay-info 0.2.0 + +* Sun Jan 19 2025 Fedora Release Engineering - 0.18.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Dec 11 2024 Aleksei Bavshin - 0.18.2-1 +- Update to 0.18.2 (#2331871) + +* Fri Sep 20 2024 Aleksei Bavshin - 0.18.1-1 +- Update to 0.18.1 (#2313753) + +* Thu Aug 08 2024 Aleksei Bavshin - 0.18.0-1 +- Update to 0.18.0 (#2297921) + +* Sat Jul 20 2024 Fedora Release Engineering - 0.17.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Sat Jun 29 2024 Aleksei Bavshin - 0.17.4-1 - Update to 0.17.4 (#2294793)