pkgs: Add working Minecraft on Wayland GLFW
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				CI / Check, build and cache Nix flake (push) Failing after 12m18s
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	CI / Check, build and cache Nix flake (push) Failing after 12m18s
				
			This commit is contained in:
		| @@ -9,4 +9,5 @@ in | ||||
|   librespeed-go = callPackage ./librespeed-go.nix { }; | ||||
|   modrinth-app = callPackage ./modrinth-app { }; | ||||
|   wastebin = callPackage ./wastebin { }; | ||||
|   glfw-minecraft = callPackage ./glfw-minecraft { }; | ||||
| } | ||||
|   | ||||
							
								
								
									
										6
									
								
								pkgs/glfw-minecraft/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								pkgs/glfw-minecraft/default.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| { lib, glfw-wayland-minecraft, ... }: | ||||
| glfw-wayland-minecraft.overrideAttrs (o: { | ||||
|   patches = [ | ||||
|     ./suppress-wayland-errors.patch | ||||
|   ]; | ||||
| }) | ||||
							
								
								
									
										43
									
								
								pkgs/glfw-minecraft/suppress-wayland-errors.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								pkgs/glfw-minecraft/suppress-wayland-errors.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -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, | ||||
		Reference in New Issue
	
	Block a user