Compare commits

..

47 commits

Author SHA1 Message Date
Fedora Release Engineering
e479909c1d Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-17 08:52:15 +00:00
b7b643804e
Update to 0.20.2 (#2497891) 2026-07-07 20:03:34 -07:00
9e3cf5a0cf
Update to 0.20.1 (#2480014) 2026-05-19 22:46:13 -07:00
460ac43350
Update to 0.20.0 (#2435845) 2026-03-26 19:27:15 -07:00
07351d6b73
Update to 0.20.0~rc5 2026-03-19 19:10:08 -07:00
75918f6d7d
Update to 0.20.0-rc2 2026-02-16 01:02:35 -08:00
5035af13d4
Apply upstream patch for libinput 1.31 compatibility 2026-02-12 19:15:32 -08:00
2ea14ebe8e
Rebuild for libdisplay-info 0.3.0 2026-01-24 16:45:59 -08:00
Fedora Release Engineering
6d290402fb Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 20:18:14 +00:00
Yaakov Selkowitz
4b409cc451 Fix discarded const qualifier warnings with GCC 15
https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/5203
2025-12-22 23:45:46 -05:00
69922850bd
Update to 0.19.2 (#2405567) 2025-10-21 23:14:08 -07:00
a034b0be85
Apply upstream patch for crash on disabling outputs 2025-09-28 14:39:43 -07:00
00b7c19be8
Update to 0.19.1 (#2397203) 2025-09-21 14:52:42 -07:00
Fedora Release Engineering
b11c779550 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 20:29:00 +00:00
6442a76f36
Update to 0.19.0 (#2359256) 2025-05-16 18:32:23 -07:00
Sam Day
6eb9ee5920 Add MR!4985 backport patch needed by phoc 0.45
This patch has already merged into mainline and the 0.18 branch
upstream, but has not yet been released. It can be dropped in 0.18.3

Signed-off-by: Sam Day <me@samcday.com>
2025-02-15 16:17:03 +01:00
f55f4ba70e Rebuild for libdisplay-info 0.2.0
Rebuild for libdisplay-info 0.2.0
2025-02-10 09:59:49 -05:00
Fedora Release Engineering
373ca6b1b1 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 15:08:37 +00:00
8826828a2a
Update to 0.18.2 (#2331871) 2024-12-11 16:55:49 -08:00
ebd7df88f6
Update to 0.18.1 (#2313753) 2024-09-20 07:37:51 -07:00
a00f488860
Update to 0.18.0 (#2297921) 2024-08-08 21:06:11 -07:00
Fedora Release Engineering
135263e28d Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 09:26:58 +00:00
17b823e3fa
Update to 0.17.4 (#2294793) 2024-06-30 20:56:17 -07:00
06e8851845
Update to 0.17.3 2024-04-26 12:07:13 -07:00
82fa7cf455
Update to 0.17.2 (#2269046) 2024-03-11 18:25:01 -07:00
Fedora Release Engineering
5167a5eda8 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 08:58:43 +00:00
bf56e9526c
Apply patch for GCC 14 -Werror=calloc-transposed-args 2024-01-18 00:20:43 -08:00
99aa7067f0
Update to 0.17.1 (#2255547) 2023-12-21 17:04:14 -08:00
bb0224f81e
Apply patches from 0.17.x bugfix branch 2023-12-07 21:06:32 -08:00
000c5dbb93
Update to 0.17.0 (#2250885) 2023-12-02 22:24:52 -08:00
0a1c111cc7
Use xcb-errors util library 2023-12-02 22:24:26 -08:00
Fedora Release Engineering
23ecf089bf Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 18:17:22 +00:00
1a73f49d48
Apply upstream patch to remove hardcoded Vulkan validation layers 2023-04-16 17:30:02 -07:00
592cea998f
Update to 0.16.2 (#2168992) 2023-02-10 18:04:40 -08:00
Fedora Release Engineering
6bef925b32 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 06:54:22 +00:00
b32c37f87e
Update to 0.16.1 2022-12-25 08:14:54 -08:00
4a23fc87a5
Sync examples.meson.build with upstream
Include all available examples
2022-12-02 22:27:24 -08:00
83a52a2862
Add patch for compatibility with older libdrm 2022-12-02 22:06:59 -08:00
3993c57fb9
Update to 0.16.0 (#2142159) 2022-12-02 22:06:32 -08:00
b335d4dcb8
Backport upstream crash fix (#2142447)
Convert license to SPDX
2022-11-14 22:12:28 -08:00
Fedora Release Engineering
1a00ea2887 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 12:31:39 +00:00
7d27b16e6f
Add patches required for phoc 0.20 2022-06-25 21:36:34 -07:00
f6055261c4
Drop patches for wayland 1.19 compatibility 2022-06-01 23:03:15 -07:00
dd99a05c7c
Update to 0.15.1 (#2050408) 2022-02-05 12:14:54 -08:00
85be0c54f5
Backport fix for permission popups in Firefox 2022-01-25 21:58:24 -08:00
Fedora Release Engineering
1cfc160ee9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 04:34:11 +00:00
bb8828c42e
Update to 0.15.0 (#2033651)
Update upstream URL to gitlab.freedesktop.org
Backport some patches from 0.15.1 milestone
2022-01-16 12:15:13 -08:00
5 changed files with 331 additions and 202 deletions

View file

@ -0,0 +1,33 @@
From e021326f7de0505fcae85f5732885848b21edf9c Mon Sep 17 00:00:00 2001
From: Aleksei Bavshin <alebastr89@gmail.com>
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

View file

@ -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

View file

@ -1,111 +0,0 @@
From d46870cf38db0c53eeb204191f44d18a66691493 Mon Sep 17 00:00:00 2001
From: Simon Ser <contact@emersion.fr>
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

View file

@ -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

View file

@ -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 <contact@emersion.fr>
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 <releng@fedoraproject.org> - 0.20.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Tue Jul 07 2026 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.20.2-1
- Update to 0.20.2 (#2497891)
* Tue May 19 2026 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.20.1-1
- Update to 0.20.1 (#2480014)
* Thu Mar 26 2026 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.20.0-1
- Update to 0.20.0 (#2435845)
* Thu Mar 19 2026 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.20.0~rc5-1
- Update to 0.20.0-rc5
* Sat Feb 14 2026 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.20.0~rc2-1
- Update to 0.20.0-rc2
* Thu Feb 12 2026 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.19.2-4
- Apply upstream patch for libinput 1.31 compatibility
* Sat Jan 24 2026 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.19.2-3
- Rebuild for libdisplay-info 0.3.0
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Tue Oct 21 2025 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.19.2-1
- Update to 0.19.2 (#2405567)
* Sun Sep 28 2025 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.19.1-2
- Apply upstream patch for crash on disabling outputs
* Sun Sep 21 2025 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.19.1-1
- Update to 0.19.1 (#2397203)
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri May 16 2025 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.19.0-1
- Update to 0.19.0 (#2359256)
* Sat Feb 15 2025 Sam Day <me@samcday.com> - 0.18.2-4
- Add wlroots!4985 patch needed by phoc 0.45.0
* Mon Feb 10 2025 Neal Gompa <ngompa@fedoraproject.org> - 0.18.2-3
- Rebuild for libdisplay-info 0.2.0
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Dec 11 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.18.2-1
- Update to 0.18.2 (#2331871)
* Fri Sep 20 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.18.1-1
- Update to 0.18.1 (#2313753)
* Thu Aug 08 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.18.0-1
- Update to 0.18.0 (#2297921)
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jun 29 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.17.4-1
- Update to 0.17.4 (#2294793)
* Fri Apr 26 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.17.3-1
- Update to 0.17.3
* Mon Mar 11 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.17.2-1
- Update to 0.17.2 (#2269046)
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Dec 21 2023 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.17.1-1
- Update to 0.17.1 (#2255547)
* Tue Nov 21 2023 Aleksei Bavshin <alebastr@fedoraproject.org> - 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 <releng@fedoraproject.org> - 0.16.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sun Apr 16 2023 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.16.2-2
- Apply upstream patch to remove hardcoded Vulkan validation layers
* Fri Feb 10 2023 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.16.2-1
- Update to 0.16.2 (#2168992)
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sun Dec 25 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.16.1-1
- Update to 0.16.1
* Fri Dec 02 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 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 <alebastr@fedoraproject.org> - 0.15.1-5
- Backport upstream crash fix (#2142447)
- Convert license to SPDX
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sun Jun 26 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.15.1-3
- Add patches required for phoc 0.20
* Wed Jun 01 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.15.1-2
- Drop patches for wayland 1.19 compatibility
* Sat Feb 05 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.15.1-1
- Update to 0.15.1 (#2050408)
* Tue Jan 25 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.15.0-3
- Backport fix for permission popups in Firefox
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sun Jan 16 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 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 <alebastr@fedoraproject.org> - 0.14.1-3
- Add patch for disappearing cursor issue (#2027431)