gooey-suncat/nix/SDL3.nix
2024-10-11 15:06:50 +01:00

96 lines
1.8 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
alsa-lib,
cmake,
darwin,
dbus,
fcitx5,
libdecor,
libdrm,
libjack2,
libpulseaudio,
libxkbcommon,
mesa,
nas,
ninja,
pipewire,
sndio,
systemdLibs,
testers,
validatePkgConfig,
wayland,
xorg,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "sdl3";
version = "3.1.2-unstable-2024-08-01";
src = fetchFromGitHub {
owner = "libsdl-org";
repo = "SDL";
rev = "f01d4278c66e065e64bc934cd01e4f2952f613d7";
hash = "sha256-ok3ortmy5dm3zZdH+3tAvOIRDrDxDDXBjxBC3nGdHDM=";
};
patches = [
# Case of https://github.com/NixOS/nixpkgs/issues/144170
# Remove if/when https://github.com/libsdl-org/SDL/pull/10246 is merged
./0001-cmake-use-FULL-install-directory-variants-in-pkg-con.patch
];
outputs = [
"lib"
"dev"
"out"
];
nativeBuildInputs = [
cmake
ninja
validatePkgConfig
];
buildInputs =
lib.optionals stdenv.isLinux [
alsa-lib
dbus
fcitx5
libdecor
libdrm
libjack2
libpulseaudio
mesa # libgbm
nas # libaudo
pipewire
sndio
systemdLibs # libudev
# SDL_VIDEODRIVER=wayland
wayland
# SDL_VIDEODRIVER=x11
libxkbcommon
xorg.libX11
xorg.libXcursor
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
]
++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Cocoa ]);
passthru = {
tests.pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; };
};
meta = {
description = "Cross-platform development library (Pre-release version)";
homepage = "https://libsdl.org";
license = lib.licenses.zlib;
maintainers = with lib.maintainers; [ getchoo ];
pkgConfigModules = [ "sdl3" ];
};
})