diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/SDL2')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/SDL2/default.nix | 32 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/SDL2/find-headers.patch | 34 |
2 files changed, 61 insertions, 5 deletions
diff --git a/nixpkgs/pkgs/development/libraries/SDL2/default.nix b/nixpkgs/pkgs/development/libraries/SDL2/default.nix index d1086de3718d..f73c5746cb71 100644 --- a/nixpkgs/pkgs/development/libraries/SDL2/default.nix +++ b/nixpkgs/pkgs/development/libraries/SDL2/default.nix @@ -22,10 +22,14 @@ , waylandSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid , wayland , wayland-protocols +, wayland-scanner +, drmSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid +, libdrm +, mesa , libxkbcommon , dbusSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid , dbus -, udevSupport ? false +, udevSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid , udev , ibusSupport ? false , ibus @@ -55,19 +59,36 @@ with lib; stdenv.mkDerivation rec { pname = "SDL2"; - version = "2.0.20"; + version = "2.0.22"; src = fetchurl { url = "https://www.libsdl.org/release/${pname}-${version}.tar.gz"; - sha256 = "sha256-xWq6HXtbDn6Znkp2mMcLY6M5T/lwS19uHFfgwW8E3QY="; + sha256 = "sha256-/ny/MSeILj/HJZp1oMtYViAnLFF0XThSq53YeWBpfy4="; }; dontDisableStatic = withStatic; outputs = [ "out" "dev" ]; outputBin = "dev"; # sdl-config + patches = [ + # `sdl2-config --cflags` from Nixpkgs returns include path to just SDL2. + # On a normal distro this is enough for includes from all SDL2* packages to work, + # but on NixOS they're spread across different paths. + # This patch + the setup-hook will ensure that `sdl2-config --cflags` works correctly. + ./find-headers.patch + ]; + + postPatch = '' + # Fix running wayland-scanner for the build platform when cross-compiling. + # See comment here: https://github.com/libsdl-org/SDL/issues/4860#issuecomment-1119003545 + substituteInPlace configure \ + --replace '$(WAYLAND_SCANNER)' 'wayland-scanner' + ''; + + strictDeps = true; + depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ pkg-config ] ++ optionals waylandSupport [ wayland ]; + nativeBuildInputs = [ pkg-config ] ++ optionals waylandSupport [ wayland wayland-scanner ]; propagatedBuildInputs = dlopenPropagatedBuildInputs; @@ -84,7 +105,8 @@ stdenv.mkDerivation rec { ++ optional pulseaudioSupport libpulseaudio ++ optional udevSupport udev ++ optionals waylandSupport [ wayland wayland-protocols libxkbcommon ] - ++ optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ]; + ++ optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ] + ++ optionals drmSupport [ libdrm mesa ]; buildInputs = [ libiconv ] ++ dlopenBuildInputs diff --git a/nixpkgs/pkgs/development/libraries/SDL2/find-headers.patch b/nixpkgs/pkgs/development/libraries/SDL2/find-headers.patch new file mode 100644 index 000000000000..4792679deb11 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/SDL2/find-headers.patch @@ -0,0 +1,34 @@ +diff --git a/sdl2-config.cmake.in b/sdl2-config.cmake.in +index c570511fa..ca694f595 100644 +--- a/sdl2-config.cmake.in ++++ b/sdl2-config.cmake.in +@@ -7,7 +7,8 @@ set(includedir "@includedir@") + set(SDL2_PREFIX "${prefix}") + set(SDL2_EXEC_PREFIX "${exec_prefix}") + set(SDL2_LIBDIR "${libdir}") +-set(SDL2_INCLUDE_DIRS "${includedir}/SDL2") ++set(SDL2_INCLUDE_DIRS "${includedir}/SDL2" $ENV{SDL2_PATH}) ++separate_arguments(SDL2_INCLUDE_DIRS) + set(SDL2_LIBRARIES "-L${SDL2_LIBDIR} @SDL_RLD_FLAGS@ @SDL_LIBS@") + string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES) + +diff --git a/sdl2-config.in b/sdl2-config.in +index 5a2aed292..7c55f0a28 100644 +--- a/sdl2-config.in ++++ b/sdl2-config.in +@@ -42,7 +42,11 @@ while test $# -gt 0; do + echo @SDL_VERSION@ + ;; + --cflags) +- echo -I@includedir@/SDL2 @SDL_CFLAGS@ ++ SDL_CFLAGS="" ++ for i in @includedir@/SDL2 $SDL2_PATH; do ++ SDL_CFLAGS="$SDL_CFLAGS -I$i" ++ done ++ echo $SDL_CFLAGS @SDL_CFLAGS@ + ;; + @ENABLE_SHARED_TRUE@ --libs) + @ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@ +-- +2.33.1 + |