diff --git a/Revert-layer-shell-error-on-0-dimension-without-anch.patch b/Revert-layer-shell-error-on-0-dimension-without-anch.patch new file mode 100644 index 0000000..a9112d9 --- /dev/null +++ b/Revert-layer-shell-error-on-0-dimension-without-anch.patch @@ -0,0 +1,33 @@ +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 | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/types/wlr_layer_shell_v1.c b/types/wlr_layer_shell_v1.c +index 2d838498..c3c50d78 100644 +--- a/types/wlr_layer_shell_v1.c ++++ b/types/wlr_layer_shell_v1.c +@@ -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 + + if ((anchor & surface->pending.exclusive_edge) != surface->pending.exclusive_edge) { + wlr_surface_reject_pending(wlr_surface, surface->resource, +-- +2.49.0 + diff --git a/examples.meson.build b/examples.meson.build index 41782c5..b738157 100644 --- a/examples.meson.build +++ b/examples.meson.build @@ -1,82 +1,139 @@ +# Client examples are now available from a separate repository, +# https://gitlab.freedesktop.org/wlroots/wlr-clients project( - 'wlroots-examples', - 'c', - meson_version: '>=0.51.2', - 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', + ], ) -cc = meson.get_compiler('c') -add_global_arguments('-DWLR_USE_UNSTABLE', language : 'c') +add_project_arguments([ + '-D_POSIX_C_SOURCE=200809L', + '-DWLR_USE_UNSTABLE', +], language: 'c') -wlroots = dependency('wlroots') -wayland_client = dependency('wayland-client') -wayland_server = dependency('wayland-server') +cc = meson.get_compiler('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') +egl = dependency('egl') glesv2 = dependency('glesv2') +# Only needed for drm_fourcc.h +libdrm = dependency('libdrm').partial_dependency(compile_args: true, includes: true) +wayland_client = dependency('wayland-client') +wayland_egl = dependency('wayland-egl') +wayland_protos = dependency('wayland-protocols', version: '>=1.27') +wayland_scanner_dep = dependency('wayland-scanner', native: true) +wayland_scanner = find_program( + wayland_scanner_dep.get_variable('wayland_scanner'), + native: true, +) +wayland_server = dependency('wayland-server') +wlroots = dependency('wlroots-0.20') xkbcommon = dependency('xkbcommon') -wlr_protos = dependency('wlroots') -rt = cc.find_library('rt') +wl_protocol_dir = wayland_protos.get_variable('pkgdatadir') -# epoll is a separate library in FreeBSD -if host_machine.system() == 'freebsd' - libepoll = [dependency('epoll-shim')] -else - libepoll = [] -endif +protocols = { + # Stable upstream protocols + 'xdg-shell': wl_protocol_dir / 'stable/xdg-shell/xdg-shell.xml', +} -libpng = dependency('libpng', required: false, disabler: true) +protocols_code = {} +protocols_server_header = {} +protocols_client_header = {} -examples = { +foreach name, path : protocols + code = custom_target( + name.underscorify() + '_c', + input: path, + output: '@BASENAME@-protocol.c', + command: [wayland_scanner, 'private-code', '@INPUT@', '@OUTPUT@'], + ) + + server_header = custom_target( + name.underscorify() + '_server_h', + input: path, + output: '@BASENAME@-protocol.h', + command: [wayland_scanner, 'server-header', '@INPUT@', '@OUTPUT@'], + ) + + client_header = custom_target( + name.underscorify() + '_client_h', + input: path, + output: '@BASENAME@-client-protocol.h', + command: [wayland_scanner, 'client-header', '@INPUT@', '@OUTPUT@'], + build_by_default: false, + ) + + protocols_code += { name: code } + protocols_server_header += { name: server_header } + protocols_client_header += { name: client_header } +endforeach + + +compositors = { 'simple': { 'src': 'simple.c', - 'dep': [wlroots, wayland_server, glesv2, xkbcommon], }, 'pointer': { 'src': 'pointer.c', - 'dep': [wlroots, wayland_server, xkbcommon], }, 'touch': { 'src': ['touch.c', 'cat.c'], - 'dep': [wlroots, wayland_server, xkbcommon], }, 'tablet': { 'src': 'tablet.c', - 'dep': [wlroots, wayland_server, xkbcommon], }, 'rotation': { 'src': ['rotation.c', 'cat.c'], - 'dep': [wlroots, wayland_server, xkbcommon], - }, - 'multi-pointer': { - 'src': 'multi-pointer.c', - 'dep': [wlroots, wayland_server, glesv2, xkbcommon], }, 'output-layout': { 'src': ['output-layout.c', 'cat.c'], - 'dep': [wlroots, wayland_server, xkbcommon], }, - 'screencopy': { - 'src': 'screencopy.c', - 'dep': [libpng, wayland_client, wlr_protos, rt], + 'scene-graph': { + 'src': 'scene-graph.c', + 'proto': ['xdg-shell'], + }, + 'output-layers': { + 'src': 'output-layers.c', + 'proto': [ + 'xdg-shell', + ], + }, + 'cairo-buffer': { + 'src': 'cairo-buffer.c', + 'dep': cairo, + }, + 'embedded': { + 'src': [ + 'embedded.c', + protocols_code['xdg-shell'], + protocols_client_header['xdg-shell'], + ], + 'dep': [wayland_client, wayland_egl, egl, glesv2], }, } -foreach name, info : examples - all_dep_found = true - foreach d : info.get('dep') - all_dep_found = all_dep_found and d.found() +foreach name, info : compositors + extra_src = [] + foreach p : info.get('proto', []) + extra_src += protocols_server_header[p] endforeach - if all_dep_found - executable( - name, - info.get('src'), - dependencies: info.get('dep'), - ) - else - warning('Dependencies not satisfied for ' + name) - endif + + executable( + name, + [info.get('src'), extra_src], + dependencies: [libdrm, wlroots, wayland_server, xkbcommon, info.get('dep', [])], + ) endforeach diff --git a/output-don-t-leave-dangling-cursor_front_buffer.patch b/output-don-t-leave-dangling-cursor_front_buffer.patch deleted file mode 100644 index c34af68..0000000 --- a/output-don-t-leave-dangling-cursor_front_buffer.patch +++ /dev/null @@ -1,111 +0,0 @@ -From d46870cf38db0c53eeb204191f44d18a66691493 Mon Sep 17 00:00:00 2001 -From: Simon Ser -Date: Tue, 30 Nov 2021 18:33:08 +0100 -Subject: [PATCH] output: don't leave dangling cursor_front_buffer - -Sometimes we were calling wlr_output_impl.set_cursor with a NULL -buffer, but we weren't clearing wlr_output.cursor_front_buffer. -Avoid leaving a dangling buffer behind. - -Introduce a helper function output_set_hardware_cursor which calls -wlr_output_impl.set_cursor and keeps cursor_front_buffer in sync. - -(cherry picked from commit 2540de494e66c6fa056e9608755bfa7474d4ee47) ---- - types/wlr_output.c | 43 +++++++++++++++++++++++++++---------------- - 1 file changed, 27 insertions(+), 16 deletions(-) - -diff --git a/types/wlr_output.c b/types/wlr_output.c -index c6676105..24258010 100644 ---- a/types/wlr_output.c -+++ b/types/wlr_output.c -@@ -961,6 +961,26 @@ void wlr_output_lock_attach_render(struct wlr_output *output, bool lock) { - output->attach_render_locks); - } - -+static bool output_set_hardware_cursor(struct wlr_output *output, -+ struct wlr_buffer *buffer, int hotspot_x, int hotspot_y) { -+ if (!output->impl->set_cursor) { -+ return false; -+ } -+ -+ if (!output->impl->set_cursor(output, buffer, hotspot_x, hotspot_y)) { -+ return false; -+ } -+ -+ wlr_buffer_unlock(output->cursor_front_buffer); -+ output->cursor_front_buffer = NULL; -+ -+ if (buffer != NULL) { -+ output->cursor_front_buffer = wlr_buffer_lock(buffer); -+ } -+ -+ return true; -+} -+ - static void output_cursor_damage_whole(struct wlr_output_cursor *cursor); - - void wlr_output_lock_software_cursors(struct wlr_output *output, bool lock) { -@@ -975,8 +995,7 @@ void wlr_output_lock_software_cursors(struct wlr_output *output, bool lock) { - output->software_cursor_locks); - - if (output->software_cursor_locks > 0 && output->hardware_cursor != NULL) { -- assert(output->impl->set_cursor); -- output->impl->set_cursor(output, NULL, 0, 0); -+ output_set_hardware_cursor(output, NULL, 0, 0); - output_cursor_damage_whole(output->hardware_cursor); - output->hardware_cursor = NULL; - } -@@ -1352,14 +1371,10 @@ static bool output_cursor_attempt_hardware(struct wlr_output_cursor *cursor) { - wlr_output_transform_invert(output->transform), - buffer ? buffer->width : 0, buffer ? buffer->height : 0); - -- bool ok = output->impl->set_cursor(cursor->output, buffer, -- hotspot.x, hotspot.y); -+ bool ok = output_set_hardware_cursor(cursor->output, buffer, hotspot.x, hotspot.y); -+ wlr_buffer_unlock(buffer); - if (ok) { -- wlr_buffer_unlock(output->cursor_front_buffer); -- output->cursor_front_buffer = buffer; - output->hardware_cursor = cursor; -- } else { -- wlr_buffer_unlock(buffer); - } - return ok; - } -@@ -1473,9 +1488,8 @@ void wlr_output_cursor_set_surface(struct wlr_output_cursor *cursor, - wlr_output_transform_invert(cursor->output->transform), - buffer ? buffer->width : 0, buffer ? buffer->height : 0); - -- assert(cursor->output->impl->set_cursor); -- cursor->output->impl->set_cursor(cursor->output, -- buffer, hotspot.x, hotspot.y); -+ output_set_hardware_cursor(cursor->output, buffer, -+ hotspot.x, hotspot.y); - } - return; - } -@@ -1498,8 +1512,7 @@ void wlr_output_cursor_set_surface(struct wlr_output_cursor *cursor, - cursor->height = 0; - - if (cursor->output->hardware_cursor == cursor) { -- assert(cursor->output->impl->set_cursor); -- cursor->output->impl->set_cursor(cursor->output, NULL, 0, 0); -+ output_set_hardware_cursor(cursor->output, NULL, 0, 0); - } - } - } -@@ -1560,9 +1573,7 @@ void wlr_output_cursor_destroy(struct wlr_output_cursor *cursor) { - wlr_signal_emit_safe(&cursor->events.destroy, cursor); - if (cursor->output->hardware_cursor == cursor) { - // If this cursor was the hardware cursor, disable it -- if (cursor->output->impl->set_cursor) { -- cursor->output->impl->set_cursor(cursor->output, NULL, 0, 0); -- } -+ output_set_hardware_cursor(cursor->output, NULL, 0, 0); - cursor->output->hardware_cursor = NULL; - } - wlr_texture_destroy(cursor->texture); --- -2.33.1 - diff --git a/sources b/sources index 1ea256b..c7cac09 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (wlroots-0.14.1.tar.gz) = 4f557c827f9673eccf208a3644954de80e7355b95cc374cc5e851a47087b227f196e0936c0913d21a6c776c29b74de2d028a100931264e41934c747568d8ebe0 -SHA512 (wlroots-0.14.1.tar.gz.sig) = 42b3942737db33de60a4d78df706a490c510ff462d8a15139c6d63c85cc9d1a85843654a3b17c32fb7ceffef160b17bac20a64b5ee8b37720f3c3748f971f2fd +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 c502dd0..0ce3b16 100644 --- a/wlroots.spec +++ b/wlroots.spec @@ -1,23 +1,34 @@ # Version of the .so library -%global abi_ver 9 +%global abi_ver 0.20 +# libliftoff does not bump soname on API changes +%global liftoff_ver 0.5.0 Name: wlroots -Version: 0.14.1 -Release: 3%{?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 -# - LGPLv2.1+ -# * protocol/idle.xml +# - HPND-sell-variant +# * protocol/drm.xml +# * protocol/wlr-data-control-unstable-v1.xml +# * protocol/wlr-foreign-toplevel-management-unstable-v1.xml +# * protocol/wlr-gamma-control-unstable-v1.xml +# * protocol/wlr-input-inhibitor-unstable-v1.xml +# * protocol/wlr-layer-shell-unstable-v1.xml +# * protocol/wlr-output-management-unstable-v1.xml +# - LGPL-2.1-or-later # * protocol/server-decoration.xml # Those files are processed to C-compilable files by the # `wayland-scanner` binary during build and don't alter # the main license of the binaries linking with them by # the underlying licenses. License: MIT -URL: https://github.com/swaywm/%{name} -Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.gz -Source1: %{url}/releases/download/%{version}/%{name}-%{version}.tar.gz.sig +URL: https://gitlab.freedesktop.org/wlroots/wlroots +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 @@ -25,36 +36,53 @@ Source2: https://emersion.fr/.well-known/openpgpkey/hu/dj3498u4hyyarh35rk # - make it self-contained # - only has targets for examples known to compile well (cf. "examples) global) Source3: examples.meson.build -# https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3189 -Patch0: output-don-t-leave-dangling-cursor_front_buffer.patch + +# Upstream patches + +# Fedora patches +# Following patch is required for phoc. +Patch: Revert-layer-shell-error-on-0-dimension-without-anch.patch BuildRequires: gcc +BuildRequires: glslang BuildRequires: gnupg2 -BuildRequires: meson >= 0.56.0 +BuildRequires: meson >= 1.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(libdrm) >= 2.4.105 -BuildRequires: pkgconfig(libinput) >= 1.14.0 +BuildRequires: pkgconfig(hwdata) +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(libsystemd) >= 237 BuildRequires: pkgconfig(libudev) -BuildRequires: pkgconfig(pixman-1) +BuildRequires: pkgconfig(pixman-1) >= 0.46.0 +BuildRequires: pkgconfig(vulkan) >= 1.2.182 BuildRequires: pkgconfig(wayland-client) -BuildRequires: pkgconfig(wayland-egl) -BuildRequires: pkgconfig(wayland-protocols) >= 1.21 +BuildRequires: pkgconfig(wayland-protocols) >= 1.47 BuildRequires: pkgconfig(wayland-scanner) -BuildRequires: pkgconfig(wayland-server) >= 1.19 +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) - -# only select examples are supported for being readily compilable (see SOURCE3) -%global examples \ - cat multi-pointer output-layout pointer rotation screencopy simple tablet touch +# libliftoff does not bump soname on API changes +Requires: libliftoff%{?_isa} >= %{liftoff_ver} %description %{summary}. @@ -67,8 +95,8 @@ Requires: %{name}%{?_isa} == %{version}-%{release} Recommends: pkgconfig(xcb-icccm) # for examples Suggests: gcc -Suggests: meson >= 0.51.2 -Suggests: pkgconfig(libpng) +Suggests: meson >= 0.58.0 +Suggests: pkgconfig(wayland-egl) %description devel Development files for %{name}. @@ -76,18 +104,16 @@ Development files for %{name}. %prep %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' -%autosetup -p1 +%autosetup -N -n %{name}-%{tag} +# apply unconditional patches (0..99) +%autopatch -p1 -M99 +# apply conditional patches (100..) %build MESON_OPTIONS=( # Disable options requiring extra/unpackaged dependencies -Dexamples=false - -Dxcb-errors=disabled -%ifarch s390x - # Disable -Werror on s390x: https://github.com/swaywm/wlroots/issues/2018 - -Dwerror=false -%endif ) %{meson} "${MESON_OPTIONS[@]}" @@ -96,11 +122,7 @@ MESON_OPTIONS=( %install %{meson_install} - -EXAMPLES=( %{examples} ) # Normalize whitespace by creating an array -for example in "${EXAMPLES[@]}"; do - install -pm0644 -Dt '%{buildroot}/%{_pkgdocdir}/examples' examples/"${example}".[ch] -done +install -pm0644 -Dt '%{buildroot}/%{_pkgdocdir}/examples' examples/*.[ch] install -pm0644 -D '%{SOURCE3}' '%{buildroot}/%{_pkgdocdir}/examples/meson.build' @@ -111,18 +133,146 @@ install -pm0644 -D '%{SOURCE3}' '%{buildroot}/%{_pkgdocdir}/examples/meson.build %files %license LICENSE %doc README.md -%doc %dir %{_pkgdocdir} -%{_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) + +* Fri Apr 26 2024 Aleksei Bavshin - 0.17.3-1 +- Update to 0.17.3 + +* Mon Mar 11 2024 Aleksei Bavshin - 0.17.2-1 +- Update to 0.17.2 (#2269046) + +* Sat Jan 27 2024 Fedora Release Engineering - 0.17.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Dec 21 2023 Aleksei Bavshin - 0.17.1-1 +- Update to 0.17.1 (#2255547) + +* Tue Nov 21 2023 Aleksei Bavshin - 0.17.0-1 +- Update to 0.17.0 (#2250885) +- Use xcb-errors util library +- Apply patches from 0.17.x bugfix branch + +* Sat Jul 22 2023 Fedora Release Engineering - 0.16.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sun Apr 16 2023 Aleksei Bavshin - 0.16.2-2 +- Apply upstream patch to remove hardcoded Vulkan validation layers + +* Fri Feb 10 2023 Aleksei Bavshin - 0.16.2-1 +- Update to 0.16.2 (#2168992) + +* Sat Jan 21 2023 Fedora Release Engineering - 0.16.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sun Dec 25 2022 Aleksei Bavshin - 0.16.1-1 +- Update to 0.16.1 + +* Fri Dec 02 2022 Aleksei Bavshin - 0.16.0-1 +- Update to 0.16.0 (#2142159) +- Add patch for compatibility with older libdrm +- Sync examples.meson.build with upstream, include all available examples + +* Mon Nov 14 2022 Aleksei Bavshin - 0.15.1-5 +- Backport upstream crash fix (#2142447) +- Convert license to SPDX + +* Sat Jul 23 2022 Fedora Release Engineering - 0.15.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sun Jun 26 2022 Aleksei Bavshin - 0.15.1-3 +- Add patches required for phoc 0.20 + +* Wed Jun 01 2022 Aleksei Bavshin - 0.15.1-2 +- Drop patches for wayland 1.19 compatibility + +* Sat Feb 05 2022 Aleksei Bavshin - 0.15.1-1 +- Update to 0.15.1 (#2050408) + +* Tue Jan 25 2022 Aleksei Bavshin - 0.15.0-3 +- Backport fix for permission popups in Firefox + +* Sat Jan 22 2022 Fedora Release Engineering - 0.15.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Jan 16 2022 Aleksei Bavshin - 0.15.0-1 +- Update to 0.15.0 (#2033651) +- Update upstream URL to gitlab.freedesktop.org +- Backport some patches from 0.15.1 milestone + * Mon Dec 13 2021 Aleksei Bavshin - 0.14.1-3 - Add patch for disappearing cursor issue (#2027431)