nixpkgs/pkgs/by-name/fl/flycast/package.nix
2025-06-03 16:15:50 +02:00

66 lines
1.2 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
makeWrapper,
alsa-lib,
curl,
libao,
libpulseaudio,
libzip,
lua,
miniupnpc,
SDL2,
vulkan-loader,
}:
stdenv.mkDerivation rec {
pname = "flycast";
version = "2.5";
src = fetchFromGitHub {
owner = "flyinghead";
repo = "flycast";
rev = "v${version}";
hash = "sha256-OnlSkwPDUrpj9uEPEAxZO1iSgd5ZiQUJLneu14v9pKQ=";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
pkg-config
makeWrapper
];
buildInputs = [
alsa-lib
curl
libao
libpulseaudio
libzip
lua
miniupnpc
SDL2
];
cmakeFlags = [
"-DUSE_HOST_SDL=ON"
];
postFixup = ''
wrapProgram $out/bin/flycast --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}
'';
meta = {
homepage = "https://github.com/flyinghead/flycast";
changelog = "https://github.com/flyinghead/flycast/releases/tag/v${version}";
description = "Multi-platform Sega Dreamcast, Naomi and Atomiswave emulator";
mainProgram = "flycast";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ ];
};
}