diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index 8fe6bbe61130..e02ea05a7262 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -75,9 +75,21 @@ stdenv.mkDerivation rec { ++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib" ++ optional stdenv.isDarwin "--disable-sdltest"; + # We remove libtool .la files when static libs are requested, + # because they make the builds of downstream libs like `SDL_tff` + # fail with `cannot find -lXext, `-lXcursor` etc. linker errors + # because the `.la` files are not pruned if static libs exist + # (see https://github.com/NixOS/nixpkgs/commit/fd97db43bcb05e37f6bb77f363f1e1e239d9de53) + # and they also don't carry the necessary `-L` paths of their + # X11 dependencies. + # For static linking, it is better to rely on `pkg-config` `.pc` + # files. postInstall = '' - moveToOutput lib/libSDL2main.a "$dev" - rm $out/lib/*.a + if [ "$dontDisableStatic" -eq "1" ]; then + rm $out/lib/*.la + else + rm $out/lib/*.a + fi moveToOutput bin/sdl2-config "$dev" '';