Compare commits
No commits in common. "rawhide" and "f37" have entirely different histories.
5 changed files with 379 additions and 220 deletions
|
|
@ -1,33 +1,44 @@
|
|||
From e021326f7de0505fcae85f5732885848b21edf9c Mon Sep 17 00:00:00 2001
|
||||
From 05a740206a73c6aab3762eb449b0733e5b9a4c7a 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(+)
|
||||
types/wlr_layer_shell_v1.c | 20 --------------------
|
||||
1 file changed, 20 deletions(-)
|
||||
|
||||
diff --git a/types/wlr_layer_shell_v1.c b/types/wlr_layer_shell_v1.c
|
||||
index 2d838498..c3c50d78 100644
|
||||
index fa054d3c..062fa96d 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) {
|
||||
@@ -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);
|
||||
|
||||
uint32_t anchor = surface->pending.anchor;
|
||||
- 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;
|
||||
|
||||
+#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
|
||||
2.37.3
|
||||
|
||||
|
|
|
|||
|
|
@ -1,57 +1,256 @@
|
|||
# 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')
|
||||
math = cc.find_library('m')
|
||||
rt = cc.find_library('rt')
|
||||
|
||||
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')
|
||||
threads = dependency('threads')
|
||||
wayland_egl = dependency('wayland-egl')
|
||||
wayland_cursor = dependency('wayland-cursor')
|
||||
wayland_client = dependency('wayland-client')
|
||||
wayland_server = dependency('wayland-server')
|
||||
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')
|
||||
wlroots = dependency('wlroots')
|
||||
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(
|
||||
|
|
@ -81,50 +280,6 @@ 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', [])
|
||||
|
|
@ -134,6 +289,29 @@ foreach name, info : compositors
|
|||
executable(
|
||||
name,
|
||||
[info.get('src'), extra_src],
|
||||
dependencies: [libdrm, wlroots, wayland_server, xkbcommon, info.get('dep', [])],
|
||||
dependencies: [libdrm, wlroots, wayland_server, xkbcommon],
|
||||
include_directories: [proto_inc],
|
||||
)
|
||||
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
|
||||
|
|
|
|||
4
sources
4
sources
|
|
@ -1,2 +1,2 @@
|
|||
SHA512 (wlroots-0.20.2.tar.gz) = 634345e23d0b6c28cb501c0dd0ef9c50d529a92ae5c8455e99e876f3f37ee244ac19dd097f76416b2ae4fd7c3f02e39a92a9322cf5a0caf8da21c31cd900e508
|
||||
SHA512 (wlroots-0.20.2.tar.gz.sig) = e74dc0abfabed7f40ba4f0e5edfc30ef92b95ebcf4a6aca3b2a605b04b5f2345a6a842cdf56819ce1f050c6181b646eae19dbef835354df7b09562cebbdaa474
|
||||
SHA512 (wlroots-0.16.2.tar.gz) = 9d5fbee3b87738de75323a056b83446eb93b81ac3e8a4315918d5daad6ed2f50392d9641039f3f830ec1df94155473a2052689d3c029be7572d8ec9ecc62c0e9
|
||||
SHA512 (wlroots-0.16.2.tar.gz.sig) = 25e09ed5dba676d4911183a87a25a04040255a7a2ec7dff8e124fd4957ed16cd091e2a5105853d8d5896cdd5db17513f04e7fdf3a79363eb296d40f29245e0fa
|
||||
|
|
|
|||
|
|
@ -0,0 +1,55 @@
|
|||
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
|
||||
|
||||
167
wlroots.spec
167
wlroots.spec
|
|
@ -1,15 +1,11 @@
|
|||
# Version of the .so library
|
||||
%global abi_ver 0.20
|
||||
# libliftoff does not bump soname on API changes
|
||||
%global liftoff_ver 0.5.0
|
||||
%global abi_ver 11
|
||||
|
||||
Name: wlroots
|
||||
Version: 0.20.2
|
||||
Version: 0.16.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
|
||||
|
|
@ -20,6 +16,7 @@ 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
|
||||
|
|
@ -27,8 +24,8 @@ Summary: A modular Wayland compositor library
|
|||
# the underlying licenses.
|
||||
License: MIT
|
||||
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
|
||||
Source0: %{url}/-/releases/%{version}/downloads/%{name}-%{version}.tar.gz
|
||||
Source1: %{url}/-/releases/%{version}/downloads/%{name}-%{version}.tar.gz.sig
|
||||
# 0FDE7BE0E88F5E48: emersion <contact@emersion.fr>
|
||||
Source2: https://emersion.fr/.well-known/openpgpkey/hu/dj3498u4hyyarh35rkjfnghbjxug6b19#/gpgkey-0FDE7BE0E88F5E48.gpg
|
||||
|
||||
|
|
@ -38,51 +35,44 @@ 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.
|
||||
Patch: Revert-layer-shell-error-on-0-dimension-without-anch.patch
|
||||
Patch10: Revert-layer-shell-error-on-0-dimension-without-anch.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: glslang
|
||||
BuildRequires: gnupg2
|
||||
BuildRequires: meson >= 1.3
|
||||
|
||||
BuildRequires: (pkgconfig(libliftoff) >= %{liftoff_ver} with pkgconfig(libliftoff) < 0.6)
|
||||
BuildRequires: meson >= 0.59.0
|
||||
BuildRequires: pkgconfig(egl)
|
||||
BuildRequires: pkgconfig(gbm) >= 21.1
|
||||
BuildRequires: pkgconfig(gbm) >= 17.1.0
|
||||
BuildRequires: pkgconfig(glesv2)
|
||||
BuildRequires: pkgconfig(hwdata)
|
||||
BuildRequires: pkgconfig(lcms2)
|
||||
BuildRequires: pkgconfig(libdisplay-info) >= 0.2.0
|
||||
BuildRequires: pkgconfig(libdrm) >= 2.4.129
|
||||
BuildRequires: pkgconfig(libdrm) >= 2.4.113
|
||||
BuildRequires: pkgconfig(libinput) >= 1.21.0
|
||||
BuildRequires: pkgconfig(libseat)
|
||||
BuildRequires: pkgconfig(libudev)
|
||||
BuildRequires: pkgconfig(pixman-1) >= 0.46.0
|
||||
BuildRequires: pkgconfig(vulkan) >= 1.2.182
|
||||
BuildRequires: pkgconfig(pixman-1)
|
||||
BuildRequires: pkgconfig(vulkan)
|
||||
BuildRequires: pkgconfig(wayland-client)
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.47
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.27
|
||||
BuildRequires: pkgconfig(wayland-scanner)
|
||||
BuildRequires: pkgconfig(wayland-server) >= 1.24.0
|
||||
BuildRequires: pkgconfig(wayland-server) >= 1.21
|
||||
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(xcb-res)
|
||||
BuildRequires: pkgconfig(xcb-shm)
|
||||
BuildRequires: pkgconfig(xcb-xfixes) >= 1.15
|
||||
BuildRequires: pkgconfig(xcb-xinput)
|
||||
BuildRequires: pkgconfig(xkbcommon) >= 1.8.0
|
||||
BuildRequires: pkgconfig(xkbcommon)
|
||||
BuildRequires: pkgconfig(xwayland)
|
||||
# libliftoff does not bump soname on API changes
|
||||
Requires: libliftoff%{?_isa} >= %{liftoff_ver}
|
||||
|
||||
# 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
|
||||
|
||||
%description
|
||||
%{summary}.
|
||||
|
|
@ -96,6 +86,10 @@ 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
|
||||
|
|
@ -104,16 +98,17 @@ Development files for %{name}.
|
|||
|
||||
%prep
|
||||
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||
%autosetup -N -n %{name}-%{tag}
|
||||
# apply unconditional patches (0..99)
|
||||
%autopatch -p1 -M99
|
||||
# apply conditional patches (100..)
|
||||
%autosetup -N
|
||||
# apply unconditional patches
|
||||
%autopatch -p1 -M19
|
||||
# apply conditional patches
|
||||
|
||||
|
||||
%build
|
||||
MESON_OPTIONS=(
|
||||
# Disable options requiring extra/unpackaged dependencies
|
||||
-Dexamples=false
|
||||
-Dxcb-errors=disabled
|
||||
)
|
||||
|
||||
%{meson} "${MESON_OPTIONS[@]}"
|
||||
|
|
@ -122,7 +117,12 @@ 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,102 +133,17 @@ install -pm0644 -D '%{SOURCE3}' '%{buildroot}/%{_pkgdocdir}/examples/meson.build
|
|||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_libdir}/libwlroots-%{abi_ver}.so
|
||||
%{_libdir}/lib%{name}.so.%{abi_ver}*
|
||||
|
||||
|
||||
%files devel
|
||||
%doc %{_pkgdocdir}/examples
|
||||
%{_includedir}/wlroots-%{abi_ver}/wlr
|
||||
%{_libdir}/pkgconfig/wlroots-%{abi_ver}.pc
|
||||
%{_includedir}/wlr
|
||||
%{_libdir}/lib%{name}.so
|
||||
%{_libdir}/pkgconfig/%{name}.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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue