35 lines
979 B
Nix
35 lines
979 B
Nix
|
{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, SDL2, qtbase
|
||
|
, wrapQtAppsHook, qttools, ninja, gtk3 }:
|
||
|
mkDerivation rec {
|
||
|
pname = "duckstation";
|
||
|
version = "unstable-2020-12-29";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "stenzek";
|
||
|
repo = pname;
|
||
|
rev = "f8dcfabc44ff8391b2d41eab2e883dc8f21a88b7";
|
||
|
sha256 = "0v6w4di4yj1hbxpqqrcw8rbfjg18g9kla8mnb3b5zgv7i4dyzykw";
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = [ cmake wrapQtAppsHook qttools ];
|
||
|
|
||
|
buildInputs = [ SDL2 qtbase gtk3 pkg-config ];
|
||
|
|
||
|
installPhase = ''
|
||
|
mkdir -p $out/
|
||
|
mv bin $out/
|
||
|
'';
|
||
|
|
||
|
# TODO:
|
||
|
# - vulkan graphics backend (OpenGL works).
|
||
|
# - default sound backend (cubeb) does not work, but SDL does.
|
||
|
meta = with lib; {
|
||
|
description =
|
||
|
"PlayStation 1 emulator focusing on playability, speed and long-term maintainability";
|
||
|
homepage = "https://github.com/stenzek/duckstation";
|
||
|
license = licenses.gpl3;
|
||
|
platforms = platforms.linux;
|
||
|
maintainers = [ maintainers.guibou ];
|
||
|
};
|
||
|
}
|