diff --git a/pkgs/default.nix b/pkgs/default.nix index 0d74666..a60f4d3 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -9,4 +9,5 @@ in librespeed-go = callPackage ./librespeed-go.nix { }; modrinth-app = callPackage ./modrinth-app { }; wastebin = callPackage ./wastebin { }; + glfw-minecraft = callPackage ./glfw-minecraft { }; } diff --git a/pkgs/glfw-minecraft/default.nix b/pkgs/glfw-minecraft/default.nix new file mode 100644 index 0000000..6913557 --- /dev/null +++ b/pkgs/glfw-minecraft/default.nix @@ -0,0 +1,6 @@ +{ lib, glfw-wayland-minecraft, ... }: +glfw-wayland-minecraft.overrideAttrs (o: { + patches = [ + ./suppress-wayland-errors.patch + ]; +}) diff --git a/pkgs/glfw-minecraft/suppress-wayland-errors.patch b/pkgs/glfw-minecraft/suppress-wayland-errors.patch new file mode 100644 index 0000000..c0984db --- /dev/null +++ b/pkgs/glfw-minecraft/suppress-wayland-errors.patch @@ -0,0 +1,43 @@ +diff --git a/src/wl_window.c b/src/wl_window.c +index 7c509896..db9a6451 100644 +--- a/src/wl_window.c ++++ b/src/wl_window.c +@@ -2115,25 +2115,21 @@ void _glfwSetWindowTitleWayland(_GLFWwindow* window, const char* title) + void _glfwSetWindowIconWayland(_GLFWwindow* window, + int count, const GLFWimage* images) + { +- _glfwInputError(GLFW_FEATURE_UNAVAILABLE, +- "Wayland: The platform does not support setting the window icon"); ++ fprintf(stderr, "!!! Ignoring Error: Wayland: The platform does not support setting the window icon\n"); + } + + void _glfwGetWindowPosWayland(_GLFWwindow* window, int* xpos, int* ypos) + { + // A Wayland client is not aware of its position, so just warn and leave it + // as (0, 0) +- +- _glfwInputError(GLFW_FEATURE_UNAVAILABLE, +- "Wayland: The platform does not provide the window position"); ++ fprintf(stderr, "!!! Ignoring Error: Wayland: The platform does not provide the window position\n"); + } + + void _glfwSetWindowPosWayland(_GLFWwindow* window, int xpos, int ypos) + { + // A Wayland client can not set its position, so just warn + +- _glfwInputError(GLFW_FEATURE_UNAVAILABLE, +- "Wayland: The platform does not support setting the window position"); ++ fprintf(stderr, "!!! Ignoring Error: Wayland: The platform does not support setting the window position\n"); + } + + void _glfwGetWindowSizeWayland(_GLFWwindow* window, int* width, int* height) +@@ -2359,8 +2355,7 @@ void _glfwRequestWindowAttentionWayland(_GLFWwindow* window) + + void _glfwFocusWindowWayland(_GLFWwindow* window) + { +- _glfwInputError(GLFW_FEATURE_UNAVAILABLE, +- "Wayland: The platform does not support setting the input focus"); ++ fprintf(stderr, "!!! Ignoring Error: Wayland: The platform does not support setting the input focus\n"); + } + + void _glfwSetWindowMonitorWayland(_GLFWwindow* window,