From adeef1ee8234ebb828d8dc0b427866a33fd648a5 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Mon, 28 Apr 2025 18:00:11 +0200 Subject: [PATCH 1/3] sdl2-compat: simplify tests SDL2 now points to this package, no need to override it manually. --- pkgs/by-name/sd/sdl2-compat/package.nix | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/sd/sdl2-compat/package.nix b/pkgs/by-name/sd/sdl2-compat/package.nix index 23da12cc8057..e7fec71ac32a 100644 --- a/pkgs/by-name/sd/sdl2-compat/package.nix +++ b/pkgs/by-name/sd/sdl2-compat/package.nix @@ -73,20 +73,20 @@ stdenv.mkDerivation (finalAttrs: { passthru = { tests = - let - replaceSDL2 = drv: drv.override { SDL2 = finalAttrs.finalPackage; }; - in { - pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; - SDL2_ttf = replaceSDL2 SDL2_ttf; - SDL2_net = replaceSDL2 SDL2_net; - SDL2_gfx = replaceSDL2 SDL2_gfx; - SDL2_sound = replaceSDL2 SDL2_sound; - SDL2_mixer = replaceSDL2 SDL2_mixer; - SDL2_image = replaceSDL2 SDL2_image; + pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + + inherit + SDL2_ttf + SDL2_net + SDL2_gfx + SDL2_sound + SDL2_mixer + SDL2_image + ; } // lib.optionalAttrs stdenv.hostPlatform.isLinux { - monado = replaceSDL2 monado; + inherit monado; }; updateScript = nix-update-script { From 7c848b07396625b5f7215ca528145b22af48582e Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Mon, 28 Apr 2025 18:00:11 +0200 Subject: [PATCH 2/3] sdl2-compat: add `sdl2` to pkg-config modules `sdl2` should also be present as a module to ensure that it's detected by applications using `pkg-config` for SDL2 detection. --- pkgs/by-name/sd/sdl2-compat/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/sd/sdl2-compat/package.nix b/pkgs/by-name/sd/sdl2-compat/package.nix index e7fec71ac32a..7a5972909def 100644 --- a/pkgs/by-name/sd/sdl2-compat/package.nix +++ b/pkgs/by-name/sd/sdl2-compat/package.nix @@ -108,6 +108,9 @@ stdenv.mkDerivation (finalAttrs: { marcin-serwin ]; platforms = lib.platforms.all; - pkgConfigModules = [ "sdl2-compat" ]; + pkgConfigModules = [ + "sdl2-compat" + "sdl2" + ]; }; }) From 6753ce53f161a9e8dcc2cf0c61c086a2f6370362 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Mon, 28 Apr 2025 18:00:11 +0200 Subject: [PATCH 3/3] sdl2-compat: simplify `doCheck` logic `stdenv.mkDerivation` already checks whether the build platform can execute host code and disables tests if it's not supported, no need to duplicate this logic. `doCheck` can be disabled with `overrideAttrs`, no need for a dedicated override flag. --- pkgs/by-name/sd/sdl2-compat/package.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/by-name/sd/sdl2-compat/package.nix b/pkgs/by-name/sd/sdl2-compat/package.nix index 7a5972909def..e6c1fe2ccb2d 100644 --- a/pkgs/by-name/sd/sdl2-compat/package.nix +++ b/pkgs/by-name/sd/sdl2-compat/package.nix @@ -16,7 +16,6 @@ testers, libX11, libGL, - testSupport ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -60,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: { # skip timing-based tests as those are flaky env.SDL_TESTS_QUICK = 1; - doCheck = testSupport && stdenv.buildPlatform.canExecute stdenv.hostPlatform; + doCheck = true; patches = [ ./find-headers.patch ]; setupHook = ./setup-hook.sh;