mirror of
https://github.com/ublue-os/bazzite.git
synced 2025-02-28 03:39:56 +00:00
chore: Add wlroots, vkroots, and gamescope spec files
This commit is contained in:
parent
492471d811
commit
73edf0e2ec
98
spec_files/gamescope/gamescope.spec
Normal file
98
spec_files/gamescope/gamescope.spec
Normal file
@ -0,0 +1,98 @@
|
||||
%global libliftoff_minver 0.4.1
|
||||
|
||||
Name: gamescope
|
||||
Version: 3.13.18
|
||||
Release: 1%{?dist}
|
||||
Summary: Micro-compositor for video games on Wayland
|
||||
|
||||
License: BSD
|
||||
URL: https://github.com/ValveSoftware/gamescope
|
||||
|
||||
# Create stb.pc to satisfy dependency('stb')
|
||||
Source1: stb.pc
|
||||
Source2: remove-720p-restrict.patch
|
||||
|
||||
BuildRequires: meson >= 0.54.0
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: glm-devel
|
||||
BuildRequires: google-benchmark-devel
|
||||
BuildRequires: libXmu-devel
|
||||
BuildRequires: pkgconfig(libdisplay-info)
|
||||
BuildRequires: pkgconfig(x11)
|
||||
BuildRequires: pkgconfig(xdamage)
|
||||
BuildRequires: pkgconfig(xcomposite)
|
||||
BuildRequires: pkgconfig(xrender)
|
||||
BuildRequires: pkgconfig(xext)
|
||||
BuildRequires: pkgconfig(xfixes)
|
||||
BuildRequires: pkgconfig(xxf86vm)
|
||||
BuildRequires: pkgconfig(xtst)
|
||||
BuildRequires: pkgconfig(xres)
|
||||
BuildRequires: pkgconfig(libdrm)
|
||||
BuildRequires: pkgconfig(vulkan)
|
||||
BuildRequires: pkgconfig(wayland-scanner)
|
||||
BuildRequires: pkgconfig(wayland-server)
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.17
|
||||
BuildRequires: pkgconfig(xkbcommon)
|
||||
BuildRequires: pkgconfig(sdl2)
|
||||
BuildRequires: pkgconfig(libpipewire-0.3)
|
||||
BuildRequires: (pkgconfig(wlroots) >= 0.17.0 with pkgconfig(wlroots) < 0.18.0)
|
||||
BuildRequires: (pkgconfig(libliftoff) >= 0.4.1 with pkgconfig(libliftoff) < 0.5)
|
||||
BuildRequires: pkgconfig(libcap)
|
||||
BuildRequires: pkgconfig(hwdata)
|
||||
BuildRequires: pkgconfig(xwayland)
|
||||
BuildRequires: pkgconfig(xcursor)
|
||||
BuildRequires: vkroots-devel
|
||||
BuildRequires: /usr/bin/glslangValidator
|
||||
BuildRequires: git
|
||||
BuildRequires: stb_image-devel
|
||||
BuildRequires: stb_image_write-devel
|
||||
BuildRequires: stb_image_resize-devel
|
||||
|
||||
# libliftoff hasn't bumped soname, but API/ABI has changed for 0.2.0 release
|
||||
Requires: libliftoff%{?_isa} >= %{libliftoff_minver}
|
||||
Requires: xorg-x11-server-Xwayland
|
||||
Requires: google-benchmark
|
||||
Requires: gamescope-libs = %{version}-%{release}
|
||||
Recommends: mesa-dri-drivers
|
||||
Recommends: mesa-vulkan-drivers
|
||||
|
||||
%description
|
||||
%{name} is the micro-compositor optimized for running video games on Wayland.
|
||||
|
||||
%package libs
|
||||
Summary: libs for %{name}
|
||||
%description libs
|
||||
%summary
|
||||
|
||||
%prep
|
||||
git clone --single-branch --branch %{version} https://github.com/ValveSoftware/gamescope.git
|
||||
cd gamescope
|
||||
git submodule update --init --recursive
|
||||
mkdir -p pkgconfig
|
||||
cp %{SOURCE1} pkgconfig/stb.pc
|
||||
patch -Np1 < %{SOURCE2}
|
||||
|
||||
%build
|
||||
cd gamescope
|
||||
export PKG_CONFIG_PATH=pkgconfig
|
||||
%meson -Dpipewire=enabled -Denable_gamescope=true -Denable_gamescope_wsi_layer=true -Denable_openvr_support=true -Dforce_fallback_for=[]
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
cd gamescope
|
||||
%meson_install --skip-subprojects
|
||||
|
||||
%files
|
||||
%license gamescope/LICENSE
|
||||
%doc gamescope/README.md
|
||||
%attr(0755, root, root) %caps(cap_sys_nice=eip) %{_bindir}/gamescope
|
||||
|
||||
%files libs
|
||||
%{_libdir}/*.so
|
||||
%{_datadir}/vulkan/implicit_layer.d/
|
||||
|
||||
%changelog
|
||||
{{{ git_dir_changelog }}}
|
30
spec_files/gamescope/remove-720p-restrict.patch
Normal file
30
spec_files/gamescope/remove-720p-restrict.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From 7a30aa387f92d7423ddc7d0ee703c23fcb7f2322 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Crider <gloriouseggroll@gmail.com>
|
||||
Date: Tue, 12 Dec 2023 07:02:33 -0500
|
||||
Subject: [PATCH] remove 720p forced restriction
|
||||
|
||||
---
|
||||
src/steamcompmgr.cpp | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp
|
||||
index 6add8f4..1898d13 100644
|
||||
--- a/src/steamcompmgr.cpp
|
||||
+++ b/src/steamcompmgr.cpp
|
||||
@@ -5647,6 +5647,13 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev)
|
||||
size_t server_idx = size_t{ xwayland_mode_ctl[ 0 ] };
|
||||
int width = xwayland_mode_ctl[ 1 ];
|
||||
int height = xwayland_mode_ctl[ 2 ];
|
||||
+
|
||||
+ if ( g_nOutputWidth != 1280 && width == 1280 )
|
||||
+ {
|
||||
+ width = g_nOutputWidth;
|
||||
+ height = g_nOutputHeight;
|
||||
+ }
|
||||
+
|
||||
bool allowSuperRes = !!xwayland_mode_ctl[ 3 ];
|
||||
|
||||
if ( !allowSuperRes )
|
||||
--
|
||||
2.43.0
|
||||
|
7
spec_files/gamescope/stb.pc
Normal file
7
spec_files/gamescope/stb.pc
Normal file
@ -0,0 +1,7 @@
|
||||
prefix=/usr
|
||||
includedir=${prefix}/include/stb
|
||||
|
||||
Name: stb
|
||||
Description: Single-file public domain libraries for C/C++
|
||||
Version: 0.1.0
|
||||
Cflags: -I${includedir}
|
57
spec_files/vkroots/vkroots.spec
Normal file
57
spec_files/vkroots/vkroots.spec
Normal file
@ -0,0 +1,57 @@
|
||||
%global debug_package %{nil}
|
||||
%global commit 2ceb105700e23842bec0e56a0a2cbd5885dfcf4b
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global git_date 20231118
|
||||
|
||||
Name: vkroots
|
||||
Version: 0^%{git_date}git%{shortcommit}
|
||||
Release: 1%{?dist}
|
||||
Summary: A stupid simple method of making Vulkan layers, at home
|
||||
License: LGPL-2.1-or-later AND (Apache-2.0 or MIT)
|
||||
URL: https://github.com/Joshua-Ashton/vkroots
|
||||
Source: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
|
||||
|
||||
BuildRequires: meson
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: vulkan-headers
|
||||
|
||||
|
||||
%description
|
||||
vkroots is a framework for writing Vulkan layers that
|
||||
takes all the complexity/hastle away from you. It's so simple.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: A stupid simple method of making Vulkan layers, at home
|
||||
|
||||
%description devel
|
||||
vkroots is a framework for writing Vulkan layers that
|
||||
takes all the complexity/hastle away from you. It's so simple.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}-%{commit}
|
||||
|
||||
|
||||
%build
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
|
||||
%files devel
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_includedir}/%{name}.h
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Jul 25 2023 Frantisek Zatloukal <fzatlouk@redhat.com> - 0^20230313gite554d4c-1
|
||||
- Rebase to a later snapshot
|
||||
|
||||
* Fri Mar 03 2023 Onuralp SEZER <thunderbirdtr@fedoraproject.org> - 0^20230103git2675710-1
|
||||
- Initial package vkroots
|
@ -0,0 +1,44 @@
|
||||
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 | 20 --------------------
|
||||
1 file changed, 20 deletions(-)
|
||||
|
||||
diff --git a/types/wlr_layer_shell_v1.c b/types/wlr_layer_shell_v1.c
|
||||
index fa054d3c..062fa96d 100644
|
||||
--- a/types/wlr_layer_shell_v1.c
|
||||
+++ b/types/wlr_layer_shell_v1.c
|
||||
@@ -335,26 +335,6 @@
|
||||
return;
|
||||
}
|
||||
|
||||
- const uint32_t horiz = ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT |
|
||||
- ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT;
|
||||
- if (surface->pending.desired_width == 0 &&
|
||||
- (surface->pending.anchor & horiz) != horiz) {
|
||||
- wl_resource_post_error(surface->resource,
|
||||
- ZWLR_LAYER_SURFACE_V1_ERROR_INVALID_SIZE,
|
||||
- "width 0 requested without setting left and right anchors");
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- const uint32_t vert = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP |
|
||||
- ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM;
|
||||
- if (surface->pending.desired_height == 0 &&
|
||||
- (surface->pending.anchor & vert) != vert) {
|
||||
- wl_resource_post_error(surface->resource,
|
||||
- ZWLR_LAYER_SURFACE_V1_ERROR_INVALID_SIZE,
|
||||
- "height 0 requested without setting top and bottom anchors");
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
if (surface->surface->unmap_commit) {
|
||||
layer_surface_reset(surface);
|
||||
|
||||
--
|
||||
2.37.3
|
||||
|
317
spec_files/wlroots/examples.meson.build
Normal file
317
spec_files/wlroots/examples.meson.build
Normal file
@ -0,0 +1,317 @@
|
||||
project(
|
||||
'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')
|
||||
|
||||
math = cc.find_library('m')
|
||||
rt = cc.find_library('rt')
|
||||
|
||||
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,
|
||||
)
|
||||
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(
|
||||
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
|
||||
|
||||
foreach name, info : compositors
|
||||
extra_src = []
|
||||
foreach p : info.get('proto', [])
|
||||
extra_src += protocols_server_header[p]
|
||||
endforeach
|
||||
|
||||
executable(
|
||||
name,
|
||||
[info.get('src'), extra_src],
|
||||
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
|
BIN
spec_files/wlroots/gpgkey-0FDE7BE0E88F5E48.gpg
Normal file
BIN
spec_files/wlroots/gpgkey-0FDE7BE0E88F5E48.gpg
Normal file
Binary file not shown.
323
spec_files/wlroots/wlroots.spec
Normal file
323
spec_files/wlroots/wlroots.spec
Normal file
@ -0,0 +1,323 @@
|
||||
# Version of the .so library
|
||||
%global abi_ver 12
|
||||
|
||||
Name: wlroots
|
||||
Version: 0.17.0
|
||||
Release: 3%{?dist}
|
||||
Summary: A modular Wayland compositor library
|
||||
|
||||
# Source files/overall project licensed as MIT, but
|
||||
# - 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/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
|
||||
# the main license of the binaries linking with them by
|
||||
# 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
|
||||
# 0FDE7BE0E88F5E48: emersion <contact@emersion.fr>
|
||||
Source2: https://emersion.fr/.well-known/openpgpkey/hu/dj3498u4hyyarh35rkjfnghbjxug6b19#/gpgkey-0FDE7BE0E88F5E48.gpg
|
||||
|
||||
# this file is a modification of examples/meson.build so as to:
|
||||
# - make it self-contained
|
||||
# - only has targets for examples known to compile well (cf. "examples) global)
|
||||
Source3: examples.meson.build
|
||||
|
||||
# Fedora patches
|
||||
# Following patch is required for phoc.
|
||||
Patch10: Revert-layer-shell-error-on-0-dimension-without-anch.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: glslang
|
||||
BuildRequires: gnupg2
|
||||
BuildRequires: meson >= 0.59.0
|
||||
BuildRequires: pkgconfig(egl)
|
||||
BuildRequires: pkgconfig(gbm) >= 17.1.0
|
||||
BuildRequires: pkgconfig(glesv2)
|
||||
BuildRequires: pkgconfig(hwdata)
|
||||
BuildRequires: pkgconfig(libdrm) >= 2.4.113
|
||||
BuildRequires: pkgconfig(libinput) >= 1.21.0
|
||||
BuildRequires: pkgconfig(libseat)
|
||||
BuildRequires: pkgconfig(libudev)
|
||||
BuildRequires: pkgconfig(pixman-1)
|
||||
BuildRequires: pkgconfig(vulkan)
|
||||
BuildRequires: pkgconfig(wayland-client)
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.27
|
||||
BuildRequires: pkgconfig(wayland-scanner)
|
||||
BuildRequires: pkgconfig(wayland-server) >= 1.21
|
||||
BuildRequires: pkgconfig(x11-xcb)
|
||||
BuildRequires: pkgconfig(xcb)
|
||||
BuildRequires: pkgconfig(xcb-icccm)
|
||||
BuildRequires: pkgconfig(xcb-renderutil)
|
||||
BuildRequires: pkgconfig(xkbcommon)
|
||||
BuildRequires: pkgconfig(xwayland)
|
||||
BuildRequires: pkgconfig(libdisplay-info)
|
||||
|
||||
# protocol files required to compile examples (see SOURCE3)
|
||||
%global example_protocols \
|
||||
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}.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name}%{?_isa} == %{version}-%{release}
|
||||
# not required per se, so not picked up automatically by RPM
|
||||
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
|
||||
Development files for %{name}.
|
||||
|
||||
|
||||
%prep
|
||||
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||
%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[@]}"
|
||||
%{meson_build}
|
||||
|
||||
|
||||
%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'
|
||||
|
||||
|
||||
%check
|
||||
%{meson_test}
|
||||
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_libdir}/lib%{name}.so.%{abi_ver}*
|
||||
|
||||
|
||||
%files devel
|
||||
%doc %{_pkgdocdir}/examples
|
||||
%{_includedir}/wlr
|
||||
%{_libdir}/lib%{name}.so
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
|
||||
|
||||
%changelog
|
||||
* 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)
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Thu Jul 08 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.14.1-1
|
||||
- Update to wlroots 0.14.1
|
||||
|
||||
* Wed Jul 07 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.14.0-2
|
||||
- Add patch for a few more issues with cursors, multi-GPUs and nouveau
|
||||
|
||||
* Wed Jun 23 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.14.0-1
|
||||
- Update to 0.14.0
|
||||
- Add upstream patch for cursor issues on scaled outputs
|
||||
|
||||
* Tue Jun 01 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.13.0-2
|
||||
- Enable libseat session backend
|
||||
|
||||
* Wed Apr 07 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.13.0-1
|
||||
- Update to 0.13.0 (#1947218)
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Sun Nov 08 2020 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.12.0-1
|
||||
- Updated to version 0.12.0
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Jul 15 2020 Aleksei Bavshin <alebastr89@gmail.com> - 0.11.0-1
|
||||
- Updated to version 0.11.0
|
||||
|
||||
* Sat May 09 2020 Till Hofmann <thofmann@fedoraproject.org> - 0.10.1-2
|
||||
- Add patch from upstream #2167 to fix #1829212
|
||||
|
||||
* Tue Mar 24 2020 Nikhil Jha <hi@nikhiljha.com> - 0.10.1-1
|
||||
- Updated to version 0.10.1 (https://github.com/swaywm/wlroots/releases/tag/0.10.1)
|
||||
|
||||
* Mon Feb 10 2020 Jan Staněk <jstanek@redhat.com> - 0.10.0-6
|
||||
- Propagate mesa-libEGL-devel workaround to -devel requirements
|
||||
|
||||
* Sat Feb 08 2020 Simone Caronni <negativo17@gmail.com> - 0.10.0-5
|
||||
- RDP backend is no longer in wlroots 0.10.
|
||||
|
||||
* Fri Feb 07 2020 Simone Caronni <negativo17@gmail.com> - 0.10.0-4
|
||||
- Rebuild for updated FreeRDP.
|
||||
|
||||
* Tue Feb 04 2020 Jan Staněk <jstanek@redhat.com> - 0.10.0-3
|
||||
- Disable -Werror compilation flag on s390x
|
||||
(https://github.com/swaywm/wlroots/issues/2018)
|
||||
|
||||
* Wed Jan 29 2020 Jan Staněk <jstanek@redhat.com> - 0.10.0-2
|
||||
- Backport fix for compilation with GCC 10
|
||||
|
||||
* Tue Jan 28 2020 Joe Walker <grumpey0@gmail.com> - 0.10.0
|
||||
- Updated to version 0.10.0 (https://github.com/swaywm/wlroots/releases/tag/0.10.0)
|
||||
|
||||
Mon Jan 20 2020 Jan Staněk <jstanek@redhat.com> - 0.9.1-1
|
||||
- Upgrade to version 0.9.1 (https://github.com/swaywm/wlroots/releases/tag/0.9.1)
|
||||
|
||||
* Thu Sep 12 2019 Jan Staněk <jstanek@redhat.com> - 0.7.0-2
|
||||
- Spec file cleanup
|
||||
|
||||
* Thu Aug 29 2019 Jeff Peeler <jpeeler@redhat.com> - 0.7.0-1
|
||||
- Updated to version 0.7.0
|
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Thu May 09 2019 Jan Pokorný <jpokorny+rpm-wlroots@fedoraproject.org> - 0.6.0-1
|
||||
- Updated to version 0.6.0
|
||||
(see https://github.com/swaywm/wlroots/releases/tag/0.6.0)
|
||||
- Overhaul dependencies and shipped examples in -devel
|
||||
|
||||
* Tue Apr 16 2019 Adam Williamson <awilliam@redhat.com> - 0.5.0-2
|
||||
- Rebuild with Meson fix for #1699099
|
||||
|
||||
* Thu Mar 14 2019 Jan Pokorný <jpokorny+rpm-wlroots@fedoraproject.org> - 0.5.0-1
|
||||
- Updated to version 0.5.0 (0.2, 0.3, 0.4, 0.4.1 releases effectively skipped)
|
||||
- Avoid building some parts that are not shipped in binary form, anyway
|
||||
- Minor spec cleanup (clarify the licensing comment, licensecheck's NTP ~ MIT,
|
||||
ldconfig_scriptlets no longer relevant, arch-specific tweak no longer needed)
|
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Tue Nov 27 2018 Jan Pokorný <jpokorny+rpm-wlroots@fedoraproject.org> - 0.1-4
|
||||
- Fix Firefox crash around text selection/clipboard
|
||||
(https://github.com/swaywm/wlroots/pull/1380)
|
||||
|
||||
* Tue Nov 27 2018 Jan Pokorný <jpokorny+rpm-wlroots@fedoraproject.org> - 0.1-3
|
||||
- Make Firefox run smoother (https://github.com/swaywm/wlroots/pull/1384)
|
||||
|
||||
* Wed Nov 07 2018 Jan Pokorný <jpokorny+rpm-wlroots@fedoraproject.org> - 0.1-2
|
||||
- Fix incorrect "pkgconfig" version
|
||||
|
||||
* Wed Oct 31 2018 Jan Pokorný <jpokorny+rpm-wlroots@fedoraproject.org> - 0.1-1
|
||||
- Updated to historically first official release
|
||||
- Turned off implicit enablement of all 'auto' build features under Meson,
|
||||
since xcb-errors is not available at this time
|
||||
- Added BR: libpng
|
||||
- Expanding spec comment on source files not covered with MIT license
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.1-0.9.20180106git03faf17
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.1-0.8.20180106git03faf17
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Sat Jan 13 2018 Björn Esser <besser82@fedoraproject.org> - 0.0.1-0.7.20180106git03faf17
|
||||
- Updated snapshot
|
||||
|
||||
* Wed Jan 03 2018 Björn Esser <besser82@fedoraproject.org> - 0.0.1-0.6.20180102git767df15
|
||||
- Initial import (#1529352)
|
||||
|
||||
* Wed Jan 03 2018 Björn Esser <besser82@fedoraproject.org> - 0.0.1-0.5.20180102git767df15
|
||||
- Updated snapshot
|
||||
|
||||
* Sun Dec 31 2017 Björn Esser <besser82@fedoraproject.org> - 0.0.1-0.4.20171229git80ed4d4
|
||||
- Add licensing clarification
|
||||
- Add BR: gcc
|
||||
|
||||
* Sat Dec 30 2017 Björn Esser <besser82@fedoraproject.org> - 0.0.1-0.3.20171229git80ed4d4
|
||||
- Updated snapshot
|
||||
|
||||
* Wed Dec 27 2017 Björn Esser <besser82@fedoraproject.org> - 0.0.1-0.2.20171227giteeb7cd8
|
||||
- Optimize spec-file
|
||||
|
||||
* Wed Dec 27 2017 Björn Esser <besser82@fedoraproject.org> - 0.0.1-0.1.20171227giteeb7cd8
|
||||
- Initial rpm release (#1529352)
|
Loading…
x
Reference in New Issue
Block a user