mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-02 11:03:34 -06:00
Formatting. Pulled cmakeFlags to top and added releaseWithDebugInfo Removed LD_LIBRARY_PATH from devshell. .
156 lines
3.5 KiB
Nix
156 lines
3.5 KiB
Nix
## SPDX-FileCopyrightText: Copyright 2026 shadPS4 Emulator Project
|
|
## SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
{
|
|
description = "shadPS4 Nix Flake";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
|
};
|
|
|
|
outputs =
|
|
{ self, nixpkgs }:
|
|
let
|
|
pkgsLinux = nixpkgs.legacyPackages.x86_64-linux;
|
|
in
|
|
{
|
|
devShells.x86_64-linux.default = pkgsLinux.mkShell.override { stdenv = pkgsLinux.clangStdenv; } {
|
|
packages = with pkgsLinux; [
|
|
clang-tools
|
|
cmake
|
|
pkg-config
|
|
vulkan-tools
|
|
|
|
renderdoc
|
|
gef
|
|
strace
|
|
|
|
openal
|
|
zlib.dev
|
|
libedit.dev
|
|
vulkan-headers
|
|
vulkan-utility-libraries
|
|
ffmpeg.dev
|
|
fmt.dev
|
|
glslang.dev
|
|
wayland.dev
|
|
stb
|
|
libpng.dev
|
|
libuuid
|
|
|
|
sdl3.dev
|
|
alsa-lib
|
|
hidapi
|
|
ibus.dev
|
|
jack2.dev
|
|
libdecor.dev
|
|
libthai.dev
|
|
fribidi.dev
|
|
libxcb.dev
|
|
libGL.dev
|
|
libpulseaudio.dev
|
|
libusb1.dev
|
|
libx11.dev
|
|
libxcursor.dev
|
|
libxext
|
|
libxfixes.dev
|
|
libxi.dev
|
|
libxinerama.dev
|
|
libxkbcommon
|
|
libxrandr.dev
|
|
libxrender.dev
|
|
libxtst
|
|
pipewire.dev
|
|
libxscrnsaver
|
|
sndio
|
|
];
|
|
shellHook = ''
|
|
echo "Entering shadPS4 development shell!"
|
|
'';
|
|
};
|
|
|
|
linux =
|
|
let
|
|
execName = "shadps4";
|
|
nativeInputs = with pkgsLinux; [
|
|
cmake
|
|
ninja
|
|
pkg-config
|
|
magic-enum
|
|
fmt
|
|
eudev
|
|
];
|
|
buildInputs = with pkgsLinux; [
|
|
boost
|
|
cli11
|
|
openal
|
|
nlohmann_json
|
|
vulkan-loader
|
|
vulkan-headers
|
|
vulkan-memory-allocator
|
|
toml11
|
|
zlib
|
|
zydis
|
|
pugixml
|
|
ffmpeg
|
|
libpulseaudio
|
|
pipewire
|
|
vulkan-loader
|
|
wayland
|
|
wayland-scanner
|
|
libX11
|
|
libxrandr
|
|
libxext
|
|
libxcursor
|
|
libxi
|
|
libxscrnsaver
|
|
libxtst
|
|
libxcb
|
|
libdecor
|
|
libxkbcommon
|
|
libGL
|
|
libuuid
|
|
];
|
|
|
|
cmakeFlags = [
|
|
"-DCMAKE_BUILD_TYPE=Debug"
|
|
"-DCMAKE_INSTALL_PREFIX=$out"
|
|
];
|
|
in
|
|
{
|
|
debug = pkgsLinux.stdenv.mkDerivation {
|
|
pname = "${execName}";
|
|
version = "git";
|
|
system = "x86_64-linux";
|
|
src = ./.;
|
|
dontStrip = true;
|
|
|
|
nativeBuildInputs = nativeInputs;
|
|
buildInputs = buildInputs;
|
|
cmakeFlags = cmakeFlags;
|
|
};
|
|
release = pkgsLinux.stdenv.mkDerivation {
|
|
pname = "${execName}";
|
|
version = "git";
|
|
system = "x86_64-linux";
|
|
src = ./.;
|
|
|
|
nativeBuildInputs = nativeInputs;
|
|
buildInputs = buildInputs;
|
|
cmakeFlags = cmakeFlags;
|
|
};
|
|
releaseWithDebugInfo = pkgsLinux.stdenv.mkDerivation {
|
|
pname = "${execName}";
|
|
version = "git";
|
|
system = "x86_64-linux";
|
|
src = ./.;
|
|
dontStrip = true;
|
|
|
|
nativeBuildInputs = nativeInputs;
|
|
buildInputs = buildInputs;
|
|
cmakeFlags = cmakeFlags;
|
|
};
|
|
};
|
|
};
|
|
}
|