From d2a61b2dd4759f7be8e2cbe241f95532ab8cfffc Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Tue, 4 Feb 2025 22:56:00 +0100 Subject: [PATCH 1/2] sdl3: fix building for static windows --- pkgs/by-name/sd/sdl3/package.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sd/sdl3/package.nix b/pkgs/by-name/sd/sdl3/package.nix index 004dee8aa8d1..78f564388f47 100644 --- a/pkgs/by-name/sd/sdl3/package.nix +++ b/pkgs/by-name/sd/sdl3/package.nix @@ -173,7 +173,8 @@ stdenv.mkDerivation (finalAttrs: { # Many dependencies are not directly linked to, but dlopen()'d at runtime. Adding them to the RPATH # helps them be found NIX_LDFLAGS = - lib.optionalString (stdenv.hostPlatform.extensions.sharedLibrary == ".so") + lib.optionalString + (stdenv.hostPlatform.hasSharedLibraries && stdenv.hostPlatform.extensions.sharedLibrary == ".so") "-rpath ${ lib.makeLibraryPath (finalAttrs.dlopenBuildInputs ++ finalAttrs.dlopenPropagatedBuildInputs) }"; @@ -230,7 +231,7 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/libsdl-org/SDL/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.zlib; maintainers = with lib.maintainers; [ getchoo ]; - platforms = lib.platforms.unix; + platforms = lib.platforms.unix ++ lib.platforms.windows; pkgConfigModules = [ "sdl3" ]; }; }) From fd442c50f9514c3b778ed08034914d7064dc2f01 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Wed, 5 Feb 2025 20:28:35 +0100 Subject: [PATCH 2/2] sdl3: assert that wayland is built with opengl Wayland support in SDL3 requires OpenGL. Without it the wayland support is silently skipped in the built library. --- pkgs/by-name/sd/sdl3/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/sd/sdl3/package.nix b/pkgs/by-name/sd/sdl3/package.nix index 78f564388f47..6f7f818984aa 100644 --- a/pkgs/by-name/sd/sdl3/package.nix +++ b/pkgs/by-name/sd/sdl3/package.nix @@ -51,6 +51,10 @@ x11Support ? !stdenv.hostPlatform.isAndroid && !stdenv.hostPlatform.isWindows, }: +assert lib.assertMsg ( + waylandSupport -> openglSupport +) "SDL3 requires OpenGL support to enable Wayland"; + stdenv.mkDerivation (finalAttrs: { pname = "sdl3"; version = "3.2.2";