Compare commits

..

32 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
5 changed files with 220 additions and 379 deletions

View file

@ -1,44 +1,33 @@
From 05a740206a73c6aab3762eb449b0733e5b9a4c7a Mon Sep 17 00:00:00 2001
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 | 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 fa054d3c..062fa96d 100644
index 2d838498..c3c50d78 100644
--- a/types/wlr_layer_shell_v1.c
+++ b/types/wlr_layer_shell_v1.c
@@ -316,26 +316,6 @@ static void layer_surface_role_commit(struct wlr_surface *wlr_surface) {
struct wlr_layer_surface_v1 *surface =
wlr_layer_surface_v1_from_wlr_surface(wlr_surface);
@@ -358,6 +358,7 @@ static void layer_surface_role_client_commit(struct wlr_surface *wlr_surface) {
- 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;
- }
-
surface->current = surface->pending;
surface->pending.committed = 0;
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.37.3
2.49.0

View file

@ -1,256 +1,57 @@
# 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')
math = cc.find_library('m')
rt = cc.find_library('rt')
add_project_arguments(cc.get_supported_arguments([
'-Wno-missing-braces',
'-Wno-missing-field-initializers',
'-Wno-unused-parameter'
]), language: 'c')
threads = dependency('threads')
wayland_egl = dependency('wayland-egl')
wayland_cursor = dependency('wayland-cursor')
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_server = dependency('wayland-server')
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,
)
wlroots = dependency('wlroots')
wayland_server = dependency('wayland-server')
wlroots = dependency('wlroots-0.20')
xkbcommon = dependency('xkbcommon')
libpng = dependency('libpng', required: false, disabler: true)
drm = dependency('libdrm')
egl = dependency('egl', required: false, disabler: true)
glesv2 = dependency('glesv2', required: false, disabler: true)
gbm = dependency('gbm', required: false, disabler: true)
# These versions correspond to ffmpeg 4.0
libavutil = dependency('libavutil', version: '>=56.14.100', required: false, disabler: true)
libavcodec = dependency('libavcodec', version: '>=58.18.100', required: false, disabler: true)
libavformat = dependency('libavformat', version: '>=58.12.100', required: false, disabler: true)
# Only needed for drm_fourcc.h
libdrm = dependency('libdrm').partial_dependency(compile_args: true, includes: true)
# epoll is a separate library in FreeBSD
if host_machine.system() == 'freebsd'
libepoll = dependency('epoll-shim')
else
libepoll = declare_dependency()
endif
if not cc.has_header('libavutil/hwcontext_drm.h', dependencies: libavutil)
libavutil = disabler()
endif
wl_protocol_dir = wayland_protos.get_variable('pkgdatadir')
wlr_protocol_dir = 'protocol'
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',
'idle-inhibit-unstable-v1': wl_protocol_dir / 'unstable/idle-inhibit/idle-inhibit-unstable-v1.xml',
'keyboard-shortcuts-inhibit-unstable-v1': wl_protocol_dir / 'unstable/keyboard-shortcuts-inhibit/keyboard-shortcuts-inhibit-unstable-v1.xml',
'linux-dmabuf-unstable-v1': wl_protocol_dir / 'unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml',
'pointer-constraints-unstable-v1': wl_protocol_dir / 'unstable/pointer-constraints/pointer-constraints-unstable-v1.xml',
'relative-pointer-unstable-v1': wl_protocol_dir / 'unstable/relative-pointer/relative-pointer-unstable-v1.xml',
'text-input-unstable-v3': wl_protocol_dir / 'unstable/text-input/text-input-unstable-v3.xml',
'xdg-decoration-unstable-v1': wl_protocol_dir / 'unstable/xdg-decoration/xdg-decoration-unstable-v1.xml',
# Other protocols
'input-method-unstable-v2': wlr_protocol_dir / 'input-method-unstable-v2.xml',
'kde-idle': wlr_protocol_dir / 'idle.xml',
'wlr-export-dmabuf-unstable-v1': wlr_protocol_dir / 'wlr-export-dmabuf-unstable-v1.xml',
'wlr-foreign-toplevel-management-unstable-v1': wlr_protocol_dir / 'wlr-foreign-toplevel-management-unstable-v1.xml',
'wlr-gamma-control-unstable-v1': wlr_protocol_dir / 'wlr-gamma-control-unstable-v1.xml',
'wlr-input-inhibitor-unstable-v1': wlr_protocol_dir / 'wlr-input-inhibitor-unstable-v1.xml',
'wlr-layer-shell-unstable-v1': wlr_protocol_dir / 'wlr-layer-shell-unstable-v1.xml',
'wlr-output-power-management-unstable-v1': wlr_protocol_dir / 'wlr-output-power-management-unstable-v1.xml',
'wlr-screencopy-unstable-v1': wlr_protocol_dir / 'wlr-screencopy-unstable-v1.xml',
'wlr-virtual-pointer-unstable-v1': wlr_protocol_dir / 'wlr-virtual-pointer-unstable-v1.xml',
}
compositors = {
'simple': {
'src': 'simple.c',
},
'pointer': {
'src': 'pointer.c',
},
'touch': {
'src': ['touch.c', 'cat.c'],
},
'tablet': {
'src': 'tablet.c',
},
'rotation': {
'src': ['rotation.c', 'cat.c'],
},
'multi-pointer': {
'src': 'multi-pointer.c',
},
'output-layout': {
'src': ['output-layout.c', 'cat.c'],
},
'fullscreen-shell': {
'src': 'fullscreen-shell.c',
'proto': ['fullscreen-shell-unstable-v1'],
},
'quads': {
'src': 'quads.c',
},
'scene-graph': {
'src': 'scene-graph.c',
'proto': ['xdg-shell'],
},
}
clients = {
'idle': {
'src': 'idle.c',
'dep': [threads],
'proto': ['kde-idle'],
},
'idle-inhibit': {
'src': ['idle-inhibit.c', 'egl_common.c'],
'dep': [wayland_egl, egl, glesv2],
'proto': [
'idle-inhibit-unstable-v1',
'xdg-shell',
],
},
'keyboard-shortcuts-inhibit': {
'src': ['keyboard-shortcuts-inhibit.c', 'egl_common.c'],
'dep': [wayland_egl, wayland_cursor, egl, glesv2],
'proto': [
'keyboard-shortcuts-inhibit-unstable-v1',
'xdg-shell',
],
},
'layer-shell': {
'src': ['layer-shell.c', 'egl_common.c'],
'dep': [wayland_egl, wayland_cursor, egl, glesv2],
'proto': [
'wlr-layer-shell-unstable-v1',
'xdg-shell',
],
},
'input-inhibitor': {
'src': ['input-inhibitor.c', 'egl_common.c'],
'dep': [wayland_egl, wayland_cursor, egl, glesv2],
'proto': [
'wlr-input-inhibitor-unstable-v1',
'xdg-shell',
],
},
'gamma-control': {
'src': 'gamma-control.c',
'dep': [wayland_cursor, math],
'proto': ['wlr-gamma-control-unstable-v1'],
},
'output-power-management': {
'src': 'output-power-management.c',
'dep': [wayland_client],
'proto': ['wlr-output-power-management-unstable-v1'],
},
'pointer-constraints': {
'src': ['pointer-constraints.c', 'egl_common.c'],
'dep': [wayland_egl, egl, glesv2],
'proto': [
'pointer-constraints-unstable-v1',
'xdg-shell',
],
},
'relative-pointer': {
'src': ['relative-pointer-unstable-v1.c', 'egl_common.c'],
'dep': [wayland_egl, egl, glesv2],
'proto': [
'pointer-constraints-unstable-v1',
'relative-pointer-unstable-v1',
'xdg-shell',
],
},
'dmabuf-capture': {
'src': 'dmabuf-capture.c',
'dep': [
libavcodec,
libavformat,
libavutil,
drm,
threads,
],
'proto': ['wlr-export-dmabuf-unstable-v1'],
},
'screencopy': {
'src': 'screencopy.c',
'dep': [libpng, rt],
'proto': ['wlr-screencopy-unstable-v1'],
},
'screencopy-dmabuf': {
'src': 'screencopy-dmabuf.c',
'dep': [libpng, rt, gbm, drm],
'proto': [
'wlr-screencopy-unstable-v1',
'linux-dmabuf-unstable-v1',
],
},
'toplevel-decoration': {
'src': ['toplevel-decoration.c', 'egl_common.c'],
'dep': [wayland_egl, egl, glesv2],
'proto': [
'xdg-decoration-unstable-v1',
'xdg-shell',
],
},
'input-method': {
'src': 'input-method.c',
'dep': [wayland_egl, libepoll],
'proto': [
'input-method-unstable-v2',
'text-input-unstable-v3',
'xdg-shell',
],
},
'text-input': {
'src': ['text-input.c', 'egl_common.c'],
'dep': [wayland_egl, wayland_cursor, egl, glesv2],
'proto': [
'text-input-unstable-v3',
'xdg-shell',
],
},
'foreign-toplevel': {
'src': 'foreign-toplevel.c',
'proto': ['wlr-foreign-toplevel-management-unstable-v1'],
},
'virtual-pointer': {
'src': 'virtual-pointer.c',
'proto': ['wlr-virtual-pointer-unstable-v1'],
},
'input-method-keyboard-grab': {
'src': 'input-method-keyboard-grab.c',
'dep': [xkbcommon],
'proto': [
'input-method-unstable-v2',
],
},
}
protocols_code = {}
protocols_server_header = {}
protocols_client_header = {}
proto_inc = include_directories('protocol')
foreach name, path : protocols
code = custom_target(
@ -280,6 +81,50 @@ foreach name, path : protocols
protocols_client_header += { name: client_header }
endforeach
compositors = {
'simple': {
'src': 'simple.c',
},
'pointer': {
'src': 'pointer.c',
},
'touch': {
'src': ['touch.c', 'cat.c'],
},
'tablet': {
'src': 'tablet.c',
},
'rotation': {
'src': ['rotation.c', 'cat.c'],
},
'output-layout': {
'src': ['output-layout.c', 'cat.c'],
},
'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 : compositors
extra_src = []
foreach p : info.get('proto', [])
@ -289,29 +134,6 @@ foreach name, info : compositors
executable(
name,
[info.get('src'), extra_src],
dependencies: [libdrm, wlroots, wayland_server, xkbcommon],
include_directories: [proto_inc],
dependencies: [libdrm, wlroots, wayland_server, xkbcommon, info.get('dep', [])],
)
endforeach
foreach name, info : clients
all_dep_found = true
extra_src = []
foreach d : info.get('dep', [])
all_dep_found = all_dep_found and d.found()
endforeach
foreach p : info.get('proto')
extra_src += protocols_code[p]
extra_src += protocols_client_header[p]
endforeach
if all_dep_found
executable(
name,
[info.get('src'), extra_src],
dependencies: [wayland_client, info.get('dep', [])],
)
else
warning('Dependencies not satisfied for ' + name)
endif
endforeach

View file

@ -1,2 +1,2 @@
SHA512 (wlroots-0.16.2.tar.gz) = 9d5fbee3b87738de75323a056b83446eb93b81ac3e8a4315918d5daad6ed2f50392d9641039f3f830ec1df94155473a2052689d3c029be7572d8ec9ecc62c0e9
SHA512 (wlroots-0.16.2.tar.gz.sig) = 25e09ed5dba676d4911183a87a25a04040255a7a2ec7dff8e124fd4957ed16cd091e2a5105853d8d5896cdd5db17513f04e7fdf3a79363eb296d40f29245e0fa
SHA512 (wlroots-0.20.2.tar.gz) = 634345e23d0b6c28cb501c0dd0ef9c50d529a92ae5c8455e99e876f3f37ee244ac19dd097f76416b2ae4fd7c3f02e39a92a9322cf5a0caf8da21c31cd900e508
SHA512 (wlroots-0.20.2.tar.gz.sig) = e74dc0abfabed7f40ba4f0e5edfc30ef92b95ebcf4a6aca3b2a605b04b5f2345a6a842cdf56819ce1f050c6181b646eae19dbef835354df7b09562cebbdaa474

View file

@ -1,55 +0,0 @@
From f3ba14e491333d6bbba8c60328c4dbfd20571182 Mon Sep 17 00:00:00 2001
From: Simon Zeni <simon@bl4ckb0ne.ca>
Date: Fri, 11 Nov 2022 15:54:07 -0500
Subject: [PATCH] render/vulkan: remove hardcoded validation layers
Users should use the VK_INSTANCE_LAYERS env var to set layers at runtime
---
render/vulkan/renderer.c | 2 ++
render/vulkan/vulkan.c | 12 ++----------
2 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/render/vulkan/renderer.c b/render/vulkan/renderer.c
index c64937aa6..ff208abc4 100644
--- a/render/vulkan/renderer.c
+++ b/render/vulkan/renderer.c
@@ -1938,6 +1938,8 @@ error:
struct wlr_renderer *wlr_vk_renderer_create_with_drm_fd(int drm_fd) {
wlr_log(WLR_INFO, "The vulkan renderer is only experimental and "
"not expected to be ready for daily use");
+ wlr_log(WLR_INFO, "Run with VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation "
+ "to enable the validation layer");
// NOTE: we could add functionality to allow the compositor passing its
// name and version to this function. Just use dummies until then,
diff --git a/render/vulkan/vulkan.c b/render/vulkan/vulkan.c
index 748ba9c32..c964fe12e 100644
--- a/render/vulkan/vulkan.c
+++ b/render/vulkan/vulkan.c
@@ -138,21 +138,13 @@ struct wlr_vk_instance *vulkan_instance_create(bool debug) {
.apiVersion = VK_API_VERSION_1_1,
};
- const char *layers[] = {
- "VK_LAYER_KHRONOS_validation",
- // "VK_LAYER_RENDERDOC_Capture",
- // "VK_LAYER_live_introspection",
- };
-
- unsigned layer_count = debug * (sizeof(layers) / sizeof(layers[0]));
-
VkInstanceCreateInfo instance_info = {
.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
.pApplicationInfo = &application_info,
.enabledExtensionCount = extensions_len,
.ppEnabledExtensionNames = extensions,
- .enabledLayerCount = layer_count,
- .ppEnabledLayerNames = layers,
+ .enabledLayerCount = 0,
+ .ppEnabledLayerNames = NULL,
};
VkDebugUtilsMessageSeverityFlagsEXT severity =
--
GitLab

View file

@ -1,11 +1,15 @@
# Version of the .so library
%global abi_ver 11
%global abi_ver 0.20
# libliftoff does not bump soname on API changes
%global liftoff_ver 0.5.0
Name: wlroots
Version: 0.16.2
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
@ -16,7 +20,6 @@ Summary: A modular Wayland compositor library
# * protocol/wlr-layer-shell-unstable-v1.xml
# * protocol/wlr-output-management-unstable-v1.xml
# - LGPL-2.1-or-later
# * protocol/idle.xml
# * protocol/server-decoration.xml
# Those files are processed to C-compilable files by the
# `wayland-scanner` binary during build and don't alter
@ -24,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 <contact@emersion.fr>
Source2: https://emersion.fr/.well-known/openpgpkey/hu/dj3498u4hyyarh35rkjfnghbjxug6b19#/gpgkey-0FDE7BE0E88F5E48.gpg
@ -35,44 +38,51 @@ Source2: https://emersion.fr/.well-known/openpgpkey/hu/dj3498u4hyyarh35rk
Source3: examples.meson.build
# Upstream patches
Patch0: %{url}/-/commit/f3ba14e491333d6bbba8c60328c4dbfd20571182.patch#/wlroots-0.16.2-render-vulkan-remove-hardcoded-validation-layers.patch
# Fedora patches
# Following patch is required for phoc.
Patch10: Revert-layer-shell-error-on-0-dimension-without-anch.patch
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(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.113
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)
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.27
BuildRequires: pkgconfig(wayland-protocols) >= 1.47
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(wayland-server) >= 1.21
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)
# protocol files required to compile examples (see SOURCE3)
%global example_protocols \
idle input-method-unstable-v2 wlr-export-dmabuf-unstable-v1 \
wlr-foreign-toplevel-management-unstable-v1 wlr-gamma-control-unstable-v1 \
wlr-input-inhibitor-unstable-v1 wlr-layer-shell-unstable-v1 \
wlr-output-power-management-unstable-v1 wlr-screencopy-unstable-v1 \
wlr-virtual-pointer-unstable-v1
# libliftoff does not bump soname on API changes
Requires: libliftoff%{?_isa} >= %{liftoff_ver}
%description
%{summary}.
@ -86,10 +96,6 @@ Recommends: pkgconfig(xcb-icccm)
# for examples
Suggests: gcc
Suggests: meson >= 0.58.0
Suggests: pkgconfig(libpng)
Suggests: pkgconfig(libavutil)
Suggests: pkgconfig(libavcodec)
Suggests: pkgconfig(libavformat)
Suggests: pkgconfig(wayland-egl)
%description devel
@ -98,17 +104,16 @@ Development files for %{name}.
%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%autosetup -N
# apply unconditional patches
%autopatch -p1 -M19
# apply conditional patches
%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
)
%{meson} "${MESON_OPTIONS[@]}"
@ -117,12 +122,7 @@ MESON_OPTIONS=(
%install
%{meson_install}
EXAMPLE_PROTOCOLS=( %{example_protocols} ) # Normalize whitespace by creating an array
install -pm0644 -Dt '%{buildroot}/%{_pkgdocdir}/examples' examples/*.[ch]
for proto in "${EXAMPLE_PROTOCOLS[@]}"; do
install -pm0644 -Dt '%{buildroot}/%{_pkgdocdir}/examples/protocol' "protocol/${proto}.xml"
done
install -pm0644 -D '%{SOURCE3}' '%{buildroot}/%{_pkgdocdir}/examples/meson.build'
@ -133,17 +133,102 @@ 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 <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