Files
nixpkgs/pkgs/by-name/sh/shadps4/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

148 lines
2.5 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
nixosTests,
alsa-lib,
boost,
cmake,
cryptopp,
glslang,
ffmpeg,
fmt,
half,
jack2,
libdecor,
libpulseaudio,
libunwind,
libusb1,
magic-enum,
libgbm,
pipewire,
pkg-config,
pugixml,
qt6,
rapidjson,
renderdoc,
robin-map,
sdl3,
sndio,
stb,
toml11,
vulkan-headers,
vulkan-loader,
vulkan-memory-allocator,
xbyak,
xorg,
xxHash,
zlib-ng,
zydis,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "shadps4";
version = "0.11.0";
src = fetchFromGitHub {
owner = "shadps4-emu";
repo = "shadPS4";
tag = "v.${finalAttrs.version}";
hash = "sha256-ZHgwFWSoEaWILTafet5iQvaLwLtXy3HuCxjkQMt4PBA=";
fetchSubmodules = true;
};
buildInputs = [
alsa-lib
boost
cryptopp
glslang
ffmpeg
fmt
half
jack2
libdecor
libpulseaudio
libunwind
libusb1
xorg.libX11
xorg.libXext
magic-enum
libgbm
pipewire
pugixml
qt6.qtbase
qt6.qtdeclarative
qt6.qtmultimedia
qt6.qttools
qt6.qtwayland
rapidjson
renderdoc
robin-map
sdl3
sndio
stb
toml11
vulkan-headers
vulkan-loader
vulkan-memory-allocator
xbyak
xxHash
zlib-ng
zydis
];
nativeBuildInputs = [
cmake
pkg-config
qt6.wrapQtAppsHook
];
cmakeFlags = [
(lib.cmakeBool "ENABLE_QT_GUI" true)
(lib.cmakeBool "ENABLE_UPDATER" false)
];
# Still in development, help with debugging
cmakeBuildType = "RelWithDebugInfo";
dontStrip = true;
installPhase = ''
runHook preInstall
install -D -t $out/bin shadps4
install -Dm644 $src/.github/shadps4.png $out/share/icons/hicolor/512x512/apps/net.shadps4.shadPS4.png
install -Dm644 -t $out/share/applications $src/dist/net.shadps4.shadPS4.desktop
install -Dm644 -t $out/share/metainfo $src/dist/net.shadps4.shadPS4.metainfo.xml
runHook postInstall
'';
runtimeDependencies = [
vulkan-loader
xorg.libXi
];
passthru = {
tests.openorbis-example = nixosTests.shadps4;
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"v\\.(.*)"
];
};
};
meta = {
description = "Early in development PS4 emulator";
homepage = "https://github.com/shadps4-emu/shadPS4";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [
ryand56
liberodark
];
mainProgram = "shadps4";
platforms = lib.intersectLists lib.platforms.linux lib.platforms.x86_64;
};
})