looking-glass-client: add patch to fix wayland only build

This commit is contained in:
j-brn 2024-03-13 02:21:03 +01:00
parent 9f66527328
commit 7e409bb2f2
2 changed files with 64 additions and 3 deletions

View File

@ -0,0 +1,57 @@
From: Geoffrey McRae <geoff@hostfission.com>
Date: Wed, 13 Mar 2024 11:17:25 +1100
Subject: [PATCH] [client] cmake: move X11 config directives to
`displayservers`
---
client/CMakeLists.txt | 7 -------
client/displayservers/CMakeLists.txt | 7 +++++++
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git client/CMakeLists.txt client/CMakeLists.txt
index 3755adcf..eeeb3eb0 100644
--- client/CMakeLists.txt
+++ client/CMakeLists.txt
@@ -42,19 +42,12 @@ add_feature_info(ENABLE_ASAN ENABLE_ASAN "AddressSanitizer support.")
option(ENABLE_UBSAN "Build with UndefinedBehaviorSanitizer" OFF)
add_feature_info(ENABLE_UBSAN ENABLE_UBSAN "UndefinedBehaviorSanitizer support.")
-option(ENABLE_X11 "Build with X11 support" ON)
-add_feature_info(ENABLE_X11 ENABLE_X11 "X11 support.")
-
option(ENABLE_PIPEWIRE "Build with PipeWire audio output support" ON)
add_feature_info(ENABLE_PIPEWIRE ENABLE_PIPEWIRE "PipeWire audio support.")
option(ENABLE_PULSEAUDIO "Build with PulseAudio audio output support" ON)
add_feature_info(ENABLE_PULSEAUDIO ENABLE_PULSEAUDIO "PulseAudio audio support.")
-if (NOT ENABLE_X11 AND NOT ENABLE_WAYLAND)
- message(FATAL_ERROR "Either ENABLE_X11 or ENABLE_WAYLAND must be on")
-endif()
-
add_compile_options(
"-Wall"
"-Wextra"
diff --git client/displayservers/CMakeLists.txt client/displayservers/CMakeLists.txt
index 5b5f827a..e7c4b25a 100644
--- client/displayservers/CMakeLists.txt
+++ client/displayservers/CMakeLists.txt
@@ -18,9 +18,16 @@ function(add_displayserver name)
add_subdirectory(${name})
endfunction()
+option(ENABLE_X11 "Build with X11 support" ON)
+add_feature_info(ENABLE_X11 ENABLE_X11 "X11 support.")
+
option(ENABLE_WAYLAND "Build with Wayland support" ON)
add_feature_info(ENABLE_WAYLAND ENABLE_WAYLAND "Wayland support.")
+if (NOT ENABLE_X11 AND NOT ENABLE_WAYLAND)
+ message(FATAL_ERROR "Either ENABLE_X11 or ENABLE_WAYLAND must be on")
+endif()
+
# Add/remove displayservers here!
if (ENABLE_WAYLAND)
add_displayserver(Wayland)
--
2.43.1

View File

@ -59,10 +59,15 @@ stdenv.mkDerivation rec {
fetchSubmodules = true;
};
patches = [
# Fix failing cmake assertion when disabling X11 whithout explicitly enabling Wayland.
./0001-client-cmake-move-X11-config-directives-to-displayse.patch
];
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ libGL freefont_ttf spice-protocol expat libbfd nettle fontconfig libffi ]
++ lib.optionals xorgSupport [ libX11 libxkbcommon libXi libXScrnSaver libXinerama libXcursor libXpresent libXext libXrandr libXdmcp ]
buildInputs = [ libX11 libGL freefont_ttf spice-protocol expat libbfd nettle fontconfig libffi ]
++ lib.optionals xorgSupport [ libxkbcommon libXi libXScrnSaver libXinerama libXcursor libXpresent libXext libXrandr libXdmcp ]
++ lib.optionals waylandSupport [ libxkbcommon wayland wayland-protocols ]
++ lib.optionals pipewireSupport [ pipewire libsamplerate ]
++ lib.optionals pulseSupport [ pulseaudio libsamplerate ];
@ -71,7 +76,6 @@ stdenv.mkDerivation rec {
++ lib.optionals (!openGLSupport) [ "-DENABLE_OPENGL=no" ]
++ lib.optionals (!xorgSupport) [ "-DENABLE_X11=no" ]
++ lib.optionals (!waylandSupport) [ "-DENABLE_WAYLAND=no" ]
++ lib.optionals (waylandSupport) [ "-DENABLE_WAYLAND=yes" ]
++ lib.optionals (!pulseSupport) [ "-DENABLE_PULSEAUDIO=no" ]
++ lib.optionals (!pipewireSupport) [ "-DENABLE_PIPEWIRE=no" ];